USC CSD Home
 

Lectures - CSCI 102L, Fall 2011

 
Lecture Slides
(Please note that access to lecture notes is restricted.)

Preview:

  • (Dec 12, 2011) - final exam (firm)
 
Tentative Slides
 
Tentative Schedule
(Other than exams, subject to change without notice.)
Week Date Topics Reading Assignment
1 08/22/2011
(Lec 1)
Administrative Stuff
Course Introduction (Syllabus Overview, Experience Survey)
Background - stuff you should have a good understanding of (from course prerequisite):
  • Textbook Chap. 1 (Programming Background)
  • Textbook Chap. 2 (Basic C++)
  • Textbook Chap. 4 (Control Structures I)
  • Textbook Chap. 5 (Control Structures II)
  • Textbook Chap. 6 (Defining Functions)
  • Textbook Chap. 9 (Arrays)
  • Unix Commands & Concepts (from Boston University)
08/24/2011
(Lec 2)
Basic C++ Memory Management
Software Engineering Principles
Textbook Chap. 7 (Functions, Reference Variables)
Textbook Chap. 13 (p. 746-761) (Pointers)
2 08/29/2011
(Lec 3)
C++ Data Types & I/O (Arrays, Vectors, Strings, Enumerations, I/O Streams) Textbook Chap. 8, 9, 22 (Strings, Enumerations, Arrays, Vectors)
Textbook Chap. 3 (I/O)
08/31/2011
(Lec 4)
Write a Bunch of Code in Class (C++ Data Types & I/O) (none)
3 09/05/2011 Labor Day Holiday (none)
09/07/2011
(Lec 5)
Object-oriented Programming Part 1 (Struct & Classes) Textbook Chap. 10 (Records)
Textbook Chap. 11 (Classes)
4 09/12/2011
(Lec 6)
Object-oriented Programming Part 2 (Exception Handling, Namespaces) Textbook Chap. 15 (Exceptions)
Textbook Chap. 8 (Enums, Namespaces)
09/14/2011
(Lec 7)
Object-oriented Programming Part 3 (Operator Overloading) Textbook Chap. 14 (p.827-890) (Operator Overloading)
5 09/19/2011
(Lec 8)
Object-oriented Programming Part 4 (Composition, Inheritance) Textbook Chap. 12 (Composition, Inheritance)
09/21/2011
(Lec 9)
Object-oriented Programming Part 5 (Pointers, Dynamic Objects) Textbook Chap. 13 (Pointers, Dynamic Objects)
6 09/26/2011
(Lec 10)
Object-oriented Programming Part 6 (Polymorphism - including Abstract Classes and Virtual Functions) Textbook Chap. 13 (p.770-796) (Abstract Classes, Virtual Functions)
09/28/2011 (Lec 11) Documentation and Doxygen
Arrays (Vectors Revisited)
Doxygen Tutorial
Textbook Chap. 13 (p.761-770) (Dynamic Arrays)
Textbook Chap. 13 (p.796-809) (Lists)
7 10/03/2011 Review for Midterm #1 (none)
10/05/2011 Midterm Exam #1 (none)
8 10/10/2011
(Lec 12)
Linked Lists Textbook Chap. 17 (p.992-1004) (Linked Lists)
10/12/2011
(Lec 13)
Commandline Parsing
Templates
Templated Linked Lists
Textbook Chap. 14 (p.891-902) (Templates)
Textbook Chap. 17 (p.1005-1071) (Linked List ADT)
9 10/17/2011
(Lec 14)
Stack/Queues/Deques Textbook Chap. 18 (Stacks, Queues)
10/19/2011
(Lec 15)
Algorithmic Thinking
Recursion
Textbook Chap. 16 (Recursion)
10 10/24/2011
(Lec 16)
Algorithm Analysis (Big O Notation) Textbook Chap. 19 (p.1184-1202) (Search, Big O)
10/26/2011
(Lec 17)
Searching (Linear Search, Binary Search)
Sorting Part 1 (SelectionSort, BubbleSort, InsertionSort)
Textbook Chap. 19 (p.1202-1218) (Sorting)
11 10/31/2011
(Lec 18)
Sorting Part 2 (MergeSort, QuickSort, Linear Time Sorting Algorithms) Textbook Chap. 19 (p.1218-1256) (Sorting)
11/02/2011 (Lec 19) Sorting Part 3 (Heaps, HeapSort, Priority Queues) (from University of Kent, Great Britain)
(from Flensburg University of Applied Sciences, Germany)
(from Saint Vincent College)
Chapter 4 of Algorithms in a Nutshell
12 11/07/2011
(Lec 20)
Binary Trees
Binary Search Trees
Textbook Chap. 20 (Binary Search Trees)
11/09/2011 Midterm Exam #2 (none)
13 11/14/2011
(Lec 21)
Binary Search Trees
Self-Balancing Trees
Non-binary Trees
Textbook Chap. 20 (Binary Search Trees)
11/16/2011
(Lec 22)
Hashtables Chapter 5 of Algorithms in a Nutshell
14 11/21/2011
(Lec 23)
Maps
Multimaps
Sets
Multisets
Introduction to Graphs
Textbook Chap. 22 (STL)
Textbook Chap. 21 (Graphs)
11/23/2011
Thanksgiving Holiday (none)
15 11/28/2011
(Lec 24)
More on Graphs Textbook Chap. 21 (Graphs)
11/30/2011
(Lec 25)
C++ Standard Template Library
Review for Final Exam
Textbook Chap. 22 (STL)
Introduction to the STL
 

[Last updated Sat Sep 19 2020]    [Please see copyright regarding copying.]