This syllabus provides the official semester course outline and schedule. Brightspace is the primary source
for weekly materials, assigned readings, submission instructions, announcements, and any subsequently
announced changes to the schedule.
Week 1 | Lesson 1
Chapters: 6.4, 6.5, 6.10, 6.11, 6.13–6.16; 7.1–7.2; 8.1–8.9
Introduction and recap; Git and GitHub; functions, arrays, and pointers.
Assignment 1
Week 2 | Lesson 1 Continues
Continue the introductory review and remaining Lesson 1 material.
Week 3 | Lesson 2
Chapters: 6.6, 6.17, 7.10
Function templates and vectors: declaring, initializing, accessing, sizing, and adding values.
Week 4 | Lesson 3
Chapters: 21.1–21.10, 21.13
Strings: creating, comparing, concatenating, measuring, modifying, and converting values.
Assignment 2
Week 5 | Lesson 3 Continues
Group-project discussion, team assignment, and project outline.
Quiz 1
Assignment 3 | Group Project
Week 6 | Lesson 4
Chapters: 3.1–3.7
Introduction to classes: definitions and instantiation, access specifiers, member functions, and data members.
Week 7 | Lesson 5 + Reading Homework
Chapters: 13.1–13.8
In class: Guided coding practice with streams, input/output, and input-state recovery.
Complete at home: Read the Lesson 5 slides and assigned material on formatted and unformatted input/output, bad-input recovery, and failed input states.
Lesson 5 | Read at Home
Week 8 | Lesson 6
Chapter: 21.12
Stringstreams for input/output and string manipulation.
End-of-week release: Midterm review materials will be posted for preparation.
Midterm Review Released
Week 9 | Midterm + Lesson 7
Chapters: 14.1–14.4
Streams and files: sequential text files and CSV files.
Midterm Exam
Midterm Project Submission
Week 10 | Lessons 7 and 8
More on classes: separating interface and implementation, constructors, destructors, composition, and the dot and arrow operators.
Week 11 | Lesson 8 + Capstone Project
Continue Lesson 8 and begin focused capstone group-project work.
Capstone Group Project
Week 12 | Lesson 9
Chapters: 10.1–10.11
Operator overloading: unary and binary operators, including dynamically allocated memory.
Quiz 2
Week 13 | Lesson 10 + Lesson 11 Homework
In class — Lesson 10: Inheritance, base and derived classes, protected access, and guided coding practice.
Chapters: 11.1–11.6
Complete at home — Lesson 11: Read the polymorphism section on virtual and pure virtual functions and abstract classes, then complete the related assignment.
Lesson 11 chapters: 12.1–12.7
Assignment 4 | Lesson 11
Polymorphism | Read at Home
Week 14 | Lesson 10 Continues + Lesson 12 Homework
In class — Lesson 10: Complete the remaining inheritance material and practice coding.
Complete at home — Lesson 12: Study class templates and reusable generic classes using the slides and textbook, then complete the assigned practice.
Lesson 12 chapters: 20.1–20.3
Class Templates | Practice at Home
Week 15 | Lesson 13
Chapters: 17.1–17.5
Exception handling with try, catch, and throw; creating custom exception types.
Final preparation: The final review will be posted this week.
Final Review Posted
Week 16 | Final Review + Final Exam
Monday: Final review Q&A using the review materials posted in Week 15.
Wednesday: Comprehensive final exam.
Final Exam