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 7, 2012 | Added a link to (my own copy of) Orren's Git/Eclipse slides. |
| Older | Previous announcements |
|
||||||||||||||||||||||||||||||||||||||
| Date | Lectures | Readings, Assignments, etc. |
|---|---|---|
| Sept 5 | Program constituents: Input, arithmetic, decision making, looping, delegation (functions) and output. Variables and basic data types. Python |
Preface and chapters 1 and 2 in Exploring Python (Exploring Python and Creating Python Programs). Errata sheet for Exploring Python. How NOT to go about a programming assignment How to get a good grade in this course coke-machine.py (Example Python program) |
| Sept 7 | Python cheat sheet |
01 Hammurabi How Assignments Are Graded |
| Sept 10 | Style. Bitwise operators: & | ~ ^ << >>. Functions: scope, recursion, globals, functions as values. |
Chapter 3 in Exploring Python (Defining Functions). Style Rules "Official" PEP8 Style Guide |
| Sept 12 | break, continue, pass, assert, raise, None. Unit testing. Pair programming.Concise Guide to Python "Fun with Pair Programming" |
Unit testing and TDD handout. Wiki page on TDD TDD in one page (PDF file) How to Pair Program |
| Sept 14 | 02 Negadecimal Numbers |
|
| Sept 17 | Strings. Character encodings.Escaped characters. Raw strings. Lots of string methods. | Tips for Good Programming |
| Sept 19 | Mutable vs. immutable. Result vs. side effect. Identity vs. equality. Values vs. references. | Chapter 4 in Exploring Python (Strings, Lists, Tuples, and Sets). |
| Sep 21 | Add period ends |
03 License Plates |
| Sept 24 | Dictionaries. zip, dict, shelve. |
Chapter 5 in Exploring Python (Dictionaries). |
| Sept 26 | Files. try-catch. Pickling. Accessing directories. |
Chapter 6 in Exploring Python (Files). TDD Quick Reference Guide (pdf) |
| Sept 28 | 04 Party Time! party_time_test.py party_data_small.txt |
|
| Oct 1 | Modules. Classes. Functions vs. methods. Constructors. Inheritance. __init__, __str__, __repr__, __eq__, __name__. |
Chapter 7 in Exploring Python (Classes). Software Entropy |
| Oct 3 | Mapping, filtering, reducing, and list comprehensions. Lambda functions. Quicksort. | Chapter 8 in Exploring Python (Functional Programming). |
| Oct 5 | Family weekend. Yes, we do have lab. | 05 Library collection.txt |
| Oct 8 | LEGB rule. Scopes, name spaces, and modules. | Chapters 9 and 10 in Exploring Python (Object-Oriented Programming, Scopes, Name Spaces, and Modules). |
| Oct 10 | Keyword parameters, default parameter values, variable length argument lists, apply, call. Regular expressions. | Chapter 11 in Exploring Python (Advanced Features). |
| Oct 12 | Drop period ends | 06 Eliza |
| Oct 15 | Data structures. | Chapter 18 in Exploring Python (Data Structures). |
| Oct 17 | Review | Concise Python (long) |
| Oct 19 | Fall break | No new programming assignment, therefore no lab. |
| Oct 22 | Fall break | |
| Oct 24 | Midterm Exam | |
| Oct 26 | Getting started with Eclipse |
Brief Eclipse tutorial (.txt file) Getting Started With Eclipse 07 Self Portrait |
| Oct 29 | Very fast introduction to Java Condensed Java (47) |
Python to Java Chapters 1, 2, and 3 in Murach's Java Programming (MJP) |
| Oct 31 | JUnit (27) Style rules (28) |
Unit testing in Java
Chapter 11, How to work with arrays, in MJP |
| Nov 2 | 08 Array Operations |
|
| Nov 5 | Class structure (22) Polymorphism (26)
|
First three sections of chapter 7, How to define and use classes, in MJP First two sections of chapter 8, How to work with inheritance, in MJP |
| Nov 7 | Comments (30) Git Orren's Git/Eclipse slides |
Git, Githug, and GitHub Understanding Git Conceptually |
| Nov 9 | 09 Githug |
|
| Nov 12 | Swing (32) Threads (22) |
First three sections of chapter 15, How to work with threads, in MJP Model-View-Controller |
| Nov 14 | Java I/O (41) |
First three sections of chapter 20, How to work with text and binary files, in MJP |
| Nov 16 | Last day to withdraw | 10 Flashcards |
| Nov 19 | Exceptions (27) |
First two sections of chapter 14, How to handle exceptions, in MJP |
| Nov 21 | Day before Thanksgiving (No class) | |
| Nov 23 | Thanksgiving break (No lab) | |
| Nov 26 | Model-View-Controller (40) Animation (18) |
Understanding Model-View-Controller |
| Nov 28 | Inner classes (12) Abstract classes (22) |
First two sections of chapter 9, How to work with interfaces, in MJP The Care and Feeding of Software Engineers |
| Nov 30 | Snake |
|
| Dec 3 | Random bits (19) Collections (16) |
First two sections of chapter 12, How to work with collections and generics, in MJP |
| Dec 5 | Java O-O Summary (34) |
Object-Oriented Concepts Java syntax |
| Dec 7 | No lab today. | |
| M Dec. 17, 3pm-5pm | CIT 591Final Exam, LRSM Auditorium This is the building diagonally opposite Moore, across both Walnut and 33rd. |
|
| W Dec. 19, 3pm-5pm | CIT 590 Final Exam, DRLB A2 This is the building directly across 33rd Street from Moore/Skirkanich.. |
| Key | ||
|---|---|---|
A PowerPoint document, usually one of my lectures |
An assignment |
Software that will be useful in this course |
A tutorial |
Additional information about the assignment or
topic |
Official specification (always |
An article; |
Example |
|