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