CIT 590 Programming Languages
& Techniques
Spring 2013, David Matuszek
When you send me email about this course, please:
Subject: line.Subject:line.| Date | Announcements |
|---|---|
| May 6, 2013 | Posted squarelotron_tests.zip. |
| Older | Previous announcements |
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Date | Lectures | Readings, Examples, etc. |
|---|---|---|
| Wed Jan 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 Python book. How NOT to go about a programming assignment Grading Policy Grading Criteria for Assignments |
| Fri Jan 11 | Warm-up exercises (not to be turned in!) number_personalities_test.py |
|
| Mon Jan 14 | Functions. Abstraction, information hiding, software reuse. Testing, code walkthroughs. Scope. | Pages 38-54 in Python book. Style Rules coke_machine.py and coke_machine_2.py |
| Wed Jan 16 | Recursion, global names, exceptions, functions, None.
Using the IDLE debugger. |
Pages 54-59 in Python book. |
| Fri Jan 18 | 02 Balanced Ternary |
|
| Mon Jan 21 | MLK Day -- no classes | |
| Wed Jan 23 | Lists, and operations on sequences. Unit testing and Test Driven Design. Pair programming. |
|
| Fri Jan 25 | 03 Playfair Cipher |
|
| Mon Jan 28 | References, identity, equality. Unit tests. Test-driven design. | Pages 70-72 in Python book. Wiki page on TDD Programming suggestions |
| Wed Jan 30 | Sorting. Tuples, and strings. Deep and shallow copies. Dictionaries. | Pages 72-83. |
| Fri Feb 1 | 04 Circuits and Spanning Trees |
|
| Mon Feb 4 | Sets, dynamic programming. | Pages 88-99 in Python book. |
| Wed Feb 6 | Recursion |
|
| Fri Feb 8 | 05 KWIC index |
|
| Mon Feb 11 | Shelves, file I/O, keyword arguments | Pages 112-123 in Python book. |
| Wed Feb 13 | DRY. Doc comments. Functional programming. Quicksort. | Pages 127-137 in Python book. |
| Fri Feb 15 | 06 Battleship |
|
| Mon Feb 18 | Object-oriented programming. Agile Programming and eXtreme Programming. | Pages 141-152 in Python book. bags.py (Example from class) |
| Wed Feb 20 | Comparison of Python and Java. | Python to Java |
| Fri Feb 22 | 07 Jigsaw Puzzle jigsaw.zip JigsawPuzzle structure |
|
| Mon Feb 25 | Using the debugger. Style. More Java/Python comparisons. |
Concise Guide to Python 2 |
| Wed Feb 27 | Midterm exam | |
| Fri Mar 1 | No lab Friday March 1. | |
| Mon Mar 4 | Spring break; no classes | |
| Wed Mar 6 | ||
| Mon Mar 11 | Discussion of exam | JUnit for Java Java syntax (reference), especiallyprint statements, printf statements, and Scanner. |
| Wed Mar 13 | Sudden Java |
|
| Fri Mar 15 | 08 Pig |
|
| Mon Mar 18 | Class Structure Polymorphism |
|
| Wed Mar 20 | JUnit testing |
SimpleIO.java |
| Fri Mar 22 | 09 Squarelotrons SquarelotronMethods.java squarelotron_tests.zip |
|
| Mon Mar 25 | Swing |
|
| Wed Mar 27 | Swing, continued Inner Classes Abstract Classes |
|
| Fri Mar 29 | 10 Magic Squares |
|
| Mon Apr 1 | Simple I/O Exceptions |
|
| Wed Apr 3 |
|
|
| Fri Apr 5 | 11 Cryptograms |
|
| Mon Apr 8 | MVC Threads |
|
| Wed Apr 10 | Animation Comments |
|
| Fri Apr 12 | 12 Snipe |
|
| Mon Apr 15 | Uncommon Syntax Java Bits and Pieces |
Object-Oriented Concepts |
| Wed Apr 17 | Introduction to Collections |
|
| Fri Apr 19 | No lab this week. However, this would be a good time to work with your partner on the final assignment. | |
| Mon Apr 22 | Java O-O Summary Style Summary |
|
| Mon May 6 | Final
Exam 12:00 noon to 2:00pm. Levine 101 (Wu & Chen). |
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 |