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!
|December 7, 2012||Added a link to (my own copy of) Orren's Git/Eclipse slides.|
|Date||Lectures||Readings, Assignments, etc.|
|Sept 5||Program constituents: Input, arithmetic,
decision making, looping, delegation (functions) and output. Variables and basic data types.
| 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
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).
"Official" PEP8 Style Guide (long)
Concise Guide to Python
"Fun with Pair Programming" video
| 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|
|| Chapter 5 in Exploring Python (Dictionaries).
|| Chapter 6 in Exploring Python (Files).
TDD Quick Reference Guide (pdf)
|Sept 28|| 04 Party Time!
|Oct 1||Modules. Classes. Functions vs. methods. Constructors. Inheritance.
|| Chapter 7 in Exploring Python (Classes).
|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
|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 (and answer key)|
|Oct 26|| Getting started with Eclipse
|| Brief Eclipse tutorial (
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)
| 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)
Orren's Git/Eclipse slides
| Git, Githug, and GitHub
Understanding Git Conceptually
|Nov 9||09 Githug|
|Nov 12|| Swing (32)
| First three sections of chapter 15, How to work with threads, in MJP
Model-View-Controller in Wikipedia
|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)
|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
|Dec 3|| Random bits (19)
|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
|Dec 7||No lab today.|
|M Dec. 17, 3pm-5pm||CIT 591 Final Exam, LRSM Auditorium
This is the building diagonally opposite Moore, across both Walnut and 33rd. Answer key
|W Dec. 19, 3pm-5pm||CIT 590 Final Exam, DRLB A2
This is the building directly across 33rd Street from Moore/Skirkanich..
|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 offsite)|
|An article; indicates offsite||Example||Quiz or exam|