Introduction to Computing
Mathematics 121
This course will introduce you to computer science in general and computer programming in particular. We'll use Python programming as the vehicle with which to accomplish this, and the class might feel a bit like a simple Python programming class. However, we will do our best to avoid the messy details of programming (even though they're very useful to learn!) and instead focus on the deeper concepts behind the way programming languages work. I hope you'll find the course interesting and a lot of fun.
Course details
Textbook: Composing Programs
Syllabus: Download here
Office hours: Mon. 2-3 and 4-5, Wed. 10-11, Thur. 11-12, Fri. 2-3 (or by appointment)
TA tutoring hours: The TAs hold tutoring hours in ETC 105 6:30-9:30, Sunday through Thursday nights.
Useful links
The Python standard library, and in particular the list of built-in functions
Homeworks and Projects
Project 1 due Sept. 25 (by 11:00 AM)
Project 2 due Oct. 9 (by 11:00 AM)
Project 3 due Oct. 28 (by 11:00 AM)
Project 4 (due dates in file)
- Starter code
- An exmaple game (run run.py to play)
Efficiency homework due Nov. 6
Sort timing homework due Nov. 16
k-means homework due Dec. 8 (by 11:00)
- kmeans.py (starter file)
- counties.txt (county data)
- output30x120.txt (example output for 30 clusters, 120 iterations)
Reading
1.1-1.3 due Sept. 4
1.5.1-1.5.5 due Sept. 11
1.6.1-1.6.8 due Sept. 16
2.1-2.3 due Sept. 21
2.4 due Sept. 30
2.5, 2.6 due Oct. 5
Slides
Slides - This is a pdf of the slides I've used in class. I cannot guarantee that everything is perfectly correct or completely current, because some things are lost in the conversion to pdf. I put these up because I know they are useful to some students even with those caveats.
Practice exams
Practice midterm solutions (Suggestion: Don't look at these until you take the practice midterm as if it was a real test.
Practice problems for the final