CIT 594 Programming Languages & Techniques II
Spring 2011, David Matuszek

When you send me email about this course, please:

  • For CIT594, put 594 as part of the Subject: line.
  • For general email about the MCIT program, put MCIT as part of the Subject:line.
  • Send plain text only (not HTML or RTF).
  • Do not include any attachments.
  • Make sure your computer is virus-free.
Search Dave's web sites:
Date Announcements
Apr 5 The Scala club is happening! To join, go to Google Groups and search for SCALA-CLUB.
Mar 26

Interested in Scala?

Older Previous announcements

 Meeting times
LectureTR 4:30-6PM Towne 303
 Office hours
Instructor is Dr. Dave

Whenever my door is open;
Specific office hours:
   3:00-4:00 MTWR
   6:00-8:00 R
Moore 176

Tuesday 10am-12 and Friday 4pm-7pm
Moore 207

Mondays 11-12
Moore 100
Monday 6:00-7:00 and by appointment
Moore 100
Last year's CIT594
Academic Integrity Policy
Textbooks and resources
Dr. Dave's schedule
Blackboard and
Instructions for Using Zip Files and Blackboard
Java version test page
Eclipse: Getting started, Settings (both recommended and required), Preferences, FAQ, Tips
Software SwingExamples.jar
Tutorial Tutorials Point External site

DateLectures, Assignments, etc.
Thu Jan 13 PowerPoint Intro to CIT594
PowerPoint Analysis of Algorithms
Assignment 01 Sorting Algorithms
Tue Jan 18 PowerPoint Simple Sorting Techniques
Discussion of InsertionSort
My sortingResults.txt (revised and expanded)
Thu Jan 20 Preconditions, postconditions, and loop invariants; more about Big-O
PowerPoint Comparisons
PowerPoint Enums
Assignment 02 Wedding Party
Tue Jan 25 PowerPoint Simple Sorting Algorithms
Assignment 03 “Newsort”
Thu Jan 27 Guest lecturer: Pat Palmer
PowerPoint XML
PowerPoint Serialization and XML
PowerPoint A Brief History of Serialization
Tue Feb 1 PowerPoint Recursion
PowerPoint Stacks
Thu Feb 3 PowerPoint Regular Expressions in Java
Assignment 04 Text Extractor
Software Regular Expression Applet
Tue Feb 8 PowerPoint Storage
Thu Feb 10 PowerPoint Binary Trees
PowerPoint Trees
Assignment 05 Abstract Syntax Trees
More information Idioms for Recursion
Tue Feb 15 PowerPoint Hashing
Thu Feb 17 Assignment 06 Interpreter
PowerPoint BNF
Tue Feb 22 Example Parsing Expressions
More about hashing; hashCode(); Cuckoo hashing
PowerPoint Java Collections
Thu Feb 24 Assignment 07 User-Defined Functions in LOL
PowerPoint Introduction to Java Collections
Tue Mar 1 PowerPoint Heapsort
Thu Mar 3 Midterm Exam 4:30-6:00 in Wu & Chen
Midterm Exam and Answers to Midterm Exam
Tue Mar 8 Spring break--no class
Thu Mar 10 Spring break--no class
Tue Mar 15

PowerPoint Analysis of Algorithms II
PowerPoint Backtracking
Reading Backtracking
Assignment 08 Backtracking Assignment
More information Help on Backtracking Assignment

Thu Mar 17 PowerPoint Huffman Encoding
PowerPoint Tree Searches
Tue Mar 22 Bit manipulation
Thu Mar 24 Reading Getting Started with Mercurial
Reading Hg Init offsite (Required reading)
Reading Bitbucket 101 offsite
More information Repository Picture
Tue Mar 29 Mercurial
PowerPoint State Space Searches
Assignment 09 Huffman Encoding/Mercurial
Example Huffman Hints
Software BitOperations Applet
Reading Merging Files with KDiff3
Thu Mar 31 PowerPoint Priority Queues
PowerPoint Graphs
Tue Apr 5 PowerPoint State-Space Searches (A* and IDA*)
Thu Apr 7 PowerPoint Alpha-Beta Searches
Tue Apr 12 PowerPoint Threads and Concurrency
s Assignment 10 Travelling Salesman
More information state-capitals.txt,,
Thu Apr 14 PowerPoint Parallelism
Tue Apr 19 Concurrency
Functional Programming; Scala
Thu Apr 21 PowerPoint Concurrent Algorithms (incl. MapReduce)
Assignment 11 MapReduce
More information,
Tue Apr 26
Mon May 2

In Moore 216
This time is set by the Registrar and will not be changed. If you have an exam conflict, you must take it up with the instructor who is not following the Registrar's required exam schedule.

Assignment An assignment Software Software that will be useful in this course Reading An article, usually offsite (offsite) Tutorial A tutorial
PowerPoint A PowerPoint document, usually one of my lectures More information Additional information about the topic Example Example Exam An exam