Meeting Time and Place
Section A Tuesday 5:00 - 6:50 PM Instructor: Prof. David E. Breen Room: Korman 111F

Final Exam:
Section A Tuesday, March 17, 6:00 - 8:00 PM Room: Korman 111F



Prof. David E. Breen


University Crossings - Room 143




Home Page

Office Hours

Wednesday 1:00 - 3:00 PM; and by appointment

CS Dept. Phone:
CS Dept. Fax:
CS Dept. Location:

(215) 895-2669
(215) 895-0545
University Crossings, Suite 100

The Cyber Learning Center offers help to students taking Computer Science classes.
Click here for teaching assistant hours. Click on "CS140" once on the CLC page to see which TAs can help with this class.

Course Description, Goals and Objectives

Introduction to structured computer programming in a language designed for working with media (images, sound, video), e.g. Python/Jython. Topics include variables, input and output, expressions, assignment statements, conditionals and branching, files, repetition, functions and parameter passing, one-dimensional and two-dimensional arrays, and media manipulation. Stresses good programming style, documentation, and debugging and testing.

The goal of this course is for students completing it to be competent programmers, able to write working Python programs on their own using appropriate constructs when presented with a problem description.

Students completing this course should be able to:



Introduction to Computing and Programming in Python
A Multimedia Approach

3rd edition
Mark Guzdial and Barbara Ericson
Pearson Prentice Hall, 2012.
ISBN-13: 978-0132923514
ISBN-10: 0132923513

Also available as an E-Textbook at
ISBN-13: 978-0-13-292852-6

Software and Hardware Requirements
All Drexel students are required to have individual access to a dedicated computer which meets minimum specifications, including: processor speed, memory and secondary storage requirements, connectivity to campus network, and a CD-ROM drive. Please see for further information.

The programming environment we will be using in this course is JES - Jython Environment for Students. JES can be downloaded for free at: The Jython Environment for Students is a full-featured media computation environment for programming in Jython (Jython is a variation of Python). It includes facilities for programming, debugging, and media examination. JES also comes with an extensive multimedia API, enabling easy and rapid manipulations of sounds, images, and on some platforms, video. JES is available for Windows, Linux and Macintosh.

JES - Jython Environment for Students

Drexel Learn:

This course is operating with the Drexel Learn Course Management System, which allows electronic submission of assignments, quizzes, and lab exercises, along with online chat sessions and threaded discussion groups. You can access the Drexel Learn course website from the following page

Course Content



January 6

Course Introduction
Introduction to Media Computation
Introduction to Programming in Python

Chapter 1
Chapter 2

January 13

Two-Dimensional Arrays to represent pictures
Functions, Parameters, Arguments
For Loops
Nested Loops

Chapter 3

January 20

More on loops
Debugging Strategies

Chapter 4

January 27


Chapter 5

February 3

Midterm Exam -- Tuesday February 3 -- During the lecture session
No Lab this week

Midterm: Chapters 1 - 5

February 10

One-Dimentional Arrays to represent sound
Scope of Variables
Algorithms that cross media boundaries
Using an index to manipulate part of an array

Chapter 6
Chapter 7

February 17

Building programs from multiple functions
Using file paths

Chapter 8

February 24

Accepting Input from the user
Generating Output for the user
The while loop
Design and Testing strategies

Chapter 9

March 3

Text Manipulation (strings)
Modules in the Python Standard Library

Chapter 10

March 10

List Manipulation
Reading from and Writing to files

Chapter 10

March 17

Finals Week

Chapters 1 - 10

Lecture Slides

Homework Assignments Schedule


Grading Matrix

Homework Assignments 40%
Labs 20%
Mid-term Exam 15%
Final Exam 25%

Grading Scale

A+ 98 - 100
A 93 - 97
A- 90 - 92
B+ 87 - 89
B 83 - 86
B- 80 - 82
C+ 77 - 79
C 73 - 76
C- 70 - 72
D+ 66 - 69
D 60 - 65

Graded Assignments Policies

Your lab grade is based upon your attendance in lab and the completion of  assigned group and individual lab projects. Each lab period you will be given a group assignment which must be completed  in class.  During class time you may consult with other students or the TAs if you need help on the lab. Because labs involve group work experiences, you are expected to attend and participate as part of a group, and not work alone outside the lab.

Lab attendance is required. You will get a zero for missed labs.
It is expected that you will complete your lab work during the lab period.
Lab reports are due the Wednesday after the lab by 11:59 PM. Late labs reports will not be accepted.

All lab assignments will be posted on Drexel Learn. There you will find instructions for each lab, along with questions that you must answer. You will submit your answers through Drexel Learn as well.

