CIT 594 Programming Languages & Techniques II
Spring 2007, David Matuszek
TR 4:30-6:00, Moore 212

This page is under constant revision during the semester, so please bookmark this site and check back frequently.

When you send me email about this course, please use 594 somewhere in the Subject: line. For general email about the MCIT program, please use MCIT in the Subject: line.

Grading for this course: 50% assignments, 20% midterm, 30% final; normalized (converted to Z scores).

 Meeting times
Class TR 4:30-6:00 Moore 212
 Office hours
MTWF 12:30-1:30
(may be changed)
Moore 176
Saajan Patel (TA): Mon 6:00-8:00
Thu 6:30-8:30
Fri 4:00-6:00
Moore 207
Links
Requirements and Resources MCIT schedule
Textbooks Academic Integrity Policy
Getting Started with Eclipse Last year's CIT594
Eclipse FAQ Blackboard
SwingExamples.jar Instructions for Using Zip Files and Blackboard
Rules for Assignments Exam questions

Date Announcements
May 2, 2007

My RoboTalk referee is working--okay, mostly working. Integration is hard. I gave up on integrating the referee program with the graphics I had, and just rewrote the graphics from scratch.

I wanted to have the "tournament" before the end of exams, but I've gotten a couple of requests from stressed-out students to have it after the two remaining CIT finals. I think that will work best. So--Friday, after Max's final and lunch. I hope this doesn't exclude anyone who wants to come.

May 2, 2007 I had forgotten to post the Images lecture. It's now posted. This material will not be on the final exam.
Older Previous announcements

Date Lectures Assignments, etc.
Tu Jan 9 PowerPoint lecture Introduction to CIT594
PowerPoint lecture Introduction to Collections
PowerPoint lecture Stacks
Assignment Expression Evaluation
Example An example Expression Evaluator Applet
Th Jan 11 PowerPoint lecture Recursion
 
Tu Jan 16 PowerPoint lecture BNF
PowerPoint lecture BNF data structure design
Assignment Generating English sentences
Extra Sentence assignment clarifications
Extra Saj's How Sentence Generation Works
Th Jan 18 PowerPoint lecture Abstract Data Types (ADTs)
PowerPoint lecture State machines
 
Tu Jan 23 PowerPoint lecture Arrays
PowerPoint lecture Debugging
Assignment Recursive drawings
Software Starter code
Extra Suggestions for recursive drawings.
Th Jan 25 PowerPoint lecture Abstract Data Types II
PowerPoint lecture Binary Trees
 
Tu Jan 30 PowerPoint lecture Trees
PowerPoint lecture Analysis of Algorithms
Assignment Interpreter
Software Trees.zip
Th Feb 1

PowerPoint lecture JUnit tests for printing
PowerPoint lecture Searching arrays

PizzaPizza party
Tu Feb 6 PowerPoint lecture Linked lists
PowerPoint lecture Hashing
 
Th Feb 8 PowerPoint lecture Recognizers
PowerPoint lecture Stacks, Queues, and Deques
Assignment "RoboTalk" Recognizer and Grammar
and the Grammar with Changes
Talk Eric Raymond
Tu Feb 13 PowerPoint lecture Lists
PowerPoint lecture Comparisons
Reading Recursive Descent Parsing
Software htmlizer.jar
Th Feb 15 PowerPoint lecture Simple Sorting
PowerPoint lecture Heapsort
 
Tu Feb 20 PowerPoint lecture Priority Queues
PowerPoint lecture Tree Searching
 
Th Feb 22 PowerPoint lecture Algorithm Types
PowerPoint lecture Backtracking
Assignment Color Bars
Tu Feb 27 PowerPoint lecture Huffman Encoding
PowerPoint lecture Graphs
PowerPoint lecture Quicksort
 
Th Mar 1

PowerPoint lecture State Spaces
PowerPoint lecture Effective Programming

PizzaPizza at 6:15 tonight, Levine 307
Reading A Taxonomy of Programmers (PDF)
Tu Mar 6 Spring break Dave at SIGCSE 2007, March 7-10
Th Mar 8 Spring break  
Tu Mar 13 Exam Midterm Exam Assignment Parser and Code Updates
Software Tree.java, TreeTest.java, Parser.java, ParserTest.java
Th Mar 15 PowerPoint lecture Pruning
PowerPoint lecture Parsing
Extra Code Problems and Changes
Tu Mar 20 PowerPoint lecture Analysis of Algorithms II
PowerPoint lecture Storage--Stacks and Heaps
 
Th Mar 22 PowerPoint lecture Spanning Trees
PowerPoint lecture Greedy Algorithms
Talk Google Technical Talk, 6:00 in Wu & Chen
Tu Mar 27 PowerPoint lecture Sparse Arrays
PowerPoint lecture Sliding Block Puzzles
Assignment Robot Interpreter 1
Software RobotBehavior.java, RobotStandIn.java, CompassDirection.java, TestRobot.java
Th Mar 29

PowerPoint lecture Preferences
PowerPoint lecture Graphs and Hypergraphs

Talk Frank O'Brien, Space Shuttle, 6:00 in Wu & Chen
Tu Apr 3 PowerPoint lecture Dynamic Programming
PowerPoint lecture Randomized Algorithms
 
Th Apr 5 PowerPoint lecture Genetic Algorithms
PowerPoint lecture Gender in Computer Science
Talk Karen Kelley, Ergonomics (Heilmeier Hall, Towne 100)
Assignment Robot Interpreter 2
Example Example RoboTalk program
Tu Apr 10 PowerPoint lecture Alpha-Beta searching  
Th Apr 12 Java and .NET comparison
PowerPoint lecture Platform comparison
Assignment Robot Game
Tu Apr 17 PowerPoint lecture Regular Expressions
PowerPoint lecture Images
 
Th Apr 19 PowerPoint lecture Threads and turns
PowerPoint lecturejavap
PizzaPizza (Levine 307)
Th May 3 Final exam, 12:00 - 2:00
David Rittenhouse Lab A7
Reading Exam questions
Exam Final exam

Key
Assignment An assignment Software Software that will be useful in this course Reading Something you should read Tutorial A tutorial
Exam Tests. PowerPoint lecture A PowerPoint document, usually one of my lectures Extra Additional information about the topic Example Example