CIT 594 Programming Languages & Techniques II
Spring 2005, David Matuszek
TR 4:30-6:00, David Rittenhouse Labs A7

This page is under constant revision during the semester (especially during the first few days!), so please bookmark this site and check back frequently.

When you send me email about this course, please use 594 in the Subject: line. For general email about the MCIT program, please use MCIT in the Subject: line. I get so much email that things get lost pretty easily; I think this will be a big help. Thanks.

 Meeting times
Class TR 4:30-6:00 Rittenhouse Labs A7
 Office hours
TR 2:00-3:00 Moore 176
Thursday 3:00-4:00 Moore 207
Last year's CIT594
Academic Integrity Policy
My schedule
Blackboard and
Instructions for Using Zip Files and Blackboard
Eclipse FAQ

Date Announcements
May 9 Grades are posted on Blackboard. I have also posted a page about Final Exam Grades and Comments. Also, remember that Blackboard will be unavailable May 11 - May 14. If Blackboard isn't up, please don't ask me what your grade is; I only remember the grades of a couple of people.
May 5 Have a good summer!
Older Previous announcements

Date Lectures Assignments, etc.
January 11 Intro to CIT594
Collections--A First Glimpse

Getting Java 5.0 and Eclipse 3.1M4
Flood fill
Starter code for Flood fill:
Comments on the starter code
pp. 251-277 in textbook.

January 13 Stacks
January 18 Simple Recursion--Examples
Sorting into equal piles (problem generator)
January 20 Analysis of Algorithms I  
January 25 Comments on the "Three Piles" problem
Binary Trees
Binary Trees and Arithmetic Expressions
pp. 365-388 in textbook.
January 27 Abstract Data Types
pp. 202-212 in textbook (you can ignore the code); and read up on Generics and the enhanced for loop in Java 5.0.
February 1 More JUnit
Simple Sorting Algorithms
Sorting: pp. 77-109 in textbook.
February 4 Searching
Pointers and References
Searching and logs: pp. 54-74 in textbook, but ignore
Pointers: pp. 22-25 in textbook (up to "Overloaded Operators").
February 8 Sets and Maps
Javadoc and HTML
Evaluating Expressions
February 10 Hashing pp. 520-572 in textbook.
February 15 Abstract Data Types II Class discussion of next assignment.
Tree API
February 17 BNF
February 22 Using Maps Study guide for midterm
Recognizer for Robot Grammar
Corrections, Suggestions, and Starter Code (starter code only) (for starter code)
February 24 Midterm Exam
Answer key
(Dr. Dave at SIGCSE conference)
March 1 Stacks, queues, and deques  
March 3 Yes, we have class.
Recursive Descent Parsing
From "Spring Break Begins at Close of Classes"--sorry about that.
March 8 & 10 Spring Break Assignment 7: Parser
March 15 Comments on Midterm
Tree Searching
March 17 Parser Hints  
March 22 Graphs  
March 24 Spanning Trees
Interpreter for Robot Language
Interpreter Notes
March 29 Heapsort  
March 31 Priority Queues
April 5 Greedy Algorithms
State-Space Searches
Robot, part 1
April 7 Pruning
Alpha-Beta Searches
Robot, part 2
The BoardGame API
April 12 Threads Robot, part 3 and
April 14 Corrections
April 19 Huffman Encoding
Randomized Algorithms
April 21 Genetic Algorithms  
May 5 Final Exam, 11:00-1:00, in DLRB A5
Final Exam
Answer Key
Study Guide for Final Exam

An assignment Software that will be useful in this course Something you should read A tutorial
Official specification (always offsite) A PowerPoint document, usually one of my lectures Additional information about the topic Example