CS211 Lecture Notes

This schedule is tentative and subject to change.

Date Lecture Reading assignments
Week 1 Monday 6/251. Introduction
  • Course policies and procedures
  • Why 211?
Software Article
Course website
Tuesday 6/262. Java review
  • History of programming languages
  • Review of Java and OOP
  • Common Java pitfalls
Weiss ch. 1, 2 and 3
Wednesday 6/273. Recursion
  • Recursive programs
  • Stack frames, recursive calls
Weiss 7.1, 7.3, 7.4
Thursday 6/284. Lists
  • Singly-linked lists
  • Building and searching
  • Insertion and deletion
  • Doubly-linked lists
Weiss 6.5 and chapter 17
Friday 6/295. Grammars and parsingWeiss 2.5
Notes on grammars
Week 2 Monday 7/26. InductionWeiss 7.2
Recursion examples
Assignment 1 due
Tuesday 7/37. TreesWeiss 18.1-18.4, 19.1
Notes on trees
More notes on trees
Wednesday 7/4Holiday: No class
Thursday 7/58. Inheritance and OOPWeiss 4.1-4.3
Friday 7/69. Interfaces and typesWeiss 4.4
Inheritance notes
Example programs
Week 3 Monday 7/9Finish inheritance and OOPDynamic/static binding example
Tuesday 7/1010. Software designAssignment 2 due
Wednesday 7/1111. Searching and complexityWeiss ch. 5
Thursday 7/1212. SortingWeiss 8.1-8.3, 8.5-8.6
Friday 7/13Prelim review
Week 4 Monday 7/1613. RecurrencesWeiss 7.5.3, 8.8
Tuesday 7/17Prelim 1 (in class)
Wednesday 7/1814. Standard ADTsWeiss ch. 16, 20.1, 20.2, 20.5, 20.7
Thursday 7/1915. Heaps and priority queuesWeiss 21.1, 21.2
Assignment 3 due
Friday 7/2016. Iteration and inner clssesWeiss 15.1-15.3, 15.5, 4.8.3
Week 5 Monday 7/2317. Generic types and the Java Collections FrameworkWeiss 21.3-21.5
Tuesday 7/2418. GUI statics and dynamicsSwing tutorial
Wednesday 7/2519. GraphsWeiss 14.1-14.5
Thursday 7/2620. More graph algorithmsWeiss 24.2.2
Friday 7/27More graph algorithmsAssignment 4 due
Week 6 Monday 7/3021. Threads and concurrency
Tuesday 7/3122. Balanced Search TreesWeiss 19.4, 22
Wednesday 8/123. The Java Virtual Machine I
Thursday 8/224. The Java Virtual Machine II
Friday 8/325. Open questions in computer science
Week 7 Monday 8/6No class - study period
Tuesday 8/7Final exam (8:00 am)