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
Jan. 11 Unix, vi, files and compiling 10.3-10.6, 11.20 10.3.1, 10.3.4, 10.4.1-10.4.6, 10.4.8, 10.5.3-10.5.7, 10.6.2, 11.20.1, 11.20.2 None Lecture
Jan. 16 Ch 18.1-18.3, 18.6 All participation activities in 18.1-18.3 and 18.6 None Lecture
Jan. 18 String and Vector Basics Ch 11.15, 14.1-14.11 11.15.3, 11.15.8, 14.1.3, 14.1.4, 14.2.4, 14.3.3, 14.4.3, 14.7.2, 14.8.1, 14.9.3, 14.10.1, 14.11.2 11.15.5 Lecture
Jan. 23 Ch 24.15-24.16, 18.4, 18.7 All participation activities in 18.4, 18.7, 24.15-24.16 All challenge activities in 18.4 Lecture
Jan. 25 Vectors of Vectors Ch 14.12 (The chapter talks about 2D arrays which are quite similar to vectors of vectors) All participation activities in 14.12 14.12 Lecture
Jan. 30 Ch 15.1-15.13 (required), Ch 14.13-14.15 (optional but helpful to your knowledge of strings) 15.1.4, 15.1.5, 15.2.4, 15.3.2, 15.3.3, 15.3.6, 15.5.1, 15.5.2, 15.6.1-15.6.3, 15.7.3, 15.8.1, 15.8.2, 15.8.7, 15.9.2, 15.9.3, 15.11.1, 15.13.1 All challenge activities in 15.9 Lecture
Feb. 1, 6 The roster.cpp example: Classes, multiple files, constructors, new, HTML, randomizing an array.
  • Feb 1
    1. Ch 16.1-16.4 (Classes),
    2. Ch 18.5 (File Input/Output),
    3. Ch 15.14-15.15, 16.14, 24.18 (Header Files/Multiple Files)
  • Feb 6
    1. Ch 16.5-16.9 (Classes and Constructors)
    2. Ch 11.19 (Random Numbers)
    3. Ch 24.19 (Makefiles)
  • Feb 1: 16.1.2, 16.2.2, 16.2.3, 16.3.1, 16.4.1, 16.4.2, all participation activitiese in 16.14, 15.14-15.15, 18.5, 24.18
  • Feb 6: all participation activities in 16.5-16.9, 11.19 and 24.19
Feb 1: Challenge activity in 16.4
Feb 6: Challenge activities in 16.6 and 16.9
Feb. 8, 13 Hashing
  • Ch 11.18 (Unsigned Integers)
  • Ch 3.1-3.3, 3.5 (Hashing--ignore 3.4 since we will use the hash functions defined in the Hashing lecture notes)
  • Feb 8: All participation activities in 3.1 and 3.2
  • Feb 13: All participation activities in 3.3, 3.5, and 11.18
Feb 8: No after class activities
Feb. 15Midterm 1
Feb. 20, 22 Pointers, and setting up data structures that share data using pointers Feb 20: Ch 17.1-17.3, 17.6-17.8
Feb 22: 17.5, 17.9-17.12
  • Feb 20: All participation activities in 17.1-17.3, 17.6-17.8
  • Feb 22: All participation activities in 17.5, 17.9-17.12
Feb 20: All challenge activities in 17.3
Feb 22: All challenge activities in 17.9, 17.10, 17.11
1) Feb 20 Lecture
2) Feb 22 Lecture
Feb 27, Mar 1 Lists, Iterators, Bad Vector Usage, Deques Feb 27: Ch 16.11-16.13, Ch 2.1
Mar 1: 2.10, 2.12
  • Feb 27: all participation activities in 16.11-16.13, 2.1
  • Mar 1: all participation activities in 2.10 and 2.12
Feb 27: No after class activity
Mar. 1: Code Assessor: List Practice (Located on cs102dev in the CS140 category)
Feb 27 Lecture
Mar 1 Lecture
Mar 6
  • 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 8.3 (Big-O, Required)
All participation activities in 8.3 Mar 6 Keno Lab Prep quiz on Canvas: Due Thurs. Mar 8 at 11am Lecture
Mar 8 --- --- CS140Sp15-Mid2-Vote problem on Code Assessor (cs102dev). Go to the CS140 category. Lecture 10/20
Mar 13, 15 Spring Break
Mar 20 Linked Data Structures: Stacks, Queues and Doubly Linked Lists Ch. 2.1-2.4, 2.8-2.9 All participatory activities in 2.2-2.4 and 2.8-2.9 None Lecture
Mar 22 Linked Data Structures: Stacks, Queues and Doubly Linked Lists (continued) Ch. 2.5-2.7, 2.10-2.13 all participatory activities in 2.5-2.7, 2.10-2.13 Best Lastname problem on Code Assessor (cs102dev). Go to the CS140 category. Lecture
Mar 27Midterm 2
Mar 29 Recursion Ch 20.1-20.3 all participatory activities in 20.1-20.3 no activity Lecture
Apr 3 A Recursive Sudoku Solver Ch 20.4-20.6, 20.8-20.9 all participatory activities in 20.4-20.6, 20.8-20.9 no activity Lecture (starting at 27:15)
Apr 5, 10 The basics of Trees, and basic Binary Search Trees Apr 5:Ch 4.1-4.4
Apr 10:Ch 4.5-4.8
  • Apr 5: all participatory activities in 4.1-4.4
  • Apr 10: all participatory activities in 4.5-4.8
Apr 5: "Tree Height" problem on cs102dev.eecs.utk.edu (Go to the CS140 category).
Apr 10: "Tree Find" problem on cs102dev.eecs.utk.edu (Go to the CS140 category).
Lecture Apr 5 (start at 23:20)
Lecture Apr 10
Apr 12, 17, 19 Apr 12: Ch 5.1-5.2
Apr 17/19: Ch 5.3
  • Apr 12: all participatory activities in 5.1-5.2
  • Apr 17: all participatory activities in 5.3
Apr 12: Quiz on Canvas in During/After Class Activities
Apr 17: None
Apr 19: Quiz on Canvas in During/After Class Activities
Lecture Apr 12
Lecture Apr 17
Lecture 4/19 (22:55-end)
Apr 24 Big-O Ch. 8.3-8.4 All participation activities in 8.4 None Lecture
Apr 26 ---   BTree Practice Exercises Lecture