CS 201: Data Structures

The assigned reading before class should be done before each class, and post a question or comment about it to Moodle. My goal in assigning these readings is to help get your brain primed for some of the content before class, and so these readings are (mostly) short. Nonetheless, there is other material we will cover in class, which you will also find in the textbook. Those additional sections, are listed in the "Topics and textbook reference" column.

# Date Assigned reading before class Topics and textbook reference Assignments due midnight following class
         
1 < 03/30 Mon >   Introduction, Java Getting started (Tues)
2 < 04/01 Wed > From Python to Java, from beginning through Java Java lab 1
    “Assignment, Parameters, and Casting”    
3 < 04/03 Fri > From Python to Java, “Defining Classes,” Inheritance (1.1-1.3), Java lab 2
    section from “Class Structure” through interfaces, lists (2.1-2.3)  
    “Defining Equality”    
4 < 04/06 Mon > Sections 2.1 and 2.2 lists, Efficiency of algorithms (2.4) Lunar lander p1
5 < 04/08 Wed > Section 2.4 through to the end of page 81 Efficiency of algorithms (2.4) Lunar lander p2
6 < 04/10 Fri > Section 2.5 through to halfway down page 90 Lists (2.5-2.8) Inheritance
7 < 04/13 Mon > Section 2.5, p. 90 halfway through end of section Lists (2.5-2.8) Complexity
8 < 04/15 Wed > Sections 3.1, 3.2 (just the first case Stacks (3.1-3.4) Encryption p1
    study on palindromes)    
9 < 04/17 Fri > Section 4.1 Queues (4.1-4.5) Encryption p2
10 < 04/20 Mon >   Exam 1  
11 < 04/22 Wed > Section 5.1 Recursion / searching (5.1-5.5) Encryption p3
12 < 04/24 Fri > Section 5.6 through p. 285 Searching / backtracking (5.6) Encryption p4
    (skip implementation)    
13 < 04/27 Mon > Sections 7.1 and 7.2 Sets and Maps (7.1-7.2) Recursive queue p1
14 < 04/29 Wed > Sections 6.2 and 6.4 (through p. 322) Trees and traversal (6.1-6.4) Recursive queue p2
15 < 05/01 Fri > Section 6.4, p. 323-328 Binary Search trees (6.4) Peer evaluations
  < 05/04 Mon >   BREAK  
16 < 05/06 Wed > Section 7.3 through half of p. 374 Hash tables Search engine 1
17 < 05/08 Fri > Section 7.3, pp. 374-379 Hash tables Search engine 2
18 < 05/11 Mon > No reading currently planned! Hash tables Search engine 3
19 < 05/13 Wed > Section 6.5 though p. 337 Heaps and priority queues Hash tables 1
20 < 05/15 Fri >   Exam 2  
21 < 05/18 Mon > Sections 8.2 and 8.4 Sorting (8.1-8.5) Hash tables 2
22 < 05/20 Wed > Section 8.7 Sorting (8.7-8.8) Hash tables 3
23 < 05/22 Fri > Section 8.9 Sorting (8.8-8.9)  
24 < 05/25 Mon > Section 9.1 Sorting (8.9) / AVL Trees (9.1) Heaps
25 < 05/27 Wed > Section 9.2 through the top of p. 481 AVL Trees (9.2) / 2-3 trees (9.4)  
26 < 05/29 Fri > Sections 10 (prologue) and 10.1 Graphs (10.1-10.3) Sorting
27 < 06/01 Mon > Section 10.4 through end of p. 568 Implement graphs (10.1-10.3)  
28 < 06/03 Wed > Section 10.5 Traversing graphs (10.4-10.5) AVL trees or graphs
        Peer evaluations
EW < 06/08 Mon >   Exam 3