Computer science fundamentals, with programming in C++. Build a statistical analysis tool, an image processing program, a Euchre card game, a machine learning algorithm, and a text editor. Analyze and implement foundational data structures. Syllabus
If there's something not on these forms, you can reach us at [email protected].
| Day | Lecture | Lab | Deadline |
|---|---|---|---|
|
Week 1 Jan 7 - 9 |
01 Introduction to C++ |
No lab | |
|
Week 2 Jan 12 - 16 |
02 Types and Control Structures 03 Procedural Abstraction and Modularization |
01 Intro. to Lab, C++ Fundamentals and Pragmatics | |
|
Week 3 Jan 19 - 23 |
No lecture - MLK Day 04 Machine Model, Part 1 |
02 Debugger Setup, Assertions and UTF/UB Tutorials |
Project 1 Fri 8pm |
|
Week 4 Jan 26 - 30 |
05 Machine Model, Part 2 06 const, Structs, and C-Style ADTs |
03 Machine Model, Pointers/References, Call Stack | Entry Survey Fri 8pm |
|
Week 5 Feb 2 - 6 |
07 Streams and I/O 08 Abstract Data Types in C++ |
04 Structs and Streams | Project 2 Fri 8pm |
|
Week 6 Feb 9 - 13 |
09 Derived Classes and Inheritance 10 Polymorphism |
05 Classes, ADTs and Mini-Project | |
|
Week 7 Feb 16 - 20 |
11 Arrays, Pointer Arithmetic, C-Style Strings 12 Array-Based Data Structures, Time Complexity |
06 Inheritance, Polymorphism and Mini-project Driver | Project 3 Checkpoint Thu 8pm |
|
Week 8 Feb 23 - 27 |
13 Sorted Data Structures, Templates 14 Containers and Iterators |
07 Array-Based Data Structures | Project 3 Thu 8pm |
| Mar 2 - 6 |
Spring Break |
||
|
Week 9 Mar 9 - 13 |
No lecture No lecture |
No lab |
Midterm Wed Mar 11 7pm Alternate Thu Mar 12 7pm |
|
Week 10 Mar 16 - 20 |
15 Memory Models and Dynamic Memory 16 Managing Dynamic Memory |
08 Containers and Using Iterators | Withdraw deadline Fri Mar 20 |
|
Week 11 Mar 23 - 27 |
17 Deep Copies and The Big Three 18 Linked Lists |
09 Dynamic Memory and the Big Three | Project 4 Fri 8pm |
|
Week 12 Mar 30 - Apr 3 |
19 Iterators 20 Functors and Impostor Syndrome |
10 Linked Lists | |
|
Week 13 Apr 6 - 10 |
21 Recursion and Tail Recursion 22 Structural Recursion |
11 Iterators and Linear Recursion | Project 5 Fri 8pm |
|
Week 14 Apr 13 - 17 |
23 Binary Search trees, Sets, and Maps 24 Error Handling and Exceptions |
12 Functors and Non-linear Recursion | |
|
Week 15 Apr 20 - 21 |
TBD |
No lab |
Project 6 Tue 8pm Exit Survey Tue 8pm |
| Exam Week |
Final Exam Mon Apr 27 10:30am Alternate Mon Apr 27 1:30pm |
||
Coming soon!