Main Page | Syllabus | Weekly Schedule | Links & Resources
Prof and TAs
Dominique Thiébaut email
Dept. Computer Science
Ford Hall, 356.
Telephone: 3854
Office hours TBA, and by appointments
Click here for TA hours this week.
Weekly Schedule
Week
Topics
Reading
Week 1 1/25
Monday
Review syllabus
Introduction to computer programming
Wednesday
keywords: and del for is raise assert elif from lambda return break else global not try class except if or while continue exec import pass yield def finally in print
Variables
Data types
Functions
Parameter passing
Friday
Read Chapter 1 in Zelle.
Read the article on pair programming. We will discuss it in class on Monday 2/1.
Week 2 2/1
Monday :
Wednesday
What's a variable?
Naming convention
Assignment
Multiple assignments
Loops
Semantics versus Syntax
Loop examples
Block and Loop Exercises
Friday
to use main() or not to use main()?
Review the use of parentheses () and brackets []
Difference between a list ( , , ) and a list [ , , ]
More Loop Exercises
Week 3 2/8
Monday
Wednesday
Playing with Sound files
Interesting sound bites:
Playing with JES ( sample code )
Friday
Chapter 3 in Zelle.
The math library (I will not cover it in class, but you should read it)
Type conversion (important!)
Week 4 2/15
Monday
Types, operators
Working with indexes and strings
Slicing up strings
Wednesday No class, Rally Day
Friday
Week 5 2/22
Monday
Poems !!!
Formatted output (Section 4.5.2 in Zelle)
Functions (Section 6.2 in Zelle)
Syntax
Scope
Passing parameters
Examples
Wednesday
Friday
Read Section 6.2 in Zelle
Grahics programming is covered in Chapter 5
Functions and functions returning values are covered in Zelle, Chapter 6, Section 6.5
Week 6 3/1
Monday
Random poems, revisited: A look at the work of Eitan Mendelowitz on an interactive setup where random poems are generated. Eitan Mendelowitz's installation, Drafting Poems
In this video, play close attention to the digital horses, and how, in the preliminary movie, we see how the horses are just collections of fixed size blocks (cylinders) attached to each other.
In the next video, the scarabs are objects (particles ) that move on their own, in a given direction, avoiding collision with objects.
What happens if you connect basic shapes together at random , connect them with articulation points, give them energy to move one block around the other, and iterate hundred of thousands of times and keep the best solutions to generate new ones? (and more videos on this page ).
Information about Homework assignment
Current assignment: work on style!
Use listmyprogram utility on Beowulf to spot long lines
Wednesday
Friday
Review of missed lab
Working with Files
Read Chapter 5 in Zelle
Read Chapter 6.
Week 7 3/8
Monday
Decision structures with if/else statements.
True/False
The syntax of an if statement
Using if-statements
Logic operators: ==, <, >, <=, >=, !=
Exercises
Wednesday
Thursday : Midterm Exam . A list of typical problems given in past midterms can be found here . Solution programs for the midterm can be found here . Grade Distribution .
Sections 7.1 and 7.2 on Simple Decisions and Two-Way decisions in Zelle.
Spring Break
Week
Topics
Reading
Week 9 3/22
Monday
Variations on a scheme: Graphics and if/else statements
clickMe.py
Wednesday
Friday
Q&A and review of the lab
Using try/except
elif tests
We're still in Chapter 7 of Zelle.
And we are done at the end of the week!
Week 10 3/29
Monday
Review of for loops: break, continue, return
A couple programs to start with: demo programs
Wednesday
Friday
Week 11 4/5
Monday
Wednesday
Creating a class for a car using the class Wheel created on Monday
Another class example holding student information
Friday
Read Chapter 10!
Week 12 4/12
Monday
Wednesday
Class inheritance: myRectangle2.py
Using the graphics car of Lab10 as the base and derived classes
We're still in Chapter 10.
Default argument (parameter) values are covered in Python.org
Week 13 4/19
Monday
Review last lab ( lab11.py )
Creating a module with newCar.py , containing an inherited class.
A view of Programming Languages
Dictionaries. How to use them. How they work.
Wednesday
Designing a new language from scratch.
Friday
Week 14 4/26
Monday
Introduction to Recursion
Wednesday
Friday : Last Class : Final take home exam
...
Links and Resources
Python keywords
The list of all the reserved words of the Python language
and del for is raise assert elif from lambda return break else global not try class except if or while continue exec import pass yield def finally in print
Linux
Misc
If you decide to work in pairs for the homework assignments, you need to follow the protocol for 'pair programming' as discussed in this article .
All the programs of Zelle's Python textbook
Software
Using SSH on Windows, Linux, or on a Mac with OS X
Math
Back To Main Page