CIT 591 Programming Languages & Techniques I
Fall 2011, David Matuszek

We cover Python for approximately the first half of the course, up until the midterm. After that, we transition to Java.

Got a question? Ask it here!

Date Announcements
December 17, 2011 Final Exam: Wednesday Dec. 21, 3pm-5pm, DRLB A6
Older Previous announcements

Meeting times
Lecture MW 3:00-4:30 DRL 3W2
Lab MCIT: F 3:00-4:30 Moore 207
Beginner's section TBD  
 Office hours
Piazza Always open, 24/7  

Whenever my door is open.
Specific office hours: 3:00-4:30 Tuesdays and Thursdays
Moore 176
TBD Moore 100A
TBD Moore 100A

Search Dave's web sites:
Loading
  
Links
Last year's CIT591
Academic Integrity Policy
Textbook and Resources
MCIT schedule
Java version test page
Java Syntax Pages (online)
or as a downloadable .zip file
Eclipse FAQ and Eclipse Tips
Software SwingExamples.jar
Piazza
Sakai

Date Lectures, Assignments, etc.
Sept 7 Welcome; Very fast introduction to Python
Sept 9 Python warm-up exercises (not to hand in)
Python cheat sheet
Assignment Length conversions
Sept 12 Simple functions
Sept 14 Concise Guide to Python
Sept 16 Assignment Flash Cards
Sept 19 Strings. Escaped characters. Raw strings. Lots of string methods. Functions vs. methods.
Sept 21 "Fun with Pair Programming"external link video
Unit testing and TDD in Python
Sep 23 Add period ends
Assignment Opening Bridge Bid
Example opening_bridge_bid_test.py
Sept 26 Statement types: assert, break, continue, while-else, for: with or without indexing, pass. , try/catch, raise.
Sept 28 While idioms. Operators. Strings, lists, tuples, and sets.
Sept 30 Assignment Sudoku and some data
Example sudoku-test.py
Oct 3 Functions in more detail. global and nonlocal statements.
Oct 5 Modules.
Oct 7 Assignment Fraction Calculator and starter files fractiontest.py and fraction.py
Oct 10 Fall break
Oct 12 Dictionaries. Functional programming.
Oct 14 Assignment Readability Measures
Readexternal link Functional Programming in Python 3
Drop period ends
Oct 17 Classes.
Oct 19 Recursion.
Oct 21 No new programming assignment, therefore no lab.
Oct 24 Review; questions and answers.
Oct 26 Midterm Exam
Oct 28 Family weekend. Yes, we do have lab.
More information Getting started with Eclipse
Assignment Self Portrait
Oct 31 Very fast introduction to Java
Read From Python to Java
Nov 2 Numbers and arrays
Nov 4 Assignment Saddle Points
More information SaddlePoints.java
Nov 7 Arrays, Scanner, the Java API
Nov 9 format and printf, Comments, Javadoc
Nov 11 Assignment Name That Number
Nov 14 Javadoc example, class, static
Read Unit testing in Java
Nov 16 Abstract classes, interfaces, toString, JUnit, assert
PowerPoint JUnit
Nov 18 Assignment Jigsaw Puzzle
Last day to withdraw
Nov 21 Graphical user interfaces (GUIs)
PowerPoint Swing
Nov 23 Day before Thanksgiving (No class)
Nov 25 Thanksgiving break (No lab)
Nov 28 PowerPoint Simple Java I/O
Nov 30 PowerPoint Model-View-Controller
PowerPoint Style
Dec 2 Assignment Text Translator
Dec 5 PowerPoint Java O-O Summary
Dec 7 Java O-O Summary continued
Read Java O-O Concepts
Dec 9 No lab today.
R Dec 15, W Dec. 21, 3pm-5pm Final Exam, DRLB A6

Key
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