Week 1
Python, and our first project.
- 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 read.
- Reading: High-Quality Routines
and Developer Testing
from Code Complete, 2nd edition by Steve McConnell.
- Be ready to discuss in class on Friday, September 20.
- A web crawler program, written in Python.
- Submit to your Courses/cs257-f13-00/Hand-in/yourname directory by 11:59 PM Monday, September 23.
Week 2
Getting started on a web application.
- The first code review.
- Exchange e-mails (and, if possible, your code) during class on September 25. The code review sessions
will be in class on Friday, September 27.
- Revision of the web crawler
- Note the changed due date (and see my e-mail to the class mailing list for an explanation). Hand in via your Courses folder by 8:30 AM Friday, October 4.
- The first phase of a database-driven web application.
- Submit your web-app-plan.pdf file to your Courses hand-in directory by 8:30 AM Wednesday, October 2.
Week 3
Getting started on the web application.
- 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.
- Phase 2 of the web application.
- Due 8:30AM Wednesday, Oct 9.
Week 4
More web app. SQL, CSS, and other miscellanea.
- A more sophisticated sample web application
- Check it out. Now with comments, functions, and everything.
- Accessing PostgreSQL from Python
- This is a quick demo as a little web application. Here's an even simpler command-line version
- Phase 3 of the web application.
- Due 5:00PM Friday, Oct 11.
- Final phase of the web application.
- Due 8:30AM Friday, Oct 18.
Week 5
Finish web app. Comments, assertions, Javascript, JSON, etc.
- Reading: The Commento
from Code Complete, 2nd edition by Steve McConnell.
- Be ready to discuss in class on Monday, October 14.
Weeks 6, 7
Brief introductions to IDEs, version control, UML, and design patterns.
- Phase 1 of the sprites-in-a-box project
- Due 5:00PM Friday, Oct 25
- Phase 2 of the sprites-in-a-box project
- Due 11:59PM Monday, Oct 28
- Phase 3 of the sprites-in-a-box project
- Due 11:59PM Wednesday, Oct 30
- Reading: Chapter 1 (Introduction) of Design Patterns by
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides.
- Be ready to really discuss in class on Wednesday, October 30. What is a design
pattern? What are they for? Why would you want a catalog of them? What's confusing
about this chapter? etc.
- Reading: Chapter 2 (A Case Study) and the Strategy section of Chapter 5 (Behavioral Patterns)
of Design Patterns.
- Be ready to discuss in class on Monday, November 4.
- Visitor: Matt Ginsberg
- In class on Friday, November 1. You can read about him
in the convo announcement,
in the Carleton news,
and in this CS Department announcement. I've asked him to say a few things about his experience as a software entrepreneur, but mostly, we'll
try to just have a conversation. So bring your questions so he'll feel welcome.
Week 8
Design patterns, final project, testing
- Phase 1 of the final project
- Due via e-mail to jondich by 5:00PM Wednesday, November 6.
- Design pattern examples
- Due as designpatterns.pdf in your Courses Hand-in directory by 5:00PM Friday, November 8.
- Phases 2 and 3 of the final project will assigned in the next couple days
- Due next week.
- PyUnit/unittest lab
- In class Nov 6.
Week 9
UI design
- Phase 2 of the final project
- Due by 11:59PM Monday, Nov 11.
- Reading: "Guiding Principles" from Don't Make Me Think, by Steve Krug.
- I'll start talking about this in class on Nov 8. Read this section while
preparing your mockups for Phase 2 of the project.
- Threading lab
- In class Nov 15.
Week 9
Wrapping up
- Phase 3 of the final project
- Due by 5:00PM Monday, Nov 25.