CS 5010 is the introductory course for students in the MSCS 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 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.
This website is for students in Boston and Silicon Valley; students in Seattle should consult their instructor for the relevant website.
Before the first meeting of your section, you should do everything listed in the pre-semester checklist, including Problem Set 00.
Class meetings for CS 5010 begin on Tuesday, September 12, and Wednesday, September 13. There are no class meetings for CS 5011. Do not go to the classroom listed by the Registrar.
Syllabus:
Module | Monday | Topic | Problem Set | Notes |
---|---|---|---|---|
00 | 4 Sep | How to Learn in This Course | 00 | No class meetings for 5010/5011 this week. |
01 | 11 Sep | The Function Design Recipe, Part I | 01 | |
02 | 18 Sep | The Function Design Recipe, Part II | 02 | |
03 | 25 Sep | Designing Sets of Functions | 03 | |
04 | 2 Oct | Computing with Lists | 04 | |
05 | 9 Oct | Computing with Trees | 05 | |
06 | 16 Oct | Computing with Higher-Order Functions | 06 | |
07 | 23 Oct | Designing with Invariants | 07 | |
08 | 30 Oct | General Recursion and Efficiency | 08 | |
09 | 6 Nov | Defining OO Data with Interfaces and Classes, Part I | 09 | |
10 | 13 Nov | Interfaces and Classes II | 10 | |
20 Nov | Thanksgiving Break | no lecture or codewalk | ||
11 | 27 Nov | Sharing Implementations using Inheritance | 11 (Last Problem Set) | |
12 | 4 Dec |
Special Bonus Content (come and see!) |
Last week of class; final codewalks |
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.