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