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

When you send me email about this course, please:

Date Announcements
Older Previous announcements

Meeting times
Lecture TR 4:30-6:00 Towne 303
 Office hours (check Piazza for changes)

Whenever my door is open.
Moore 176
Questions and course support
This page Announcements, scheduling updates, and assignment changes will be posted here. Updated 3 or 4 times a week.
Piazza Use Piazza to ask and answer questions about the course. Available 24/7
Canvas Use Canvas to submit assignments and check on grades. Assignments posted weekly
Gokul Office hours Mondays 3-5 Moore 207
Wei Office hours Wednesdays 4:30-6:30 Moore 207
Office hours: TR 1-2 and R 6-7
or whenever my door is open
Moore 176
Last year's CIT594 Eclipse FAQ and Eclipse Tips
Academic Integrity Policy Software SwingExamples.jar
Textbook Software Regular Expression Applet
Java version test page Read Older exam questions
Java Syntax Pages (online)
or as a downloadable .zip file
Academic Resources
Dr. Dave's schedule Read Using Piazza and Canvas

The following schedule will be developed as the semester progresses.
Lectures and lecture materials
PowerPoint lectures
Reading and assignments
Thursday, January 10 Introductions. Stacks, queues, and deques. Array and linked-list representations.

Assignment 01 Linked Lists (Stacks, Queues, and Deques)

Tuesday, January 15 More about linked lists. PowerPoint Analysis of algorithms
Thursday, January 17 Analysis of algorithms. Logarithms. Assignment 02 Minimizing Big-O Running Time
More information
PowerPoint Logarithms
Tuesday, January 22 Binary Trees. PowerPoint Binary Trees
Thursday, January 24

Abstract Data Types.


Assignment 03 Trees and Expressions
PowerPoint Abstract Data Types
PowerPoint Trees
Tuesday, January 29 Trees. Storage. PowerPoint Using Maps
Thursday, January 31 Backtracking.

PowerPoint Hashing
Assignment 04 Hash Maps

Tuesday, February 5

State machines. Tokenizers.

PowerPoint State Machines
PowerPoint Tokenizers
Thursday, February 7 BNF. Parsers. Assignment 05 BNF Tokenizer and Parser
More information BNF for BNF (use at your own risk)
Read All About Recursion
PowerPoint Recursion
Tuesday, February 12 Recognizers and parsers. PowerPoint Recognizers
Thursday, February 14 Recognizers and parsers. PowerPoint Parsers
More information BNF example
More information Little Logic Language,
Tuesday, February 19 Depth-first searches, Breadth-first searches, Iterative deepening depth-first searches PowerPoint Tree Searching
Thursday, February 21 Tree Searching, A*, IDA*  
Tuesday, February 26 Midterm Exam  
Thursday, February 28 State-space searches PowerPoint State-Space Searches
Tuesday, March 5
Spring break
Thursday, March 7
Spring break
Tuesday, March 12 Bubble sort, Selection sort, Insertion sort, Quicksort

PowerPoint Simple sorting techniques
Assignment 06 Funl Parser and Interpreter
Assignment Funl Evaluator
More information Funl Parser Tests (HTML)
More information
More information
More information Example Funl functions

Thursday, March 14 Quicksort, Heapsort PowerPoint Quicksort
PowerPoint Heapsort
Tuesday, March 19 Priority queues PowerPoint Priority queues
Thursday, March 21 Backtracking PowerPoint Backtracking
Tuesday, March 26 Threads and Concurrency PowerPoint Threads
PowerPoint Concurrency
Assignment 07 Backtracking
Thursday, March 28 ForkJoin, Parallelism PowerPoint Parallelism
Tuesday, April 2 Grossman 1 PowerPoint Introduction to Multithreading and Fork-Join Parallelism  pptx  pdf
PowerPoint ForkJoin (Dave)
Assignment Prime numbers
Thursday, April 4 Grossman 2 PowerPoint Analysis of Fork-Join Parallel Programs  pptx  pdf
Tuesday, April 9 Grossman 3

PowerPoint Parallel Prefix, Pack, and Sorting  pptx  pdf
Assignment Registration Madness

Thursday, April 11 Grossman 4 PowerPoint Shared-Memory Concurrency and Mutual Exclusion  pptx  pdf
Tuesday, April 16 Grossman 5 PowerPoint Programming with Locks and Critical Sections  pptx  pdf
Thursday, April 18 Grossman 6 PowerPoint Data Races and Memory Reordering, Deadlock, Reader/Writer Locks, Condition Variables  pptx  pdf
Tuesday, April 23   PowerPoint Persistent Data Structures
Thursday, May 2 Final Exam 3:00pm to 5:00pm.
Moore 216.

PowerPoint A PowerPoint document, usually one of my lectures Assignment An assignment Software Software that will be useful in this course
Tutorial A tutorial More information Additional information about the assignment or topic official spec Official specification (always external link offsite)
Read An article; external link indicates offsite Example Example Quiz Quiz or exam