CSC 212: Programming with Data Structures

Spring 2016


No. Date Topics Notes Lab Homework
1 Tues, Jan 26 Introduction to Java Slides 1
Board Photos 1
Handout 1
AddTax.java
Murach: Ch. 2, review/skim Ch. 1-5
2 Thurs, Jan 28 Primitive Types, Arrays Slides 2
Board Photos 2
AddTax.py
Murach: Ch. 11
Lab 0: Hello World
Lab 1: Intro to Java
Homework 1: Conversation
3 Tues, Feb 2 Finish Arrays, Classes Slides 3
Board Photos 3
Handout 3
ArrayTester.java
VoteCounter.java
Candidate.java
Murach: Ch. 7
4 Thurs, Feb 4 Inheritance and Polymorphism Board Photos 4
CandyHeartApp.java
CandyHeart.java
ColoredCandyHeart.java
VoteCounter.java
Candidate.java
Citizen.java
Murach: Ch. 8
Lab 2: Classes with Graphics Homework 2: Viewing Maps
5 Tues, Feb 9 Interfaces and Graphics Slides 5
Board Photos 5
Murach: Ch. 9 and 15
6 Thurs, Feb 11 Graphical User Interfaces (GUIs) Slides 6
Board Photos 6
Murach: Ch. 16-17
Lab 3: GUI Events and Layout Homework 3: Map GUI
7 Tues, Feb 16 Linked Lists Slides 7
Board Photos 7
Handout 5
CourseManager.java
LinkedList.java
Node.java
Drozdek: 2.1-2.3, and 3.1
8 Thurs, Feb 18 Linked Lists and Intro to Sorting Slides 8
Board Photos 8
Drozdek: 3.2, 3.7, and 9.1.1
Lab 4: Linked Lists Homework 4: Sorting 1
9 Tues, Feb 23 Generics and Intro to Stacks Slides 9
Board Photos 9
Handout 6
GenericListApp.java
LinkedList.java (generic)
Node.java (generic)
City.java
Drozdek: 4.1
10 Thurs, Feb 25 Stacks Board Photos 10
Handout 7a
Handout 7b
Lab 5: Stacks Homework 5: Arithmetic Expressions with Stacks
11 Tues, Mar 1 Queues, Iterators, and Exceptions Slides 11
Board Photos 11
Drozdek: 4.2, Murach: Ch. 5 and 14
12 Thurs, Mar 3 Sorting Board Photos 12
Handout 8
Drozdek: 9.1.2 and 9.3.4
Lab 6: Queues Homework 6: Sorting 2
13 Tues, Mar 8 Midterm Review Board Photos 13
Handout 9
Midterm coversheet
House.java
HouseTester.java
14 Thurs, Mar 10 Recursion and Merge Sort Board Photos 14
Handout 10
Drozdek: Ch. 5
Midterm during Lab
Previous Midterms
Midterm
Midterm Solution
Midterm Rubric
- Tues, Mar 15 SPRING BREAK
- Thurs, Mar 17 SPRING BREAK
15 Tues, Mar 22 Recursion and Binary Search Board Photos 15
Fibonacci.java
fib_recursion.txt
16 Thurs, Mar 24 Trees Board Photos 16
Handout 11
Drozdek: Ch. 6 and 11.2
Lab 7: Binary Trees Homework 7: Huffman Coding
17 Tues, Mar 29 Binary Search Trees Board Photos 17
18 Thurs, Mar 31 Maps and Hash Tables Board Photos 18
Handout 12
Drozdek: Ch. 10
Lab 8: Hash Tables Homework 8: Hashing
19 Tues, Apr 5 Quicksort Board Photos 19
Handout 13
Drozdek: 9.3.3
20 Thurs, Apr 7 Heaps (Guest Lecture: Nick Howe) Board Photos 20
Drozdek: 6.9
Lab 9: Heaps Homework 9: Quicksort
21 Tues, Apr 12 Introduction to Graphs Board Photos 21
Drozdek: 8.1
22 Thurs, Apr 14 Graph Traversal Board Photos 22
Handout 14
Drozdek: 8.2
Lab 10: Graphs Homework 10: Redo
23 Tues, Apr 19 Graph Algorithms Board Photos 23
Havel-Hakimi game
Drozdek: 8.3
24 Thurs, Apr 21 Graph Algorithms (cont) Board Photos 24 Lab 11: Recursion Final Project
25 Tues, Apr 26 Final Review Board Photos 25
Handout 15
26 Thurs, Apr 28 Final Review Board Photos 26
Handout 16
Handout 17
Lab 12: Final Projects
- Tues, May 3 Self-scheduled Final Exam Previous Finals
Final
Final Solution
Final Rubric