Week 1
Python, and our first project.
- Reading: Chapters 7 (High-Quality Routines) and 22 (Developer Testing)
from Code Complete, 2nd edition by Steve McConnell.
- Be ready to discuss in class on Monday, April 2.
- A web server log summarizer program, written in Python.
- Submit to your Courses/cs204-s12-00/Hand-in/yourname directory by 9:40 AM Friday, March 30.
Week 2
Getting started on a web application.
- The first phase of a database-driven web application.
- Submit your PDF file to your Courses hand-in directory by 9:50 AM Wednesday, April 4.
- The second phase of your web application.
- Submit as described in the assignment by 9:50 AM Monday, April 9.
Week 3
Debugging, testing, and MySQL in the context of your web application.
- The first code review.
- Exchange URLs on April 9 in class. The code review sessions will be in class on Wednesday, April 11.
- Some steps I took to build a simple database.
- Try doing this with your own data before Friday, when we'll discuss database design in class.
- The third phase of your web application.
- Hand in by 11:59PM Monday, April 16.
Week 4
Finish web app. Style, assertions, other miscellanea.
- Finish your web application.
- Hand in by 5:00PM Friday, April 20.
- Reading: Chapter 8 (Defensive Programming) and Section 32.3 (The Commento)
from Code Complete, 2e.
- Be ready to discuss in class on Wednesday, April 18.
Week 5
Hodgepodge week: encoding, XML, REST, make, etc.
- Reading: learn what you can about UTF-8, UTF-16, ISO 8859-1, and Python facilities for manipulating them.
- Wikipedia is a good place to start, but there's lots more out there.
- Reading: learn what you can about REST (Representational State Transfer).
- We'll discuss this in class on Monday, April 23. The Wikipedia article isn't great, so
see if you can find something else containing a clear, brief summary.
- Reading: take a look at Python's
xml.dom.minidom module.
- We'll work with the minidom in lab on Wednesday.
- Two programs: encoding and XML.
- Hand in via Courses Hand-in by 5:00PM Friday, April 27.
- encoding.py,
xmltraverse.py,
and animals.xml.
- You might find these samples handy (including a very small XML file for use
when testing xmltraverse.py).
- class notes from 4/23
- I'll try to keep posting these...
Week 6
Midterm break. Design patterns. Getting started with the Java API.
- Reading: Chapters 1 and 2 of Head First Design Patterns.
- There are lots of design patterns. We'll spend some time talking about a few
important ones: observer, singleton, abstract factory, model-view-controller.
- Sprite-based animation in Java
- Hand in via Courses by 5:00PM Monday, May 7.
- Get a copy of Eclipse IDE for Java Developers.
- Install it and try using it to create and debug a Java program. We'll discuss it in class.
Week 7
More design patterns. Unit testing. A visitor.
- Code review and revision: DELAYED UNTIL NEXT WEEK
- More later...
- Reading: Chapters 4, 5, and 12 of Head First Design Patterns.
- Read by class time Wednesday, May 9. In Chapter 12, focus on Model-View-Controller.
- Unit tests with unittest/PyUnit
- Hand in via Courses by 9:50AM Monday, May 14.
Week 8
MVC. Getting started on UI design. Code reviews
- Reading: "Don't Make Me Think" by Steve Krug. Read the "Read me first" section, and
Chapters 1-6, 9, and 10. (It's an awfully short book and an easy read, though, so you might
just read the whole thing if you find it interesting.)
- 1-6 by Wednesday, May 16. The rest by Monday, May 21.
- A code review and a revision
- Hand-in and due dates listed in the assignment itself. (UPDATE: revision
now due Monday, May 28, not Friday, May 25. But sooner is probably better
in any case.)
- Final project
- Due dates described in the assignment. Final code due 5:00PM Monday, June 4.
Week 9
Projects. Introduction to CSS/Javascript/AJAX
- Some simple samples of CSS, Javascript, and AJAX.
- Demonstrated in class May 23.
Week 10
Wrapping up
- An example for setting and using cookies in server-side Python scripts.
Here's the source code and
here's the executable version to test.
- Use as you see fit.
- Fred Brooks's essay The Tar Pit (available only
from on campus--please don't post elsewhere).
- This short essay is great all the way through, but I particularly love the section
entitled "The Joys of the Craft." Worth a quick read.