Lectures

CS2110 has daily lectures. Attendance is required. Please send an email if you cannot make a class.

Lecture notes will be posted after the lecture. During the lecture, we use not only the ppt slides but also Eclipse, DrJava, and the web.

Course text

You don't have to buy a book! We have produced online materials for most of the course: JavaHyperText and Data Structures. Part of this "book" consists of over 50 short (2-6 minute) tutorial/videos, which you will look at at the appropriate time.

Lecture schedule

Below is a tentative list of topics. The order and content of lectures may be changed as the course progresses. A topic may span multiple lectures

LECTURE
TOPICS NOTES CODE
1 Course policies.
Lecture Notes PDF
 
2
Types and Variables
Lecture Notes PDF
 
3
Objects
Lecture Notes PDF
 
4
OO Principles - Modularity/Inheritance Lecture Notes PDF
 
5 OO Principles - Polymorphism
Lecture Notes PDF
 
6
Exceptions and advanced Java features
Lecture Notes PDF
 
7
Recursion
Lecture Notes PDF
 
 
8
Complexity
Lecture Notes PDF  
 
9
Sorting Lectures notes PDF  
 
10
Trees Lectures Notes PDF  
 
11 Priority queues / heaps Lecture Notes PDF    
 
12
Introductions to Graphs Lecture Notes PDF  
 
13 Graphs: DFS, BFS, SCC Lecture Notes PDF    
 
14 Graphs III: Shortest-path algorithms Lecture Notes PDF  
 
15 Graphs IV: Minimum Spanning Trees Lecture Notes PDF  
 
16 Hashing
- Lecture Notes PDF
 
17 Concurrency
Lecture notes PDF  
 
Final: Tuesday, August 7, 8:30 a.m. - 11:00 a.m