Bryn Mawr College
CS 110: Introduction to Computing
Fall 2006
Course Materials
Prof. Deepak Kumar
For Prof. Dianna Xu's Section ->Click here
General Information
Instructor: Deepak Kumar, 248 Park Hall, 526-7485
E-Mail: dkumar at cs brynmawr dot edu
WWW: http://cs.brynmawr.edu/~dkumar
Lecture Hours: Mondays & Wednesdays, 2:30 p.m. to 4:00.m.
Room: Park 338
Lab: Fridays 2:00 p.m. to 4:00 p.m. in Room 231 (additional lab hours
also available, see below)
Course Blog Site: Click here
Laboratories:
- Computer Science Lab Room 231 (Science Building)
- You will also be able to use your own computer to do the labs for this course.
Lab Assistants: The following Lab assitants will be available during the week (names and schedules will be posted by the end of this week) for assistance on lab assignments.
- Julia Ferraioli: Mondays 9:00a to 11:00a and Tuesdays 4:00p to 6:00p
- Anne Miller: Tuesdays 12:30p to 2:30p and Wednesdays 4:00p to 6:00p
- Marwa Muhammad: Tuesdays 10:30a to 12:30p and Fridays 10:00a to noon
- Bhumika Patel: Mondays 4:00p to 6:00p and Thursdays 4:00p to 6:00p
- Shikha Prashad: Tuesdays and Thursdays 7:00p to 9:00p
Texts & Software
Python Programming: An Introduction to Computer Science: by
John Zelle, Franklin Beedle & Associates, 2004. ISBN 1-887902-99-6
Python Software + IDLE (This software is already installed in the Computer Science Lab). The software is also available for your own computer from the CD included in your text.
Graphics Library (accompanies and distributed with the text is
also installed in the lab)
|
 |
Important Dates
September 4 : First lecture
October 11: Exam 1
December 13: Last lecture/Exam 2
Assignments
- (By September 6): Go to the course blog site (click here) and create an account for yourself (same username as your e-mail username).
- Assignment#1 (Due on September 13): Click here for details.
- Assignment#2 (Due on September 20): Click here for details.
- Assignment#3 (by Wednesday, September 27): Click here for details.
- Assignment#4 (by Monday, October 9): Click here for details.
- Assignment#5 (by Monday, October 30): Click here for details.
- Assignment#6 (by Wednesday, November 15): Click here for details.
- Assignment#7 (by Wednesday, November 29): Click here for details.
- Assignment#8 (by Wednesday, December 13): Click here for details.
Lectures
- Week 1 (September 4, 6)
September 4: What is a computer? What is a program? Universal machines, software & hardware. What is computer science? Programming Languages.
Read: Chapter 1 from Zelle.
Do (By September 6): Go to the course blog site (click here) and create an account for yourself (same username as your e-mail username).
September 6:
Introduction to Python. Introduction to algorithms and problem solving.
Do (Due on September 13): Lab Assignment#1 is posted. Click here for details.
- Week 2 (September 11, 13)
September 11 : The Input-Process-Output model of computation. Solving simple problems. The software development process. Examples. Python specifics: names, expressions, ouput, assignment, input.
Read: Chapter 2 (sections 2.1 through 2.5) from Zelle.
Programs from class: age.py
September 13: Simultaneous assignment, definite loops. Problems that use definite loops.
Read: Chapter 2 from Zelle.
Programs from class: interest.py
Do Assignment#2 (Due on September 20): Click here for details.
- Week 3 (September 18, 20 )
September 18: Computing with numbers: integer and float types in Python. Implicit and explicit type conversions, and rounding. The Python math module.
Read: Sections 3.1, 3.2, and 3.6 from Zelle.
Programs from class: percentages.py, carloan.py
September 20 : repetition and accumulating results.
Read: Chapter 3 from Zelle.
Programs from class: average.py
Do Assignment#3 (by Wednesday, September 27): Click here for details.
- Week 4 (September 25, 27 )
September 25: Computing with strings: the make up of strings as a sequence of letters, indexing, slicing, concatenation, repetition, ASCII encoding of letters. More on lists.
Read: Sections 4.1 to 4.4 from Zelle.
September 27: More on strings, the string module in Python, formatting output, making acronyms...
Read: 4.1 through 4.5 from Zelle
Programs from class: decodeV1.py, decodeV2.py, acronym.py
Do: Assignment#4 (by Monday, october 9): Click here for details.
- Week 5 (October 2, 4)
October 2: Strings, contd. String library module. Caesar ciphers: non-circular and circular. File I/O. Counting average length of words in a text.
Read: Chapter 4 from Zelle.
Programs from class: fileexample.py, caesar.py, caesar2.py
October 4: Introduction to object-oriented programming; Properties and methods/operations, inheritance. Strings as objects in Python. Doing Graphics in Python (see links at the bottom of this page for the graphics module, documentation, and a database of color names). Drawing basic objects.
Read: Chapter 5 from Zelle.
Programs from class: wordlength.py
- Week 6 (October 9, 11)
October 9: Review for exam. Graphics objects using the graphics library. Fun with graphics objects: using random numbers; animating objects.
Read: Chapter 5 from Zelle.
Programs from class: circles.py, movingcircle.py
October 11: Exam 1 is today.
- Week 7 (October 16, 18)
No class. Fall Break!!
- Week 8 (October 23, 25)
October 23 : Review of material prior to break. Midterm Exam Solutions
Read: Chapters 1-5 from Zelle.
Do: Assignment#5 (by Monday, October 30): Click here for details.
October 25 : Interactive graphics in Python: getMouse() and textbox inputs. Also changing the coordinate system.
Read: Chapter 5 from Zelle.
Programs from class: futval.py
- Week 9 (October 30, November 1)
October 30 :Designing programs using functions: functions, parameters, execution model, returing values, etc.
Read: Chapter 6 from Zelle.
November 1:
Decision Structires: boolean expressions, if-statements in Python. Examples.
Read: Chapter 7 from Zelle
Do: Assignment#6 (by Wednesday, November 15): Click here for details.
- Week 10 (November 6, 8)
November 6 : Examples using if-statements and functions.
November 8: Examples using if-statements and functions. While-loops and break statement.
Read: Chapter 8 from Zelle
Programs from class: bounce.py, calendar.py, fresheggs.py, reverseeggs.py
- Week 11 (November 13, 15 )
November 13: While loops, contd.
November 15: Kinds of loops an designing large programs using functions.
Do: Assignment#7 (by Wednesday, November 29): Click here for details.
- Week 12 (November 20, 22)
November 20: File processing.
November 22: Class turned to office hours today.
Thanksgiving Break begins after class.
- Week 13 (November 27, 29 )
November 27: Designing large programs.
Read: Chapter 9 from Zelle.
Programs from class: spell.py
November 29: List operations. More on designing large programs.
Read: Chapter 11 from Zelle.
Assignment#8 (by Wednesday, December 13): Click here for details.
Programs from class: statistics.py
- Week 14 (December 4, 6)
December 4: Dictionaries in Python.
Program(s) from class: wordfreq.py
Read: Chapter 11 from Zelle.
December 6 :
- Week 15 (December 11, 13)
December 11 : No class today (deepak is out of town).
December 13: Exam 2 is today.
Grading
All graded work will receive a grade, 4.0, 3.7, 3.3, 3.0, 2.7, 2.3, 2.0, 1.7,
1.3, 1.0, or 0.0. At the end of the semester, final grades will be calculated
as a weighted average of all grades according to the following weights:
Exam 1: 20%
Exam 2: 25%
Labs & Written Work: 55%
Total: 100%
Links
Created on
August 2, 2006.