Students must keep electronic copies of all programs completed as part of the labs on their home machine or on their Drexel domain space. Programs written in one week's lab may be required as starting points in later labs. If you do not have your old work, you may have to complete the old labs over again!

Homework Assignments
All assignments will be posted with a due date and a late due date. Assignments received by the due date will earn full credit. If you miss the due date, you have until the late due date to submit your assignment. Late assignments will be penalized 10% per day of the full value of the assignment. (e.g. a 150 point assignment will be penalized 15 points after the first day and 30 points after the second day late). Once the late due date has passed, the assignment will not be accepted for credit.

Note that some assignments may have extra credit options available on them. Assignments that are turned in late are not subject to extra credit considerations. That is, extra credit will not be counted on any late assignment.

All written material must be prepared on a word processor and submitted electronically via Drexel Learn.

Extra Credit
Extra credit will be available occasionally on various assignments throughout the term. Since these opportunities for improving your grade are a planned part of the course, there will be no "special" or "by request" extra credit assignments at the end of the term.

Assignments that are turned in late are not subject to extra credit considerations.

Near Misses and Grade Corrections

Because all grading schemes are error-prone, you must double check all your grades. It is your responsibility to:

  1. Keep all graded assignments so that we may compare our records with yours.
  2. Check all exams grades to make sure you have been given credit where credit is due. Also check for addition errors in your final point total.
  3. Inform us immediately if you detect any errors. Waiting until after the end of the term is too late!

At the end of the term, your instructor will review each and every student grade and assign a letter grade based upon the traditional 100 point scale. However, for grades near the cut off points (on both sides) , the instructor will carefully review the student's performance and possibly raise or lower the grade based upon the following criteria:

  1. Lab Performance and Attendance. Students who attend lab and complete all of the lab assignments will be looked upon more favorably than students who do the some of the labs, or have sporadic attendance.
  2. Homework Promptness. Students who turned all their assignments on time will be looked upon more favorably than students who frequently turn assignments in late.
  3. Attendance to Lecture. Students who attend lecture will be looked upon more favorably than students who have sporadic attendance.
Special Circumstances.
Your instructors do appreciate that unforeseeable and/or uncontrollable personal issues or other circumstances may arise during the term that may make it difficult or impossible for you to complete assigned work and/or exams on time. However, it is your responsibility to inform your instructor concerning your circumstances as soon as possible when such circumstances arise and certainly before the end of the term.

Academic Honesty

The university's Academic Honesty policy is in effect for this course. This policy is availabe in the Student's Handbook Please also read the following information from the Provost Office:

You must be the sole original author of all assignments and examination solutions in their entirety, unless the instructor explicitly instructs you otherwise in written directions on an assignment or exam. Except where specifically assigned, collaborative work is a violation of academic honesty in this course. You are not to examine or use code/written solutions belonging to someone else, nor may you let anyone else examine or copy your code/written solutions.

Students found in violation of the Academic Honesty policy may receive no credit for a questionable assignment or exam, or possibly receive a failing grade for the course.

Students having difficulty fulfilling the requirements for an assignment without outside help are to seek assistance from a teaching assistant or instructor, not from another student or knowledgeable person.

It is your responsibility to avoid violating the university's policy. If you are unclear as to what the policy means in a particular situation, ask the instructor for clarification before you hand anything in.

See the examples below for clarification of this policy.


The following are acceptable: These are NOT acceptable:

In additon, please make sure you carefully read the Computer Science Department Academic Integrity Policy, which is in effect for this course. This policy can be found here.

Other important Academic Policies

In addition to the course policies listed on this syllabus, the following Univesity policies are in effect in this course:

Cell Phones and other electronic devices.

Classroom Policy

Use of cell phones and other electronic devices during class is disruptive to other students and the instructor. If you must bring your phone to class, make sure you turn the ringer off. If you need to take or make a call, quietly leave the room.

Students who bring laptops to class should turn the sound off. Start-up and shutdown music, dialogue and error alerts, and instant messaging sounds are disruptive.

Exam Policy

Cell phones, tablets, laptops and some calculators can be used to communicate with people and access Internet sites. Thus using any of these items during an exam is in direct violation of the academic honesty policies of Drexel University. Any use of any electronic device during an exam is considered an act of cheating. Students are advised not to bring these items to exams to avoid misunderstandings. If you must bring any of these items with you to the exam, turn it off and keep it in your book bag. You may not make a call, receive a call, or otherwise keep any of these items "in plain sight."

Course Change Policy

The instructor may, at her/his discretion, change any part of the course during the term, including assignments, grade breakdowns, due dates, and schedule. Such changes will be communicated to students via the annoucements tool in Drexel Learn, as well as announcements during the lecture. Students are encouraged to regularly check Drexel Learn for such changes and other important course announcements.