CIT 594 Programming Languages & Techniques II
Spring 2004, David Matuszek
TR 4:30-6:00, Moore 216
Blackboard (requires login)

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 Moore 216
 Office hours
MW 3:30-5:00 Pender 176
Monday 4:30-5:30 Levine 514
  
Links
Last year's CIT594
Academic Integrity Policy
Textbooks
My schedule
Blackboard and
Instructions for Using Zip Files and Blackboard
Eclipse FAQ

Date Announcements
May 11, 2004

Final grades have been posted on Blackboard.

Distribution
Score How many
95-100  
90-94 *
85-89 *
80-84  
75-79 ******
70-74 ******
65-69 ********
60-64 **
55-59 ******
50-54 ***
45-49 **
40-44 *
35-39
30-34 *
25-29 *
20-24 *
   Final exam: Average (mean) is 62.73,
   Standard deviation is 14.52.

   Answers to final exam (worth looking at!)

 

May 3, 2004 There is now a brief study guide for the final exam. I'm sorry it took so long to post, but the good news is that it's better than usual at reflecting the actual content of the final exam.
April 29, 2004
Assignment Average Standard
Deviation
   Quiz Average Standard
Deviation
1 - Tokenizer
99.25
2.67
  Quiz 1
67.23
17.61
2 - Binary Tree ADT
81.34
19.75
  Quiz 2
63.79
13.80
3 - Recognizer
86.63
12.00
  Quiz 3
74.67
15.94
4 - Parser
87.44
22.64
  Final
62.73
14.52
5 - Logo Interpreter
88.17
18.33
       
6a - Beeper Hunt design (out of 50)
45.51
4.70
       
6b - Beeper Hunt implementation
98.05
4.59
       
7 - Dating Service
101.59
17.26
       

Assignments:   Average = 90.83   Std. Dev. = 12.92
Quizzes:   Average = 64.70   Std. Dev. = 20.92
Weighted total:    Average = 77.76   Std. Dev. = 15.94
April 29, 2004 Final exam is 8:30 AM to 10:30 AM, May 7, in David Rittenhouse Labs A2.
Older Previous announcements

Date Lectures Assignments, etc.
January 13, 2004

Intro to CIT594
Collections: A First Glimpse
Abstract Data Types

Eclipse (Latest release, 2.1.2)
Getting Started with Eclipse
JUnit Test Infected
Assignment 1: Tokenizer
Tokenizer Examples
My version: Tokenizer.zip
January 15, 2004 Eclipse
JUnit
 
January 20, 2004 Analysis of Algorithms
Super Chicken
Arrays
JUnit API (Especially junit.framework -> Assert)
January 22, 2004

More about JUnit
Pointers and References
Recursion

Assignment 2: Binary Tree ADT
My version: BinaryTree.zip
Printing Binary Trees
January 27, 2004 Testing
Stacks
Binary Trees
 
January 29, 2004 BNF
Recognizers
Assignment 3: Recognizer
Supplied files Recognizer.java and RecognizerTest.java
Notes on Recognizer Assignment
Final grading scheme for Assignment 3
February 3, 2004 Abstract Data Types II
Lists in Java
Javadoc and HTML
February 5, 2004 Linked Lists
Stacks, Queues, and Deques
Assignment 4: Parser
Grammar for the parser
Parser Addendum
Starter code Parser.java and ParserTest.java
DrDavesTests.java
NewParserTest.java
February 10, 2004

Comparisons
Random Bits

Study Guide for First Quiz
February 12, 2004 Recursive Descent Parsing
Sorting
Searching
A brief study guide for the first quiz
February 17, 2004

First quiz
The quiz
The quiz, with answers

Assignment 5: Interpreter, Part I
Assignment 5: Interpreter, Part II
Starter code Interpreter.zip for assignment 5
Logo--The Big Picture
Grading for Assignment 5
Sample Logo program
February 19, 2004 Sets and Maps
Hashing
 
February 24, 2004 Using Maps
Trees
 
February 26, 2004

Tree Searching

 
March 2, 2004 Graphs  
March 4, 2004 Second quiz The quiz
The answers
March 16, 2004 Algorithm types
Spanning trees
Assignment 6: Beeper hunt, Part I
March 18, 2004 Heapsort Assignment 6: Beeper hunt, Part II
Supplied file BoardGame.zip
March 23, 2004 Priority queues
Huffman Encoding
Searching for Beepers
Assignment 6: Beeper hunt, Part III
BeeperHunt design comments
March 25, 2004 Backtracking
Greedy algorithms
 
March 30, 2004 Quicksort
State-Space Searches
 
April 1, 2004 Third quiz The quiz
The answers
April 6, 2004 Pruning
Alpha-Beta Search
Assignment 7: Dating service
Clarifications
April 8, 2004 Dynamic Programming
Sparse Arrays
 
April 13, 2004 Storage  
April 15, 2004 Randomized Algorithms
Genetic Algorithms
 
April 20, 2004 Big-O and Friends
Java 1.5
Gender in Computer Science
 
April 20, 2004 Question and answer; no prepared lecture.  
May 7, 2004 Final exam, 8:30 AM (yuck!), David Rittenhouse Labs A2 Final exam
Answers to final exam

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

Calendar
         Jan                    Feb                    Mar
 S  M Tu  W Th  F  S    S  M Tu  W Th  F  S    S  M Tu  W Th  F  S
             1  2  3    1  2  3  4  5  6  7       1  2  3  4  5  6
 4  5  6  7  8  9 10    8  9 10 11 12 13 14    7  8  9 10 11 12 13
11 12 13 14 15 16 17   15 16 17 18 19 20 21   14 15 16 17 18 19 20
18 19 20 21 22 23 24   22 23 24 25 26 27 28   21 22 23 24 25 26 27
25 26 27 28 29 30 31   29                     28 29 30 31
         Apr                    May        
 S  M Tu  W Th  F  S    S  M Tu  W Th  F  S
             1  2  3                      1
 4  5  6  7  8  9 10    2  3  4  5  6  7  8
11 12 13 14 15 16 17    9 10 11 12 13 14 15
18 19 20 21 22 23 24   16 17 18 19 20 21 22
25 26 27 28 29 30      23 24 25 26 27 28 29
30 31

Quiz dates:
        February 17
        March 4
        April 1
Final exam date:
         May 7