Weekly Modules
Lectures are being recorded; see side-bar for link. Readings are taken from Problem Solving with C++, 10th ed.
Week 1: Introduction (Sept 4 - 6)
Details...
- Lecture Notes
- Wed, Sept 4th lecture recording (from Zoom) Passcode:
awesome
- 0-Administrative in colour and B&W
- Fri, Sept 6th lecture recording (from Zoom) Passcode:
awesome
- 1-Introduction in colour and B&W
- In class examples
- Wed, Sept 4th lecture recording (from Zoom) Passcode:
- Lab: No lab this week
- Work C++ installed and working! See Resources page for detailed directions for your operating system.
- Assignment 1 - Part 1: posted! Get started now.
- Suggested Readings: Ch1 (not required)
Week 2: Intro C++ & Variables (Sept 9th)
Details...
- Lecture Notes
- For Monday
- #2: Intro to C++
- Slides in colour and B&W
- Videos Part 1 (slides 1-21) (42m, re-used from last year), and Part 2 (slides 22+) (15m).
- #3: Variables
- #2: Intro to C++
- For Friday
- For Monday
- Code from in Lectures
- ABCD Review questions for:
- [New] Examples from live lectures.
- Lab
- Lab 1 instructions for intro C++ using VS Code
- See C++ getting started guides for info on different ways to write C++ code.
- [New] Lab 1 solution.
- Assignment
- Assignment 1 due next week.
- Readings (optional): Ch 2.1-2.3
Week 3: Expressions, If, While (Sept 16th)
Details...
- For Monday
- #5.1: If Statements
- Slides PDF in colour or B&W
- Pre-recorded video(22m) and examples
- In-class
if
exercises
- #5.1: If Statements
- For Wednesday
- Lab 2
- Lab 2 instructions for variables and
if
statements. - [New] Lab 2 solution.
- Lab 2 instructions for variables and
- Assignment
- Assignment 1 due this week.
- Readings: 2.4, 2.5; 3 (some parts)
- Code from in Lectures
- ABCD Review questions for:
- Academic Honesty presentation
- [NEW] Examples from live lectures
Week 4: Functions (Sept 23th)
Details...
- QUIZ WEDNESDAY: In-class, on-paper multiple-choice quiz covering assignment 1 content.
- For Monday
- For Wednesday
- Code from in Lectures
- Lab
- Lab 3 instructions for loops and functions.
- [New] Lab 3 solution.
- Readings: Ch 4.1-4.5, 5.1
Week 5: Random and Functions (Oct 1st)
Details...
- Monday
- No classes: Truth and Reconciliation
- Wednesday
- Friday
- Code from in Lectures
- [NEW] Examples from live lectures
- Lab
- Lab 4 instructions for C++ warnings and making functions.
- Starter code for lab. Download this into your lab folder.
- [New] Lab 4 solution.
- Assignment
- Assignment 2 due this Sunday week.
Week 6: For Loops and Break (Oct 7)
Details...
- #9: For Loops, Break, Continue
- Code from in Lectures
- In class "Solve the Output" exercise (on paper)
- [NEW] Examples from live lectures
- Lab
- Lab 5 instructions
- [New] Lab 5 solution.
- Assignment
- Assignment 3 due next Sunday week.
Week 7: Representation (Oct 14)
Details...
- Classes on TUESDAY, Wednesday, and Friday
- TUESDAY!
- Wednesday
- Continue representation
- 2's Complement: Pre-recorded video(23m)
- Continue representation
- Code from in Lectures
- [NEW] Examples from live lectures
- Lab
- Lab 6 instructions
This lab is a good way to practice creating some functions (for Midterm review). - [New] Lab 6 solution.
- Lab 6 instructions
- Assignment
- Assignment 3 due Sunday.
- Midterm Next Wednesday (in person!);
- Midterm info page for details about exam.
Week 8: Midterm, Data Types, Call Stack (Oct 21)
Details...
- Monday
- Wednesday: Midterm(in person!)
- See midterm info page for details
- Binary representation and new material this week not on exam.
- Friday
- Code from in Lectures
- [NEW] Examples from live lectures
- Lab
- Lab 7 instructions
This lab is a good way to practice passing information between functions (for Midterm review). - Provided
lab7_reVariable.cpp
. - [New] Lab 7 solution.
- Lab 7 instructions
- Assignment
- Assignment 4 posted on Friday
Week 9: Vector (Oct 28)
Details...
- Monday
- Wednesday
- Code from in Lectures
- Lab
- Lab 8 instructions
- [New] Lab 8 solution.
- Assignment
- [REVISED DATE] Assignment 4 due end of next week.
Week 10: Strings, For-Each, Files (Nov 4)
Details...
- Monday
- Wednesday
- Code from in Lectures
- ABCD Review questions for:
- [NEW] Examples from live lectures
- Lab 9
- Lab 9 instructions: Debugging
- Provided Lab 9 Code including
lab9-debugMealCost
,lab9-debugFactorial.cpp
andlab9-debugTestScores.cpp
.
- Provided Lab 9 Code including
- Video showing debugging in VS Code
- [New] Lab 9 solution.
- Lab 9 instructions: Debugging
- Assignment 4
- Assignment 4, due Sunday.
Week 11: Struct, Pointers (Nov 11)
Details...
- Monday
- No class.
- Wednesday
- Friday
- Code from in Lectures
- Readings: Ch 9 Recommended!
- Lab 10
- Project
- Project details on assignments page
Week 12: Arrays, Dynamic Memory, Searching (Nov 18)
- Monday
- #18: Arrays & Dynamic Memory (
new
/delete[]
)- Slides PDF in colour or B&W
- Pre-recorded video on Arrays (17m); and video on Dynamic Memory (21m)
- Examples code for arrays and dynamic memory.
- #18: Arrays & Dynamic Memory (
- Wednesday
- Code from in Lectures
- ABCD Review questions for:
- [NEW] Examples from live lectures
- Readings: Dr. Donaldson’s notes on Arrays and Pointers -- suggested
- Lab
- Lab 11 instructions: Arrays and Pointers
- [New] Lab 11 solution.
- Project
- Project details on assignments page
Week 13: Sorting, Recursion (Nov 25)
- Monday #20: Sorting
- Wednesday
- Code from in Lectures
- Lab
- Lab 12 instructions: Searching & Sorting (with Recursion too)
- Required input files.
- [New] Lab 12 solution.
- Project
- Project details on assignments page
Week 14: Review! (Dec 2)
- Monday: Last day of lectures!
- Quiz
- Review questions
- [NEW] Examples from live lectures
Final Exam
Notes Related Info
- Posted notes are incomplete; watch content videos and attend lectures to fill in the blanks. Come to office hours to fill in missed content. Completed notes will not be published.
Privacy
Lectures will be recorded and made available via the course website. As a result, Simon Fraser University may collect your image, voice, name, personal views and opinions, and course work under the legal authority of the University Act and the Freedom of Information and Protection of Privacy. This information is related directly to and needed by the University to support student learning only (i.e., posting in the Learning Management System for students to review).