CS140 -- Lecture Notes


For more detailed C++ reference material, see http://www.cppreference.com/ or www.cplusplus.com. These are excellent sources of online reference and tutorial material for C++. If you need a more detailed book than the ebook to help you with C++, try "Teach Yourself C++", 3rd Ed., Herbert Schildt. -- -- less than $10 from Amazon. For learning vi/vim, http://vim-adventures.com/ is a "game" to learn vim.

Date Online Notes Textbook Reading Before Class Participation Activities During/After Class Challenge Activities Online Lectures
Jan. 9 Unix, vi, files and compiling 8.4, 9.20 All participation activities in 8.4 and 9.20 None Lecture
Jan. 14 Ch 16.1-16.2 All participation activities in 16.1-16.2 All challenge activities in 16.2 Lecture
Jan 16 Strings and Vector Basics Ch 9.15, 10.12-10.15, 12.1-12.2, 12.10-12.11, 14.14, 21.1 All participation activities in the assigned reading sections All challenge activities in activities in 10.12-10.15 and 14.14 Lecture
Jan 21 Ch 12.13, 22.15-22.16, 16.3-16.4 All participation activities in the assigned readings All challenge activities in 16.3-16.4 Lecture
Jan 23 Vectors of Vectors and Files Ch 12.12, 16.5-16.8 (Ch 12.12 talks about 2D arrays which are quite similar to vectors of vectors) All participation activities in the assigned readings All challenge activities in 12.12 Lecture
Jan 28 Procedures and Polymorphism Ch 13.6, 13.8-13.13 All participation activities in the assigned readings All challenge activities in 13,8, 13.9, 13.13 Lecture
Jan 30 Random Numbers and Exceptions Ch 9.19 and Ch. 19 All participation activities in the assigned readings All challenge activities in Ch. 9.19 Lecture
Feb. 4 Classes, header/source/object/executable files
  1. Ch 14.1-14.9, 14.11, 14.15, 14.18 (Classes),
  2. Ch 13.15-13.16, 14.17, 22.18 (Header Files/Multiple Files)
  3. Ch 22.19 (Makefiles)
All participation activities in the assigned readings Challenge activity in 14.6, 14.8, and 14.11 Lecture
Feb. 6, 11 Brief introduction to Big O
Hashing
Pseudo-code for Separate Chaining
  • Ch 1.3 (Big-O)
  • Ch 9.11, 9.13, 9.16, 9.18
  • Ch 3.1-3.6 (Hashing--ignore 3.7 since we will use the hash functions defined in the Hashing lecture notes)
  • Feb 6: All participation activities in 1.3, 9.11, 9.13, 9.16, 9.18, 3.1 and 3.2
  • Feb 11: All participation activities in 3.3-3.6
Feb 6: All challenge activities for 9.11
Feb 11: No after class activties
Feb 13, 18 Pointers, and setting up data structures that share data using pointers Feb 13: Ch 15.1-15.3
Feb 18: 15.5-15.7
  • Feb 13: All participation activities in 15.1-15.3
  • Feb 18: All participation activities in 15.5-15.7
Feb 13: All challenge activities in 15.2 and 15.3
Feb 18: All challenge activities in 15.5
1) Feb 13 Lecture
2) Feb 18 Lecture
Feb. 20Midterm 1
Feb. 25 Constructors, Destructors, the Assignment Overload and Exceptions Ch 15.8-15.11 All participation activities in 15.8-15.11, 14.12-14.13 All challenge activities in 15.9-15.11 and 14.12 Lecture (32:30-55:10)
Feb. 27, Mar. 3 Lists, Iterators, Bad Vector Usage, Stacks, Queues, and Deques Feb 27: Ch 2.1, Ch 21.2
Mar 3: Ch 2.15, 2.17, 2.19, Ch 21.6-21.7
  • Feb 27: all participation activities in assigned readings
  • Mar 3: all participation activities in assigned readings
Feb 27: No after class activity
Mar 3: Code Assessor: List Practice (Located on cs102dev in the CS140 category)
Lecture
Mar 5 Sets and Maps All participation activities in the assigned readings
  1. CS140Sp15-Mid2-Vote problem on Code Assessor (cs102dev). Go to the CS140 category.
  2. zyDE exercises in 21.4 and 21.5
Lecture
Mar. 10 Linked Data Structures: Stacks, Queues and Doubly Linked Lists Ch. 2.2-2.4, 2.12-2.14, 2.16, 2.18 All participatory activities in assigned readings None Lecture
Mar. 12 Linked Data Structures (continued): Stacks, Queues and Doubly Linked Lists (continued) Ch. 2.5-2.10 all participatory activities in assigned readings Best Lastname problem on Code Assessor (cs102dev). Go to the CS140 category. Lecture
Mar. 24 Recursion Ch 18.1-18.3 all participatory activities in 18.1-18.3 all challenge activities in 18.1-18.3 Lecture
Mar. 26 A Recursive Sudoku Solver Ch 18.4-18.9 all participatory activities in 18.4-18.9 all challenge activities in 18.4-18.9 Lecture
Apr. 2Midterm 2
Mar. 31, Apr. 7 The basics of Trees, and basic Binary Search Trees Mar 31: Ch 4.1-4.5
Apr 7: Ch 4.6-4.10
  • Mar 31: all participatory activities in 4.1-4.5
  • Apr 7: all participatory activities in 4.5-4.10
Mar 31: bestName Lecture Mar. 31
Lecture Apr 7 (50:30-end) and Lecture (start-26:30)
Apr 9No Class-University Holiday
Apr 14, 16 Apr 14: Ch 5.1-5.2
Apr 16: Ch 5.3-5.4
  • Apr 14: all participatory activities in 5.1-5.2
  • Apr 16: all participatory activities in 5.3-5.4
Apr 14: Quiz on Canvas in During/After Class Activities
Apr 16: None
lecture Apr 14
Lecture Apr 16
Apr 21 Algorithm Analysis (Uses Searching as an Example) Ch. 26.2-26.9 All participation activities in 26.2-26.9 Quiz on Canvas in During/After Class Activities Lecture (start at 13:40)
Apr 23Review for Final Lecture and Midterm 2 Coding Solutions