CIT 591 Programming Languages
& Techniques I
Fall 2009, David Matuszek
When you send me email about this course, please:
|
|||
| Date | Announcements |
|---|---|
| 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-105. |
| 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 |
. |
| Nov. 25 | No class this Wednesday. | Thanksgiving is Nov. 26; No lab this week |
| Nov. 30 | Comment Style Model-View-Controller |
Pages 157-166. |
| Dec. 2 | Threads Animation |
|
| Dec. 7 | Pages 143-155. | |
| Dec. 9 | Summary of Java O-O |
Object-Oriented Concepts |
| 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 |