CS 5010 is the mandatory introductory course for students in the MS program. The course has two distinct objectives. First, it will ensure that all MS students have the same background in designing programs. This encompasses the entire design cycle, from problem analysis to the development of test suites. Second, the course will also introduce students to programming as a people discipline. Students will work in pairs, present code to panels, and learn to cope with an evolving code base. The course will require a serious commitment to practical hands-on programming from the student. Students report typical time-on-task as upwards of 20 hours per week.

Important Information

Be sure to sign into the course at the "I Am Here" form.

Instructional Format

This class will use a "flipped-classroom" model, in which online exercises replace most lecture material.


TA Office Hours

Meeting Times

Preparing your laptop

Before classes start, you should prepare your laptop for use in the course. Instructions for doing this are here. Windows, Mac, or Linux laptops are all acceptable. PLEASE HAVE THIS ACCOMPLISHED BEFORE THE FIRST LAB MEETING, AND BRING YOUR LAPTOP TO THE LAB. A laptop is not required for the course, but most students use them.


Syllabus and Problem Sets

Modules run Monday to Sunday. Problem sets are due Monday of the following week. Links to the online materials and the problem set for each module will appear below.

Module Monday Topic Readings Problem Set Notes
0 9/1 How to Learn in This Course No lecture or lab this week
1 9/8 The Design Recipe, Part I HtDP/2e: Prologue and Part I 5010 and 5011 meet as scheduled
2 9/15 The Design Recipe, Part II HtDP/2e: Prologue and Part I Set 01
3 9/22 The Universe Module HtDP/2e: Prologue and Part I Set 02 Codewalks replace 5011 from now on
4 9/29 Computing with Lists HtDP/2e: Part II Set 03
5 10/6 Generalizing Similar Functions HtDP/2e: Part III Set 04
6 10/13 Trees and Other Branching Structures HtDP/2e: Part IV Set 05
7 10/20 Generalizing with Contexts and Invariants HtDP/2e: Part VI Set 06
8 10/27 General Recursion, Part I HtDP/2e: Part V Set 07
9 11/3 General Recursion, Part II HtDP/2e: Part V Set 08
10 11/10 Objects, Classes, and Interfaces No text for remainder of course Set 09 codewalks and T section will meet on Holiday
11 11/17 Objects that Communicate via State   Set 10 PS10 due after Thanksgiving
11/24 Thanksgiving Vacation, no class or codewalk
12 12/1 Generalizing Implementations with Inheritance     Final codewalks 12/2-5

There will not be a final exam in this course, but you must appear for the final codewalks, which will be on December 2-5. Your final codewalk may be as late as Friday, December 5. Please plan your end-of-year travel accordingly.

Problem Sets 01-04 will be done by each student individually. Problem Sets 05-07 will be done with a partner. Problem Sets 08-10 will be done with a different partner. Partners will be assigned by the course staff.

Details on handing in homework, coding standards, etc., are here

Last modified: Wed Nov 19 15:41:46 Eastern Standard Time 2014