CS 16: Problem Solving with Computers I, Summer ’17
Course Information
Lecture Notes and Slides:
lecture date | notes | ready? | description | slides |
---|---|---|---|---|
2017-06-27 | lect01 | true | Course overview, Intro to C++ - Standard I/O | |
2017-06-29 | lect02 | true | If/Else, Loops, Functions, Testing | |
2017-07-06 | lect03 | true | Loops, functions, precedence, strings, git | |
2017-07-11 | lect04 | true | Files, Makefiles | |
2017-07-13 | lect05 | true | Data Representation | |
2017-07-18 | lect06 | true | Arrays, Pointers | |
2017-07-25 | lect07 | true | References, Pointers, Structs | |
2017-07-27 | lect08 | true | Pointers, Arrays, Pointer Arithmetic | |
2017-08-01 | lect09 | true | Dynamic Memory Allocation, Linked Lists | |
2017-08-03 | lect10 | true | More Linked Lists, Dynamic Memory Issues | |
2017-08-08 | lect11 | true | C Strings, C++ Strings | |
2017-08-15 | lect12 | true | Intro to Recursion | |
2017-08-17 | lect13 | true | More Recursion | |
2017-08-22 | lect14 | true | Wrap up: a little more recursion, and tying up any loose ends | |
2017-08-24 | lect15 | true | Final review | |
2017-08-29 | lect16 | true | More Review, Q/A Session |
Homework:
num | ready? | description | assigned | due |
---|---|---|---|---|
h01 | true | Chapter 1: Computer systems, introduction to C++ | Tue 06/27 02:00PM | Thu 07/06 02:00PM |
h02 | true | Chapter 2: Variables and assignments, input and output | Tue 06/27 02:00PM | Thu 07/06 02:00PM |
h03 | true | Chapter 2: Data types and expressions, Simple flow control | Tue 07/04 02:00PM | Tue 07/11 02:00PM |
h04 | true | Chapter 3: Boolean expressions, multiway branches, more loops | Tue 07/04 02:00PM | Tue 07/11 02:00PM |
h05 | true | Chapter 3: Loops | Tue 07/11 02:00PM | Tue 07/18 02:00PM |
h06 | true | Chapter 4: Predefined and programmer defined functions | Tue 07/11 02:00PM | Tue 07/18 02:00PM |
h07 | true | Chapter 6: File IO | Tue 07/18 02:00PM | Tue 07/25 02:00PM |
h08 | true | Chapter 7: Arrays and Chapter 9 Pointers | Tue 07/25 02:00PM | Tue 08/01 02:00PM |
h09 | true | Chapter 5: Call by value and call by reference | Tue 07/25 02:00PM | Tue 08/01 02:00PM |
h10 | true | Chapter 10: Pointers | Tue 08/01 02:00PM | Tue 08/08 02:00PM |
h11 | true | Chapter 9: Dynamic memory allocation and dynamic arrays), Chapter 13: Linked-lists | Tue 08/08 02:00PM | Thu 08/17 02:00PM |
h12 | true | Chapter 13 Linked-lists contd. | Tue 08/08 02:00PM | Thu 08/17 02:00PM |
h13 | true | Chapter 8: Strings | Tue 08/15 02:00PM | Tue 08/29 02:00PM |
h14 | true | Chapter 14: Recursion | Tue 08/15 02:00PM | Tue 08/29 02:00PM |
Labs:
num | ready? | description | assigned | due |
---|---|---|---|---|
lab00 | true | Getting started with C++ functions and github's web interface | Mon 06/26 09:00AM | Mon 07/03 11:59PM |
lab01 | true | Crunching numbers: Loops and functions | Mon 07/03 09:00AM | Mon 07/10 11:59PM |
lab02 | true | ASCII Art: Logical operators, integrating github into your workflow | Mon 07/10 09:00AM | Mon 07/17 11:59PM |
lab03 | true | Counting ducks: File I/O and flow control | Mon 07/17 09:00AM | Mon 07/24 11:59PM |
lab04 | true | Odds and primes: Fun with arrays and makefiles | Mon 07/24 09:00AM | Mon 07/31 11:59PM |
lab05 | true | Fun with shapes: Pointers | Mon 07/31 09:00AM | Mon 08/07 11:59PM |
lab06 | true | Linked lists and array lists | Mon 08/07 09:00AM | Mon 08/14 11:59PM |
lab07 | true | Advanced arrays and linked lists | Mon 08/14 09:00AM | Wed 08/23 11:59PM |
lab08 | true | Anagrams, palindromes: Strings and recursion | Mon 08/21 09:00AM | Tue 08/29 11:59PM |
Exams:
Exam Schedule:
- Midterm 1: Thursday, July 20
- Midterm 2: Thursday, August 10
- Final: Thursday, August 31