How to Code: Systematic Program Design | UBCx on edX | About this course


GREGOR KICZALES: It’s easy to see why
so many people want to learn to program. Computers are everywhere in our lives,
and programs are the instructions that make computers work. So learning to program, it’s
like your ticket into that game. But it’s one thing to learn to program. It’s another thing to
learn to program well, to write programs that tell a
clear story about what they do. We call those programs
elegant, and it’s important, because it’s easier to be sure
elegant programs work properly. And you can expect that producing
better programs gets you better jobs. Here’s the Sudoku program written by
Peter Norvig, director of research at Google. What makes it good are things that you
will learn how to do in this course. It has a clear description of how
information is represented as data, it is well tested, each part of the
program is focused on a single task, and regular structure and
patterns are used throughout. Of course, you can’t become a
world class programmer overnight, but this course will get you started
on being a really good programmer. At the end of part 3, you’ll
write your own Sudoku program, and it’ll be beautiful code. And you’ll be able to do that
reliably for similar-sized problems, and everything you
will have learned will be applicable to larger programs
you may write in the future. That’s why even though this
course is for beginners, many experienced programmers
take it, and they tell us that it makes them better programmers. I hope you’ll join us for this course. If you’re going to learn
to program, I think it’ll be worth your time
to learn to do it well.

4 thoughts on “How to Code: Systematic Program Design | UBCx on edX | About this course

  1. taking your course thanks so much for it, but i'm getting stuck on the problem questions in 1b. In your video you say that i should try and do them without looking at the solution and i agree with you but i'm still finding it so difficult to actually pull the necessary info from the problem and insert into the htdf. I get the steps no problem, but actually translating from the design function is driving me crazy 🙂 thanks for the course though.

Leave a Reply

Your email address will not be published. Required fields are marked *