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 |