Skip to main content

CS 2100: Program Design and Implementation I

Builds on prior introductory programming experience (from inside or outside Northeastern University) to examine the fundamentals of program design and implementation. Studies design of data- and object-oriented programs including common patterns; use of data structures; and underlying principles such as abstraction, encapsulation, inheritance, and interfaces. Introduces common software engineering practices such as unit tests, version control, development environments, and good programming habits. Students practice using these design principles by writing medium-sized applications and using data science libraries. Covers skills needed to identify and respond to ethical challenges that arise in the program design process.
Draft Content
This content is a work in progress.

Schedule

WeekMondayTuesdayWednesdayThursday
1Jan 5(No class)Jan 6(No class)Jan 7Jan 8
2Jan 12Jan 13
🔬 Due: Lab 0: Setup
This repository is for viewing only. Do not work on the assignment using this repository -- the actual course assignments will be provided to you via Pawtograder.
Jan 14Jan 15
3Jan 19(No class)Jan 20
🔬 Due: Lab 1: HW1 Prep and Ethics
This repository is for viewing only. Do not work on the assignment using this repository -- the actual course assignments will be provided to you via Pawtograder.
Last day of add/drop period: January 20, 2026
Jan 21
📚 Due: HW1: Algorithms as Decision Makers
This repository is for viewing only. Do not work on the assignment using this repository -- the actual course assignments will be provided to you via Pawtograder.
Jan 22
4Jan 26Jan 27
👥 Due: Codewalk 1: HW1
Jan 28Jan 29
5Feb 2Feb 3
🔬 Due: Lab 2: HW2 Prep and Ethics
This repository is for viewing only. Do not work on the assignment using this repository -- the actual course assignments will be provided to you via Pawtograder.
Feb 4
📚 Due: HW2: 311 Service Request Data Loader
This repository is for viewing only. Do not work on the assignment using this repository -- the actual course assignments will be provided to you via Pawtograder.
Feb 5
6Feb 9Feb 10Feb 11Feb 12
7Feb 16(No class)Feb 17
🔬 Due: Lab 3: HW3 Prep and Ethics
This repository is for viewing only. Do not work on the assignment using this repository -- the actual course assignments will be provided to you via Pawtograder.
Feb 18
📚 Due: HW3: 311 Service Request Sorting and Analysis
This repository is for viewing only. Do not work on the assignment using this repository -- the actual course assignments will be provided to you via Pawtograder.
Feb 19
8Feb 23Feb 24
🔬 Due: Lab 4: HW4 Prep and Ethics
This repository is for viewing only. Do not work on the assignment using this repository -- the actual course assignments will be provided to you via Pawtograder.
Feb 25
📚 Due: HW4: News API
This repository is for viewing only. Do not work on the assignment using this repository -- the actual course assignments will be provided to you via Pawtograder.
Feb 26
👥 Due: Codewalk 2: HW2 or HW3
9Mar 2(No class)Mar 3(No class)Mar 4(No class)Mar 5(No class)
10Mar 9Mar 10Mar 11Mar 12
11Mar 16Mar 17
🔬 Due: Lab 5: HW5 Prep and Ethics
This repository is for viewing only. Do not work on the assignment using this repository -- the actual course assignments will be provided to you via Pawtograder.
Mar 18
📚 Due: HW5: Fingerprint login
This repository is for viewing only. Do not work on the assignment using this repository -- the actual course assignments will be provided to you via Pawtograder.
Mar 19
12Mar 23Mar 24
🔬 Due: Lab 6: HW6 Prep and Ethics
This repository is for viewing only. Do not work on the assignment using this repository -- the actual course assignments will be provided to you via Pawtograder.
Mar 25
📚 Due: HW6: FeedCurator
This repository is for viewing only. Do not work on the assignment using this repository -- the actual course assignments will be provided to you via Pawtograder.
Mar 26
13Mar 30Mar 31
🔬 Due: Lab 7: HW7 Prep and Ethics
This repository is for viewing only. Do not work on the assignment using this repository -- the actual course assignments will be provided to you via Pawtograder.
Apr 1
📚 Due: HW7: Wikipedia Parser
This repository is for viewing only. Do not work on the assignment using this repository -- the actual course assignments will be provided to you via Pawtograder.
Apr 2
14Apr 6Apr 7
👥 Due: Codewalk 3: HW4, HW5, HW6, or HW7
Apr 8Apr 9
15Apr 13Apr 14
🔬 Due: Lab 8: HW8 Prep and Ethics
This repository is for viewing only. Do not work on the assignment using this repository -- the actual course assignments will be provided to you via Pawtograder.
Apr 15
📚 Due: HW8: Public Transportation Map
This repository is for viewing only. Do not work on the assignment using this repository -- the actual course assignments will be provided to you via Pawtograder.
Apr 16
16Final Exam (date/time TBD)

Lectures

Topics
Topics