CS 16: Problem Solving with Computers I, Fall ā18, Nichols
Lecture Notes and Slides:
lecture date |
notes |
ready? |
description |
slides |
2018-09-27 |
lect01 |
true |
Course overview, a gentle intro to C++ - Standard I/O |
pdf |
2018-10-02 |
lect02 |
true |
Control Structures, I/O in programs |
pdf |
2018-10-04 |
lect03 |
true |
Loops (for, while, do-while), doubles |
pdf |
2018-10-09 |
lect04 |
true |
Functions |
pdf |
2018-10-11 |
lect05 |
true |
TDD |
pdf |
2018-10-16 |
lect06 |
true |
File IO |
pdf |
2018-10-18 |
lect07 |
true |
Program compilation, Makefiles, Data representation |
pdf |
2018-10-23 |
lect08 |
true |
Arrays |
pdf |
2018-10-30 |
lect09 |
true |
Pointers |
pdf |
2018-11-01 |
lect10 |
true |
Defining your own data types |
pdf |
2018-11-06 |
lect11 |
true |
The good, bad and ugly about pointers, C++ Memory Model, Dynamic memory allocation (Heap), Heap vs Stack |
pdf |
2018-11-08 |
lect12 |
true |
Linked lists, Dynamic memory allocation (Heap), Heap vs Stack |
pdf |
2018-11-13 |
lect13 |
true |
More Linked lists, Midterm Review |
pdf |
2018-11-20 |
lect14 |
true |
Recursion |
pdf |
2018-11-27 |
lect15 |
true |
Recursion and Strings |
pdf |
2018-11-29 |
lect16 |
true |
Recursion wrap up |
pdf |
2018-12-04 |
lect17 |
true |
Wrap up and final review |
pdf |
2018-12-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++ |
Thu 09/27 09:00AM |
Fri 10/05 11:59PM |
h02 |
true |
Chapter 2: Variables and assignments, Input/output, Data types and expressions, Simple flow control |
Fri 10/05 09:00AM |
Fri 10/12 11:59PM |
h03 |
true |
Chapter 3: Boolean expressions, multiway branches, more loops |
Fri 10/12 09:00AM |
Fri 10/19 11:59PM |
h04 |
true |
Chapter 4: Predefined and programmer defined functions |
Fri 10/19 09:00AM |
Sun 10/28 11:59PM |
h05 |
true |
Chapter 5: Call by value and call by reference |
Fri 10/26 09:00AM |
Fri 11/02 11:59PM |
h06 |
true |
Chapter 7 and 10: Pointers |
Fri 11/02 09:00AM |
Fri 11/09 11:59PM |
h07 |
true |
Chapter 6: File IO, Chapter 9: Dynamic memory allocation |
Fri 11/09 09:00AM |
Sun 11/18 11:59PM |
h08 |
true |
Chapter 13 Linked lists |
Fri 11/16 09:00AM |
Tue 11/27 11:59PM |
h09 |
true |
Chapter 14: Recursion |
Fri 11/23 09:00AM |
Fri 12/07 11:59PM |
h10 |
true |
Chapter 8: Strings |
Fri 11/23 09:00AM |
Fri 12/07 11:59PM |
Labs:
num |
ready? |
description |
assigned |
due |
lab00 |
true |
Getting started |
Wed 10/03 09:00AM |
Tue 10/09 11:59PM |
lab01 |
true |
Crunching numbers: Loops and functions |
Wed 10/10 09:00AM |
Tue 10/16 11:59PM |
lab02 |
true |
ASCII Art: Logical operators, integrating github into your workflow |
Wed 10/17 09:00AM |
Tue 10/23 11:59PM |
lab03 |
true |
Counting ducks: File I/O and flow control |
Wed 10/24 09:00AM |
Tue 10/30 11:59PM |
lab04 |
true |
Odds and primes: Fun with arrays and makefiles |
Wed 10/31 09:00AM |
Tue 11/06 11:59PM |
lab05 |
true |
Fun with shapes: Pointers |
Wed 11/07 09:00AM |
Tue 11/13 11:59PM |
lab06 |
true |
Advanced array lists and dynamic arrays |
Wed 11/14 09:00AM |
Tue 11/20 11:59PM |
lab07 |
true |
Linked lists |
Wed 11/21 09:00AM |
Thu 11/29 11:59PM |
lab08 |
true |
Anagrams, palindromes: Strings and recursion |
Wed 11/28 09:00AM |
Fri 12/07 11:59PM |
Exams
num |
ready? |
description |
exam date |
e01 |
true |
Midterm exam - I |
Thu 10/25 02:00PM |
e02 |
true |
Midterm exam - II |
Thu 11/15 02:00PM |
e03 (4pm - 7pm) |
true |
Final Exam |
Tue 12/11 04: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 :)