Week 1
Getting started with Java; communication; partnerships
- Reading: "the environment" section in the Hacker School Manual
- Think about how to make partnerships successful. Be ready to discuss on Jan 8.
- Java basics.
- Post your Java questions to our Piazza page
by 11:00AM Wednesday, Jan 8.
- Reading: Sections 1.1 and 1.2 from Koffman and Wolfgang
- By class time on Friday, Jan 10
- Reading: A discussion of static
on the official Java web pages, and a nice
discussion at caveofprogramming.com. Also, take a look at the reference pages for the
Color and
Math classes. What's
static in this classes, and why?
- By class time on Friday, Jan 10
Week 2
More Java; ADTs & interfaces
- Sordid
Sorted People.
- Submit a zip file containing Person.java and PeopleSorter.java via Moodle by 11:55PM Monday, Jan 13.
- In-class lab
- Just for practice and question/answer opportunity. Nothing to hand in.
- Partner feedback
- Send via e-mail to Jeff by 1:00PM Friday, Jan 17.
- Mazes, Part 1: loading and printing
- Submit Maze.java (and supporting files, if any) via Moodle by 11:55PM Sunday, Jan 19.
Week 3
Visitor Monday, then linked lists
- Reading: Sections 1.3-1.8 of Koffman and Wolfgang are optional. Skim, read, or use as a reference as needed.
- Whenever
- Reading: Sections 2.1, 2.2, 2.5, and 2.6.
- By class time on Wednesday, Jan 22
- Reading: Sections 3.1, 3.2, and 3.3.
- By class time on Friday, Jan 24
- Linked Lists
- Submit LinkedList.java via Moodle by 11:55PM Sunday, Jan 26.
Week 4
Stacks and queues
- Mazes, Part 2: solving the maze
- Submit Maze.java (and supporting files, if any) via Moodle by 11:55PM Thursday, Jan 30.
- Questions? Post on Piazza
- Nothing to hand in. This is just a reminder that I'll watch Piazza and answer questions as the term continues.
Week 5
Time complexity and catch-up
- Timing Java's collection classes
- Submit your PDF report and supporting code via Moodle by 1:10PM Friday, Feb 7.
- Reading: Section 2.4.
- You'll want this for your Timing report, so read it now.
Week 6
Midterm break, exam, and binary search trees
- Binary Search Trees and Word Clouds.
- Submit your work via Moodle by 11:55PM Wednesday, Feb 19.
- Reading: Sections 6.1-6.4.
- Soon would be best.
Weeks 7, 8
BSTs, Queues, Priority Queues, Heaps, Hash tables
- Reading: Sections 4.1 and 4.3 (queues); 6.5 (priority queues); 8.8 (heapsort).
- By Feb 24.
- Messing with Heap.java
and Sorter.java in the lab
- During class Monday, Feb 24
- Timing Sorting Algorithms.
- Submit your PDF report and supporting code via Moodle by 11:55PM Thursday, Feb 27.
Week 9
Hashing and graphs
- Reading: Sections 7.2-7.4 (hashing)
- By Mar 3.
- Final Project
- Submit source code and readme.txt file via Moodle by 9:00PM Monday, Mar 17.
- Takehome Exam
- Submit your answers as a PDF file via Moodle by 12:30 PM Wednesday, Mar 12. Include your
source code for #6 in the PDF (no need to submit it separately).