This is a course on programming, data structures and algorithms. The learner is assumed to have no prior experience of programming, but is expected to be at the level of a second year undergraduate college student in science or engineering. The course will run over ten weeks with about 2-3 hours of lectures per week.
At the end of each week, the learner is expected to write some programs and submit them for grading. These programming problems are classified as easy, moderate or difficult. The easy problems, typically, are repeats from the lecture. The moderate and difficult ones will require increasing levels of initiative from the learner.
In addition, at the end of each week the learner is expected to answer a set of objective-type assessment questions.