Week-by-week Schedule
A more detailed class-by-class schedule will grow below as we go through the course.
week 1 | getting set up; getting started with Python; algorithms |
week 2 | booleans; conditional statements; while-loops |
week 3 | functions |
week 4 | more on functions |
week 5 | lists |
week 6 | more on lists |
week 7 | objects; working with strings and files |
week 8 | dictionaries |
week 9 | networking |
week 10 | GUI and event programming |
Week 1
I am away at at a conference on Monday and Wednesday this week. Lance Spallholz and Valerie Barr will teach the classes on these days.
MO | You will learn how to use the computers in the CS computer labs. You will get your password for the division 4 computers and Lance will make sure that you can enter the CS computer labs using your ID card. |
First assignment: fill in the questionnaire on Blackboard by Tuesday, March 31st. | |
WE |
Your first contact with the python and pygame software. You will compose pictures using colored shapes. example program for this class with lots of comments same example program with less comments |
At the end of Wednesday's class, upload the .py file with the code that draws your picture onto Blackboard. | |
TH |
Algorithms Readings: a chapter about algorithms, Algorithm March |
FR |
Expressions and statements; Variables
Readings: Gaddis Chapter 2 |
Homework Week 1 (due Wednesday, April 8, before class; submit all your Python programs on Blackboard) | |
To prepare for the quiz on Monday, review your notes from Thursday and Friday and do the exercises 1-9 of the section called "Algorithm Workbench" at the end of Gaddis, Chapter 2, pp. 72-73. | |
Week 2
MO | 2nd Quiz. Working with input, output and variables. |
Reminder: Homework Week 1 (due Wednesday, April 8, before class; submit all your Python programs on Blackboard) | |
First set of codelab exercises is due on Wednesday as well. | |
WE |
The game loop. Boolean logic. If-statements.
Reading: Gaddis Chapter 4 |
Second set of codelab exercises is due on Thursday. | |
For Friday: Read Greg Costikyan's article "I have no words & I must design". Then pick one game that you really like and one that you do not like at all. Why do like one and not the other? Using the dimensions talked about in the article, explain what you like about the first game and what you do not like about the second game. (That means, saying "don't like the game because it's boring" is not good enough. What is it about the game that makes it boring?) Hand in a one page essay on Blackboard. (Note: the games you pick do not necessarily have to be computer games.) | |
TH |
Using if-statements. Pair Programming Info, pair programming pairs Making things move. |
FR |
Game Design (Part 1 - What makes a game fun?). More on if-statements.
Blinking circles. |
Homework Week 2 (due Wednesday, April 15, before class; submit all your Python programs on Blackboard) | |
Third set of CodeLab exercises is due on Wednesday. | |
To prepare for the quiz on Monday, review the material we have covered in the first two weeks of this term; read Gaddis Chapter 4, do the "Review Questions" at the end of the chapter and do the CodeLab exercises. |
Week 3
MO |
3rd Quiz. Intro to functions. Reading: Gaddis Chapters 3 and 6. |
The next set of CodeLab exercises is due on Wednesday. | |
Reminder: Homework Week 2 (due Wednesday, April 15, before class; submit all your Python programs on Blackboard) | |
WE |
Functions. Variable scope.
Reading: Gaddis Chapters 3 and 6. |
The next set of CodeLab exercises is due on Thursday. | |
For Friday: What to prepare. | |
TH |
Using functions. Reacting to user events. Our first game: pop the balloon |
FR | Values in game: are video games just about fun? |
Homework Week 3 (due Wednesday, April 22, before class; submit all your Python programs on Blackboard) | To prepare for the quiz on Monday, review the material we have covered this term so far; read Gaddis Chapter 3 and 6, do the "Review Questions" at the end of the chapter and do the CodeLab exercises. |
Week 4
this week's pairs | |
MO |
3rd Quiz. More on functions. Intro recursion. Reading: Gaddis Chapter 11. |
Reminder: Homework Week 3 (due Wednesday, April 22, before class; submit all your Python programs on Blackboard) | |
WE |
Recursive functions.
print_sequence.py, sum_sequence.py Reading: Gaddis Chapter 11. |
TH |
Using recursive functions. Drawing with recursion. pair programming pairs Drawing fractals. |
FR |
Looking inside the computer big_circle.py Reading: Gaddis Chapter 1 Listening: Octopus's Counting by Michael Littman |
Homework Week 4 (due Wednesday, April 29, before class; submit all your Python programs on Blackboard) | To prepare for the quiz on Monday (the last Monday quiz!), review the material we have covered this term so far; read Gaddis Chapter 11 and do the Review Questions. Chapter 11 will mention some material that we haven't really covered, yet, like iteration, just skim over that. The important parts are the examples of recursive functions discussed in that chapter. |
Week 5
this week's pairs | |
MO |
4th Quiz. Lists. Some exercises. Reading: Intro to python lists (from "Think Python" by Allen B. Downey |
The next set of CodeLab exercises is due on Wednesday. | |
Reminder: Homework Week 4 (due Wednesday, April 29, before class; submit all your Python programs on Blackboard) | |
WE |
Traversing lists.
Reading: Gaddis Chapter 8. |
TH |
Lists of objects.
pair programming pairs Lots of bouncing balls. |
FR | Steinmetz Symposium (program). No class. |
The next set of CodeLab exercises is due on Monday. | |
Homework Week 5 (due Wednesday, May 6, before class); submit all your Python programs on Blackboard) | No quiz on Monday. We are done with the weekly quizzes. The average of your quiz grades will count as the first midterm. There will be a second midterm in week 8. |
Week 6
MO |
Animation with lists.
(pair programming pairs) |
The next set of CodeLab exercises is due on Wednesday. | |
WE |
Multidimensional lists. (lists of lists)
grid_v0.py pairs |
For Friday: What to prepare. | |
TH |
Multidimensional lists - Conway's game of life
code to start from Wikipedia page about Conway's Game of Life |
FR |
Software development and responsibility. Testing. The software/game development process. Playtesting Halo |
Homework Week 6 (due Wednesday, May 6, before class); submit all your Python programs on Blackboard) | |
Final Project |
Week 7
MO |
Searching through lists. Sorting lists. Listening: The Sorter by Michael Littman |
WE |
Objects. Working with files. Reading: Gaddis, Chapters 7 and 8. |
TH |
Using Objects. reading in a map file pairs |
Reminder: game designs for final project are due on Friday. Be prepared to talk about your game design in class. | |
CodeLab: the next set of codelab exercises is due on Monday. For some of these exercises, you will have to consult the documentation of built-in string methods and find the appropriate method to use. | |
FR |
Game design presentation and feedback. More on using objects. |
Homework Week 7 (due Friday, May 22, before class); submit all your Python programs on Blackboard) |
Week 8
Reminder: codelab exercises are due on Monday of week 8. | |
MO |
Dictionaries a (pre-processed) text file Reading: Think Python chapter on dictionaries |
The next set of codelab exercises is due on Monday of week 9. | |
WE | Midterm Exam |
TH |
Using dictionaries. And reading from files. a (pre-processed) text file |
FR |
Networking. Reading: a chapter on networking and the Internet Watching: http://www.warriorsofthe.net/ |
Week 9
MO |
Reading web pages. This is the URL for getting the weather for Schenectady: http://www.weather.com/weather/local/12308 (for other places, just substitute another zip code at the end) |
WE | Multiplayer Online Pop-the-Balloon (client, server) |
TH | Kristina away at a conference: use the time to work on your final projects. I will have extended office hours on Friday (9:00-11:30 and 1-2) so that you can come by to talk about any problems that you are having with your project. |
FR | Finish networking. |
Last Homework (due Wednesday, June 3, before class); submit on Blackboard) |
Week 10
Reminder: Last Homework (due Wednesday, June 3, before class); submit on Blackboard) | |
MO | Playtesting. |
WE |
Review. List of topics and some example questions. Please work through this list to prepare for the review session. |
TH |
GUI programming. Reading: Gaddis, Chapter 12 GUI for the web-based temperature lookup by zip code Python Challenges Teach Yourself Programming in Ten Years by Peter Norvig |
FR | Final project presentations. |
Final exam on Tuesday, June 9, 2009 8:30 - 10:30 A.M. in Olin 102. |