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

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

To avoid my spam filters: 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.

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
TR 12:30-1:30 Moore 176
F 3:00-4:00 Moore 207
Requirements and Resources MCIT schedule
Textbooks Academic Integrity Policy
Getting Started with Eclipse Last year's CIT594
Eclipse FAQ Blackboard Instructions for Using Zip Files and Blackboard

Date Announcements
May 3, 2006 Someone left a pencil case in the CIT594 final exam. I have it.
Older Previous announcements

Date Lectures Assignments, etc.
Tu Jan 10 Introduction to CIT594
State Machines
Collections--A First Glimpse

JUnit tests for Tokenizer assignment (zip file)
My code for,, and
Enums (please study carefully and understand all the sample programs)

Th Jan 12 Recursion
Recursion--Textbook, pp. 251-272
Stacks--Textbook, pp. 115-132
Tu Jan 17 Binary Trees
Tree ADT
My code for and
Trees and Binary Trees--Textbook, pp. 365-389
Java 5.0 Generics, etc.
Coping with Generics
Th Jan 19 More Binary Trees and Trees Abstract Data Types--Textbook, pp. 202-212
Tu Jan 24 Abstract Data Types (ADTs)
Exercises in Recursion
Style Rules
Th Jan 26 Arrays

Computer Science:Data Structures:Arrays

Tu Jan 31 BNF
Recognizer and Grammar for Logo2006,,
Changes in Type and Tokenizer Classes
Th Feb 2 Analysis I Big O Notation--Textbook, pp. 70-72
Big O notation
Tu Feb 7 Linked Lists Linked Lists--Textbook, pp. 179-245. Try out the applets.
Th Feb 9 Hash Tables Hash Tables--Textbook, pp. 519-574. Another fine applet!
Hash Tables (starter code)
Tu Feb 14 Comparisons
Sun's Lists
Th Feb 16 Sun's Maps
Recursive Descent Parsing
Parser and
Advice for Parser Authors
Tu Feb 21 Simple Sorting
Simple Sorting--Textbook, pp. 78-108.
Th Feb 23 Searching Textbook, pp. 52 (applet)-62.
Tu Feb 28 Stacks, Queues, and Deques Stacks and Queues--Textbook, pp. 115-143.
Th Mar 2 Midterm; Dave at SIGCSE Midterm exam
Answer key for midterm exam
Tu Mar 7 Spring break  
Th Mar 9 Spring break  
Tu Mar 14 Tree Searching
Th Mar 16 Trigonometry
Interpreter, Part I
Heaps--Textbook, pp. 579-610.
Tu Mar 21

Algorithm Types

Th Mar 23 Backtracking Interpreter, Part II
Threading suggestions
Tu Mar 28 Priority Queues First draft of and
Priority Queues--Textbook, pp. 143-149.
Th Mar 30 Huffman Encoding
Tu Apr 4 Graphs Graphs,
API Hints
Th Apr 6 University Sun Day At Penn  
Tu Apr 11 State Spaces
Sample input
Th Apr 13 Alpha-Beta Searching  
Tu Apr 18 Graph API
Analysis 2
Th Apr 20 Spanning Trees
Genetic Algorithms
W May 3 Final exam, 9:00 - 11:00 Final exam
Answer key for final exam

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