CS 16: Problem Solving with Computers I, Spring ’19, Nichols

Lecture Notes and Slides:

lecture date notes ready? description slides
2019-04-02 lect01 true Course overview, a gentle intro to C++ - Standard I/O pdf
2019-04-04 lect02 true Control Structures, I/O in programs pdf
2019-04-09 lect03 true Loops (for, while, do-while), doubles pdf
2019-04-11 lect04 true Functions pdf
2019-04-16 lect05 true Makefiles pdf
2019-04-18 lect06 true Data representation pdf
2019-04-23 lect07 true File I/O pdf
2019-04-30 lect08 true Arrays pdf
2019-05-02 lect09 true Pointers pdf
2019-05-07 lect10 true Defining your own data types pdf
2019-05-09 lect11 true The good, bad and ugly about pointers, C++ Memory Model, Dynamic memory allocation (Heap), Heap vs Stack pdf
2019-05-14 lect12 true Linked lists, Dynamic memory allocation (Heap), Heap vs Stack pdf
2019-05-21 lect13 true Recursion, More Linked lists pdf
2019-05-23 lect14 true Recursion and Strings pdf
2019-05-28 lect15 true Recursion, Strings, Wrap-Up pdf
2019-05-30 lect16 true Wrap up pdf
2019-06-04 lect17 true Wrap up and final review pdf
2019-06-06 lect18 true Wrap up and final review pdf

Homework and quizzes:

num ready? description assigned due
h01 true Chapter 1: Computer systems, introduction to C++ Tue 04/02 09:00AM Sat 04/06 11:59PM
h02 true Chapter 2: Variables and assignments, Input/output, Data types and expressions, Simple flow control Fri 04/05 09:00AM Fri 04/12 11:59PM
h03 true Chapter 3: Boolean expressions, multiway branches, more loops Fri 04/12 09:00AM Fri 04/19 11:59PM
h04 true Chapter 4: Predefined and programmer defined functions Fri 04/19 09:00AM Sun 04/28 11:59PM
h05 true Chapter 5: Call by value and call by reference Fri 04/26 09:00AM Fri 05/03 11:59PM
h06 true Chapter 7 and 10: Pointers Fri 05/03 09:00AM Fri 05/10 11:59PM
h07 true Chapter 6: File IO, Chapter 9: Dynamic memory allocation Fri 05/10 09:00AM Sun 05/19 11:59PM
h08 true Chapter 13 Linked lists Fri 05/17 09:00AM Fri 05/24 11:59PM
h09 true Chapter 14: Recursion Fri 05/24 09:00AM Fri 06/07 11:59PM
h10 true Chapter 8: Strings Fri 05/24 09:00AM Fri 06/07 11:59PM

Labs:

num ready? description assigned due
lab00 true Getting started Wed 04/03 09:00AM Tue 04/09 11:59PM
lab01 true Crunching numbers: Loops and functions Wed 04/10 09:00AM Tue 04/16 11:59PM
lab02 true ASCII Art: Logical operators, integrating github into your workflow Wed 04/17 09:00AM Tue 04/23 11:59PM
lab03 true Counting ducks: File I/O and flow control Wed 04/24 09:00AM Wed 05/01 11:59PM
lab04 true Odds and primes: Fun with arrays and makefiles Wed 05/01 09:00AM Tue 05/07 11:59PM
lab05 true Fun with shapes: Pointers Wed 05/08 09:00AM Tue 05/14 11:59PM
lab06 true Advanced array lists and dynamic arrays Wed 05/15 09:00AM Tue 05/21 11:59PM
lab07 true Linked lists Wed 05/22 09:00AM Tue 05/28 11:59PM
lab08 true Anagrams, palindromes: Strings and recursion Wed 05/29 09:00AM Fri 06/07 11:59PM

Exams

num ready? description exam date
e01 true Midterm exam - I Thu 04/25 12:30PM
e02 true Midterm exam - II Thu 05/16 12:30PM
e03 (12pm - 3pm) true Final Exam Mon 06/10 12:00PM

Most of the materials I’m using this quarter were made by Diba Mirza. Anything good about this class can be attributed to her, and all bad things are totally my fault :)