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.
Lectures
Topics
Topics
Topics
Topics
Topics
Topics
- Brief intro to generative AI
- Where do programmers code with AI?
- Common concerns
- Each task in the PDI process can use AI in some way:
- Research shows this is the standard workflow with AI that software developers are trending towards:
- Why we discourage vibe coding in the PDI sequence:
- Common uses for the web interface
- Common uses for Cursor / Windsurf / Github Copilot IDE plugin
- Common uses for Claude Code in the terminal
Topics