CS111 Syllabus 2009

From CSclasswiki
Jump to: navigation, search

Back to CSC111 Home Page


Judy Cardell
Picker Engineering Program
Department of Computer Science
Clark Science Center, EGR 105b
Office Hours: Monday 1-2, Thursday 2-3,
and by appointment

Dominique Thiébaut email
Dept. Computer Science
McConnell Hall, 208.
Telephone: 3854
Office hours MW 10:30-12:00, W 1-3, and by appointments


Course Overview: This course is an introduction to computers, computer science and computer programming using multimedia. The programming language Python is used to introduce basic programming skills and techniques.

This is the first course in the Computer Science major, and no previous experience with computers or programming is assumed.

Objectives: The objectives for this course are for each student to become familiar with

  • Basic programming constructs such as if-then statements, loop control, functions, arrays, simple input-output, searching, and recursion.
  • Understanding of how digital picture and sound files are encoded, and how one can manipulate their contents.
  • Good programming techniques including top-down design, program documentation, modular design, all resulting in code that can be readily understood and used by other programmers.
  • The Python programming language
  • The basic internal operation of a computer, including the central processing unit, simple memory management, and the file system.


No prerequisites!


The class meets twice a week, on Tuesdays and Thursdays, 9:00 a.m. to 10:20 a.m., and for a two-hour lab session Tuesday afternoon. Session 1 meets from 1:00 to 2:50 p.m., and Session 2 from 3:00 to 4:50 p.m.

Programming assignments are given every week. Approximately 10 homework assignments can be expected this semester. There will be an in-class midterm exam and a final take-home exam.

The due date for the homework assignments is tentatively set to Monday evening, at midnight.


The course covers the following topics (this list is tentative):

  • Windows tools
  • Introduction to Programming and Computer Science
  • Playing with pictures
    • Modifying pictures with loops
    • Modifying ranges of pixels
    • Combining pieces of pictures
  • Playing with sounds
    • Modifying souncs with loops
    • Modifying samples in a range
    • Combining sounds
  • Creating and modifying text
  • Creating text for Web applications
  • Topics in Computer Science
    • Object Oriented Programming (OOP)

Class and Lab Times

Lectures Tuesday, Thursday 9:00 - 10:20 a.m. Seelye Hall 212 Labs

I. Tuesday 1:00 - 2:50 p.m., Seelye Hall 212 II. Tuesday 3:00 - 4:50 p.m., Seelye Hall 212

There will be TA sessions. Their location and time is available here.


Guzdial media python.jpg

Introduction to Computing and Programming in Python, A Multimedia Approach (Paperback) by Mark J. Guzdial

  • Publisher: Prentice Hall (January 6, 2005)
  • ISBN-10: 0131176552
  • ISBN-13: 978-0131176553

It is available at the Greycourt bookstore, an also on Amazon.com

You may also find the preview of this book on [http:books.google.com books.google.com] useful while the book is in transit to the bookstore.

Other Sources of Material

Check the class homepage for additional links to Python-related sources.

Lateness Policy

No late assignments will be accepted (except in case of documented illness or personal difficulties). The assignments are tentatively scheduled to be due every Monday evening at midnight.

You are, however, allowed to drop any one assignment without penalty. If you turn in all the assignment this semester, the one with the lowest grade will be dropped for you automatically.


You have two options for completing each homework assignment. You can either work individually (sharing ideas with classmates and getting input from the TAs and instructors as needed), or you may work in pairs. If you work in pairs, you need to follow the protocol for 'pair programming' as discussed in this article. If you select pair programming, be sure that each partner understands the concepts and final recipe fully, since exams will, of course, be individual.

Homework assignments 40%, Participation 10% Midterm 25%, Final 25%.

Teaching Assistants

The teaching assistants are:

  • Amna Sarfraz
  • Diana Jaunzeikare (Master TA)
  • Francisca Escobar
  • Hanna Bier
  • Jessica Lin
  • Millie Walsh

To see when and where they are available this week, click here.

Back to CSC111 Home Page