CIT 591 Programming Languages
& Techniques I
Fall 2009, David Matuszek
When you send me email about this course, please:
|
|||
| Date | Announcements |
|---|---|
| November 20, 2009 | Because so many people will be leaving early for Thanksgiving, I have tried to make it as painless as possible to skip the November 25 class, by making it clear that no new material would be covered. I've now decided that's just foolish. |
| Older | Previous announcements |
|
||||||||||||||||||||||||||
| Date | Lectures | Assignments, etc. |
|---|---|---|
| Sept. 9 | Introduction. Python vs. Java. Active learning vs. spectator sports. Using IDLE. Data types, expressions, and assignments. Program constituents: Input, arithmetic, decision making, looping, and output. Naming conventions. | Pages v-vii, 3-38 in Exploring Python. 1 - Coke Machine My coke-machine.py |
| Sept. 14 | Functions. Abstraction, information hiding, software reuse. Testing, code walkthroughs. Scope. | Pages 38-54. Style Rules 1 |
| Sept. 16 | Recursion, global names, exceptions, functions, None.
Using the IDLE debugger. |
Pages 54-59. 2 - Flash Cards My flashcards.py |
| Sept. 21 | Lists, and operations on sequences. Unit testing and Test Driven Design. | Pages 62-70 How to
Pair Program |
| Sept. 23 | References, identity, equality. Pair programming. Eclipse. | Unit testing and TDD handout.Pages 70-72 Wiki page on TDD 3 - Playfair Cipher My playfair.py My testPlayfair.py Programming suggestions |
| Sept. 28 | Sorting. Tuples, strings, and sets (mostly strings). Deep and shallow copies. | Pages 72-83. Grading Criteria |
| Sept. 30 | Dictionaries, from...import..., dynamic
programming. |
Pages 88-99. 4 - Readability Measures Corrections Sample files: TheBookofOneSyllable.txt, war-of-the-worlds.txt, constitution.txt, critique-of-practical-reason.txt. |
| Oct. 5 | Shelves, file I/O, keyword arguments | Pages 100-110. |
| Oct. 7 | Classes. | Pages 112-123. classyFlashcards.py, classyFlashcards2.py, classyFlashcards3.py
05 - Small Town Traffic Addendum |
| Oct. 12 | DRY. Doc comments. Functional programming. Quicksort. | Pages 127-137. |
| Oct. 14 | Object-oriented programming. Agile Programming and eXtreme Programming. | Pages 141-152. 06 - Balanced Ternary (due Oct. 27) |
| Oct. 19 | FALL BREAK | "Fall break" Saturday Oct. 17 through Monday Oct. 19 |
| Oct. 21 | Midterm Exam, Answer Key | |
| Oct. 26 | Python vs. Java--what to expect. Eclipse again. Basic
language syntax. Scanner, print, println,
printf. Sudden Java |
Python to JavaPages 1-19 in Java book. Java syntax (reference), especiallyprint statements, printf statements, and Scanner. |
| Oct. 28 | Conditional and iterative statements, including the extended for
statement. Scope of names. Class Structure Arrays |
Pages 21-32. Enhanced
for loop. 07 - Fractions JUnit for Java |
| Nov. 2 | Classes and objects. Autoboxing/unboxing. Polymorphism Strings |
Pages 33-48, but
skip sections 4.9 and 4.10. SavingsAccount.java |
| Nov. 4 | More about classes and objects. ArrayList, StringBuilder,
and
generics. Possibly enum. The Java API. Error Messages |
Sections 4.9 and
4.10. enum 08-Eliza Complex.java and
ComplexTest.java |
| Nov. 9 | Annotations. JUnit testing. Bits and Pieces |
Autoboxing/unboxing |
| Nov. 11 | Subclasses, abstract classes, and interfaces. Inheritance. Abstract Classes and Interfaces |
Pages 49-60. AnimalsExample.zip from today's class (as a zipped Eclipse project). 09 - Three Musketeers |
| Nov. 16 | Packages and access control. More about polymorphism.
Overriding toString and equals. Exceptions and assertions.Input/output. Inner Classes Exceptions I/O |
Pages 60-95. |
| Nov. 18 | Swing (up to but not including applets). Swing |
Pages 107-129. 10 - Flash Cards II (due Dec. 3) |
| Nov. 23 | Painting. Applets. Applets and Painting Comment Style |
. |
| Nov. 25 | No class this Wednesday. | Thanksgiving is Nov. 26; No lab this week |
| Nov. 30 | More I/O. | Pages 95-105 |
| Dec. 2 | Threads. | Pages 157-166.![]() |
| Dec. 7 | Collections (and generics again). | Pages 143-155. |
| Dec. 9 | Review. | |
| Tuesday, Dec. 15 | Final
Exam (12:00 - 2:00) DRLB (David Rittenhouse Labs) A8 |
Exam will cover Java and programming concepts, but not Python syntax. |
| Key | |||
|---|---|---|---|
An assignment |
Software that will be useful in this course |
An article; |
A tutorial |
Official specification (always |
A PowerPoint document, usually one of my lectures |
Additional information about the assignment or
topic |
Example |