Computer Science 140
Introduction to Computer Programming
Spring, 2008
|
Me:
|
Office Hours:
|
Textbook:
Python Programming by John Zeele, Franklin Beedle & Associates
Course Description:
This course provides an introduction to programming and algorithmic thinking. It is aimed at students with little or no prior programming experience who would like to know how software is developed or who would like to be able to write short programs for data manipulation. It is also useful as preparation for students with no programming experience who want to take the CS150-151 sequence. .
Homework:
We will have approximately 7 programming assignments. There will certainly be no fewer than 6, and I would like to have one or two more if we can work them in. You will have at least a week for each of these. You can do them in any of the public computer labs or on your own computer if you have installed Python. You hand in work by mailing it to the address I will give you. It is very important that you do these assignments -- this is where most of the learning in the course takes place. For each assignment there will be a due date; you can hand in work for a few days after this due date and receive most of the credit for the assignment. For each assignment there will also be a closing date - no work will be graded after this closing date.
Exams and Grading:
This course has a lot of graded activities. We will have a midterm in the week before Spring Break and a final exam at the time set by the Registrar. As noted above, we will have 7 programming assignments. There will also be at least 4 quizzes. The latter are brief (about 20 minutes) and are limited to very specific topics, which I will announce in advance. The quizzes serve two purposes: they help you keep up to date with the material, and they help me to see if you are learing to think in programming terms.
Here is how the grades for the course will be composed:
- In-class qizzes: 20%
- Final exam: 25%
- Midterm exam: 15%
- Homework: 40%
The Honor Code
The Honor Code has a straightforward application to this class. On all of the exams quizzes you are responsible for your own work; you may neither give nor receive aid during the course of the exam. If someone takes an exam at a different time than the rest of the class there may be no communication concerning the exam between that person and anyone else in the class, no even about whether the exam was easy or difficult. The atmosphere is much more relaxed for the homework. You may discuss the homework, including details of the programming code, with anyone else in the class, but in the end you must write your own code. Making a copy of someone else's code and handing it in as your own, even if you change the names in the program, is a violation of the Honor Code.
Course outline:
This is an rough schedule for the course. All of these dates, including the dates of the exams, are subject to change. In particular, I would like to go a little faster at the start to allow more time for applications at the end, but we'll see how that goes.
Week Topics ReadingFebruary 4-8 First programs. Input and output statements, Basic Types Chapter 1-4 February 11-15 Conditional statements Chapter 7 February 18-22 Loops Chapter 8 February 25-29 March 3-7 Functions Chapter 6 March 10-14 March 17-21 Midterm Exam March 24-28 SPRING BREAK!! March 31-April 4 Designing programs Chapter 9 April 7-11 Data Structures: Lists, Tuples, Dictionaries, Files Chapter 11 April 14-18 April 21-25 Classes and Object-Oriented programming Chapters 10, 12 April 28-May 2 Applications: Graphics, Animation, User Interfaces, Plotting, etc. Chapters 5, 9 May 5-9 Recursion and other topics, as atime permits Chapter 13 Comprehensive final exam:Thursday, May 15, 9AM