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 Before Class Participation Activities During/After Class Challenge Activities Online Lectures
Aug. 23 Unix, vi, files and compiling 8.3-8.6, 9.20 All participation activities in 8.3-8.6 and 9.20 None Lecture
Aug. 28 Ch 16.1-16.3, 16.6 All participation activities in 16.1-16.3 and 16.6 All challenge activities in 16.3 Lecture
Aug. 30 String and Vector Basics Ch 9.15, 12.1-12.11 All participation activities in 9.15, 12.1-12.4, 12.6-12.7, 12.11 All participation activities in 12.9 and 12.10, all challenge activities in 12.8 Lecture
Sept. 4 Ch 22.15-22.16, 16.4, 16.7 All participation activities in 16.4, 16.7, 22.15-22.16 All challenge activities in 16.4 Lecture
Sept. 6 Vectors of Vectors Ch 12.12 (The chapter talks about 2D arrays which are quite similar to vectors of vectors) All participation activities in 12.12 12.12 Lecture
Sept. 11 Ch 13.1-13.13 (required), Ch 12.13-12.15 (optional but helpful to your knowledge of strings) All participation activities in 13.1-13.3, 13.5-13.8 All participation activities in 13.9, 13.11, and 13.13. All challenge activities in 13.9 Lecture
Sept. 13, 18 The roster.cpp example: Classes, multiple files, constructors, new, HTML, randomizing an array.
  • Sept. 13
    1. Ch 14.1-14.6 (Classes),
    2. Ch 16.5 (File Input/Output),
    3. Ch 13.15-13.16, 14.16, 22.18 (Header Files/Multiple Files)
  • Sept. 18
    1. Ch 14.7-14.11 (Classes and Constructors)
    2. Ch 9.19 (Random Numbers)
    3. Ch 22.19 (Makefiles)
  • Sept. 13: All participation activities in 14.1-14.3, 14.5-14.6, 14.16, 13.15-13.16, 16.5, 22.18
  • Sept. 18: all participation activities in 14.7-14.11, 9.19 and 22.19
Sept. 13: Challenge activity in 14.6
Sept. 18: Challenge activities in 14.8 and 14.11
Sept. 20, 25 Hashing
Pseudo-code for Separate Chaining
  • Ch 9.11, 9.13, 9.16, 9.18
  • Ch 3.1-3.5, 3.7 (Hashing--ignore 3.6 since we will use the hash functions defined in the Hashing lecture notes)
  • Sept 20: All participation activities in 9.11, 9.13, 9.16, 9.18, 3.1 and 3.2
  • Sept 25: All participation activities in 3.3, 3.4, 3.5, and 3.7
Sept 20: All challenge activities for 9.11
Sept 25: No after class activties
Sept 27Midterm 1
Oct 2, 9 Pointers, and setting up data structures that share data using pointers Oct 2: Ch 15.1-15.3, 15.6-15.8
Oct 9: 15.5, 15.9-15.12
  • Oct 2: All participation activities in 15.1-15.3, 15.6-15.8
  • Oct 9: All participation activities in 15.5, 15.9-15.12
Oct 2: All challenge activities in 15.3
Oct 9: All challenge activities in 15.9, 15.10, 15.11
1) Oct 2 Lecture
2) Oct 9 Lecture
Oct 11, 16 Lists, Iterators, Bad Vector Usage, Deques Oct 11: Ch 14.13-14.14, 21.2, Ch 2.1
Oct 16: 21.6-21.7, 2.14
  • Oct 11: all participation activities in 14.13-14.14, 21.2, 2.1
  • Oct 16: all participation activities in 21.6-21.7 and 2.14
Oct 11: No after class activity
Oct 16: Code Assessor: List Practice (Located on cs102dev in the CS140 category)
Oct 11 Lecture
Oct 16 Lecture
Oct 18 All participation activities in 1.3 and 21.3-21.5 zyDE exercises in 21.4 and 21.5 Lecture
Oct 23 --- --- CS140Sp15-Mid2-Vote problem on Code Assessor (cs102dev). Go to the CS140 category. Lecture
Oct 25-No class because of engineering day but watch this lecture Linked Data Structures: Stacks, Queues and Doubly Linked Lists Ch. 2.1-2.4, 2.12-2.15 All participatory activities in 2.2-2.4 and 2.12-2.15 None Lecture (start at 7:15)
Oct 30 Linked Data Structures: Stacks, Queues and Doubly Linked Lists (continued) Ch. 2.5-2.11 all participatory activities in 2.5-2.11 Best Lastname problem on Code Assessor (cs102dev). Go to the CS140 category. Lecture
Nov 1Midterm 2
Nov 6 Recursion Ch 18.1-18.3 all participatory activities in 18.1-18.3 all challenge activities in 18.1-18.3 Lecture
Nov 8 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
Nov 13, 15 The basics of Trees, and basic Binary Search Trees Nov 13:Ch 4.1-4.4
Nov 15:Ch 4.5-4.8
  • Nov 13: all participatory activities in 4.1-4.4
  • Nov 15: all participatory activities in 4.5-4.8
Nov 13: "Tree Height" problem on cs102dev.eecs.utk.edu (Go to the CS140 category).
Nov 15: "Tree Find" problem on cs102dev.eecs.utk.edu (Go to the CS140 category).
Lecture Nov 13
Lecture 11/15
Nov 20, 27, 29 Nov 20: Ch 5.1-5.2
Nov 27/29: Ch 5.3-5.4
  • Nov 20: all participatory activities in 5.1-5.2
  • Nov 27: all participatory activities in 5.3-5.4
Nov 20: Quiz on Canvas in During/After Class Activities
Nov 27: None
Nov 29: Quiz on Canvas in During/After Class Activities
Lecture Nov 20
Lecture Nov 27
Lecture Nov 29
Dec 4 Algorithm Analysis (Uses Sorting as an Example) Ch. 1.3-1.8 All participation activities in 1.4-1.8 None Lecture