CS 5010 is the introductory course for students in the MS program. The course has two distinct objectives. First, it ensures all MS students have developed basic skills in program design, from problem analysis to developing test suites, using several program design paradigms. Second, the course introduces students to programming as a people discipline. Students will work in pairs, present code to review panels, and learn to cope with an evolving code base.
Programming takes time, and it usually takes more time than you think. Most students who have taken the course report spending an average of about 20 hours per week on the programming assignments. Please take that into account when organizing your time.
Before the first meeting of your section, you should do everything listed in the pre-semester checklist, including Problem Set 00.
Syllabus:
Module | Monday | Topic | Problem Set | Notes |
---|---|---|---|---|
00 | 9 Jan | How to Learn in This Course | 00 | |
01 | 16 Jan | Function Design Recipe, Part 1 | 01 |
Monday holiday, makeup Tuesday night |
02 | 23 Jan | Function Design Recipe, Part 2 | 02 | |
03 | 30 Jan | System Design Recipe | 03 | |
04 | 6 Feb | Computing with Lists | 04 | |
05 | 13 Feb | Generalizing Similar Functions | 05 | |
06 | 20 Feb | Trees and Graphs | 06 |
Monday holiday, makeup Tuesday night |
07 | 27 Feb | Contexts and Invariants | 07 | |
6 Mar | (no classes) | spring break | ||
08 | 13 Mar | General Recursion and Efficiency | 08 | |
09 | 20 Mar | Interfaces and Classes | 09 | |
10 | 27 Mar | Inheritance | 10 | |
11 | 3 Apr | Objects with Mutable State | 11 | |
12 | 10 Apr | Efficiency, Part 2 | 12 | |
13 | 17 Apr | Additional Topics |
Monday holiday, makeup Tuesday night |
Most of the online materials at this web site were developed by Professor Mitch Wand and other NU faculty, including the instructor and other course staff, and are used here with some changes as permitted by a Creative Commons License.