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. -- one cent from Amazon.

Date Online Notes Textbook Reading Participation Activities Online Lectures
Aug. 18 Unix, vi, files and compiling 1.5-1.6, 2.16 1.5.2, 1.6.2, 1.6.5, 1.6.7, 2.16.1, 2.16.2 Lecture
Aug. 23 Ch 9.1-9.3, 9.6 All participation activities in 9.1-9.3 and 9.6 Lecture
Aug. 25 String and Vector Basics Ch 2.11, 5.1-5.11 5.1.3, 5.1.4, 5.2.4, 5.3.3, 5.4.3, 5.7.1, 5.7.2, 5.11.2 Lecture
Aug. 30 Ch 14.15, 9.4, 9.7 14.15.2, 14.15.4, 9.4.1, 9.7.1 Lecture
Sept. 1 Classes Canceled due to UT Football
Sept. 6 Vectors of Vectors Ch 5.12 (The chapter talks about 2D arrays which are quite similar to vectors of vectors) 5.12.1 Lecture (audio only) and Sp16 Lecture (has video) (start at 30:02)
Sept. 8 Ch 6.1-6.14 (required), Ch 5.13-5.15 (optional) 6.2.2, 6.3.3, 6.4.2, 6.6.2, 6.7.1, 6.7.2, 6.8.2, 6.9.1, 6.9.2, 6.9.5, 6.10.3, 6.12.1 Lecture
Sept. 13, 15 The roster.cpp example: Classes, multiple files, constructors, new, HTML, randomizing an array.
  • Sept 13
    1. Ch 7.1-7.4 (Classes),
    2. Ch 9.5 (File Input/Output),
    3. Ch 6.15-6.16, 7.14, 14.18 (Header Files/Multiple Files)
  • Sept 15
    1. Ch 7.5-7.9 (Classes and Constructors)
    2. Ch 2.15 (Random Numbers)
    3. Ch 14.19 (Makefiles)
  • Sept 13: 7.2.2, 7.2.3, 7.14.1, 9.5.1, 6.15.1, 6.15.2, 6.16.1, 14.18.1-14.18.3
  • Sept 15: 7.5.1, 7.6.1, 7.7.1, 7.7.2, 7.9.1, 2.15.1, 14.19.1
Sept. 20, 22 Hashing
  • Ch 2.14 (Unsigned Integers)
  • Ch 17.1-17.3, 17.5 (Hashing--ignore 17.4 since we will use the hash functions defined in the Hashing lecture notes)
  • Sept 20: All participation activities in 17.1 and 17.2
  • Sept 22: All participation activities in 17.3 and 17.5, 2.14.1
Sept. 27Midterm 1
Sept. 29, Oct. 4 Pointers, and setting up data structures that share data using pointers Ch 8.1-8.3, 8.5-8.12
  • Sept. 29: 8.1.2, 8.1.4, 8.2.2, 8.2.3, 8.3.2, 8.5.2, 8.6.2, 8.7.1
  • Oct. 4: 8.8.2, 8.9.2, 8.10.1, 8.11.2, 8.12.1
1) 9/29 Lecture
2) 10/4 Lecture
Oct 6 Fall Break
Oct 11, 13 Lists, Iterators, Bad Vector Usage, Deques Ch 7.11-7.13, Ch 16.1, 16.10, 16.12
  • Oct. 11: 7.11.2, 7.13.1, 16.1.2, 16.1.3
  • Oct. 13: 16.10.2, 16.10.3, 16.12.2, 16.12.3
Lecture 10/11
Lecture 10/13
Oct 18
  • Wikipedia's Take on Sets and Maps (Optional-The book does not have any material that directly addresses this topic. The lecture notes are the definitive source for this material.)
  • Ch 15.7 (Big-O, Required)
15.7.2, 15.7.3, 15.7.5 Lecture
Oct 20-No class because of Engineering Day but read these notes --- --- Lecture 10/20 (start at 8:30)
Oct 25 Linked Data Structures: Stacks, Queues and Doubly Linked Lists Ch. 16.1-16.4, 16.8-16.9 (only read about forward traversal--ignore reversal traversal) 16.2.2, 16.2.4, 16.3.2, 16.4.2,16.8.2, 16.9.2 Lecture
Oct 27 Linked Data Structures: Stacks, Queues and Doubly Linked Lists (continued) Ch. 16.5-16.13 (read about reversal traversal in 16.8) 16.5.1, 16.5.2, 16.6.2, 16.7.2, 16.8.3, 16.11.2, 16.13.2 Lecture
Nov 1Midterm 2
Nov 3 Recursion Ch 11.1-11.3 11.1.1, 11.2.2, 11.3.3, 11.3.4 Lecture
Nov 8 A Recursive Sudoku Solver Ch 11.4-11.6, 11.8 11.4.1, 11.5.2, 11.6.2, 11.8.2 Lecture
Nov 10, 15 The basics of Trees, and basic Binary Search Trees Ch 18.1-18.7
  • Nov 10: 18.1.2, 18.1.4, 18.2.2, 18.2.4, 18.2.6, 18.3.2
  • Nov 15: 18.4.2, 18.4.3, 18.5.3, 18.6.2, 18.7.2
Nov 10 Lecture
Nov 15 Lecture
Nov 17, 22 Ch 18.8-18.10
  • Nov 17: 18.8.2, 18.9.2, 18.9.4, 18.9.5
  • Nov 22: 18.10.3, 18.10.4, 18.10.5
Lecture 11/17
Lecture 11/22
Nov 29 Big-O Ch. 15.7 Lecture ---
Dec 1 Catch up day