Meeting Times and Places
Lecture:
Section A Monday 09:00 - 10:50 AM Instructor: Prof. Adelaida A. Medlock Room: Crossings 149

Labs:


Instructors

Instructor:

Prof. Adelaida Alban Medlock

TAs:

Pengcheng Hong and Hanjie Liu

Office

University Crossings - Room 107

Office

University Crossings - Room 152

Phone

215-895-2672

Phone

N/A

Email

aalban@drexel.edu

Email

Pengcheng: ph365@drexel.edu

Hanjie: hl486@drexel.edu

Home Page

http://www.cs.drexel.edu/~aalban/

Home Page

http://www.cs.drexel.edu/clc/

Office Hours

Mondays 03:00 - 05:00 PM; and by appointment

Office Hours

http://www.cs.drexel.edu/clc/


Department of Computer Science Phone:
Department of Computer Science Fax:
Department of Computer Science Location:

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


Course Description, Goals and Objectives

Description:
Introduction to structured computer programming in a language designed for working with media (text, 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.

Goals:
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.

Objectives:
Students completing this course should be able to:


Prerequisites
NONE

Text
 

Introduction to Computing and Programming in Python
4th edition
Mark Guzdial and Barbara Ericson
ISBN-10: 0-13-402554-7
ISBN-13: 978-0-13-402554-4
Publisher: Pearson
Copyright: 2016


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, and connectivity to campus network. Please see http://www.drexel.edu/irt/computers-software/buying-guide/ for further information.

The programming environment we will be using in this course is JES - Jython Environment for Students. JES version 5.020 can be downloaded for free at: https://github.com/gatech-csl/jes/releases/tag/5.020 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 - Version 5.020


Drexel Learn:

This course is operating with the Drexel BlackBoard Learn (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 Drexel portal http://one.drexel.edu/ You can also access the Drexel Learn course website from the following page https://learn.dcollege.net/


Course Content

Week
Topics

Chapters

1

Course Introduction
Introduction to Media Computation
Introduction to Programming in Python

Chapter 1
Chapter 2

2

Martin Luther King, Jr. Day - University Holiday
No lecture or lab this week

3

Basic string (text) manipulation
Introduction to the for loop
Brief introduction to arrays and the index system

Chapter 3

4

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

Chapter 4

5

Conditionals Statements: if, else, elif

Chapter 5

6

Nested for loops
Side effects
Returning values from functions
Simple Debugging Strategies

Chapter 6

7

One-Dimentional Arrays to represent and manipulate sound
Scope of Variables
Using an index to manipulate parts of an array

Chapter 7
Chapter 8, part 1

7

Midterm Exam -- Wednesday February 22 -- During the lab session

Midterm: Chapters 1 - 6

8

Building programs from multiple functions
Creating and using a library of functions
Algorithms that cross media boundaries

Chapter 8, part 2
Chapter 9

9

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

Chapter 10

10

Advanced Text Manipulation (strings)
List Manipulation
Modules in the Python Standard Library
Reading from and Writing to files

Chapter 11

11

Finals Week: week of March 20th - Date/Time/Room: TBA

Chapters 1 - 11



Grading

Grading Matrix

Homework Assignments 20%
Labs 25%
Mid-term Exam 25%
Final Exam 30%

Grading Scale

A+ 97 - 100
A 94 - 96
A- 90 - 93
B+ 87 - 89
B 84 - 86
B- 80 - 83
C+ 77 - 79
C 74 - 76
C- 70 - 73
D+ 66 - 69
D 60 - 65


Graded Assignments Policies

Labs
Your lab grade is based upon your attendance to the lab and the completion of  assigned group/pairs and individual lab projects. Each lab period you will be given an 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. If you miss the lab (without the course instructor's previous knowledge and consent, you will receive a zero for that lab assignment. You are also expected to show up to the lab on time. If you are late 30 minutes or more, you will receive a zero for the assignment.

All lab assignments will be posted on Blackboard Learn. There you will find instructions for each lab, along with questions that you must answer. You will submit your answers through Blackboard 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
Homework assignments are assigned as individual work (e.g. No collaboration is allowed on individual assignments). All homework assignments will be announced in class and posted in Blackboard Learn. All assignments must be submitted on time by the posted due date. Late assignments will not be accepted.

Any written material required by an assignment must be prepared on a word processor and submitted electronically via BlackBoard Learn. Acceptable formats are MS Word and pdf files.

Extra Credit
Extra credit assignments/options may be given occasionally . 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 favourably 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 favourably than students who frequently turn assignments in late.
  3. Attendance to Lecture. Students who attend lecture will be looked upon more favourably 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 available in the Student's Handbook http://drexel.edu/studentlife/community_standards/studenthandbook/. Please also read the following information from the Provost Office: http://www.drexel.edu/provost/policies/academic_dishonesty.asp

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, share, 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 will receive no credit for the questionable assignment or exam, a half letter grade reduction on the final grade for the course (on the first occurrence), a whole letter grade reduction on each subsequent occurrence(s), and/or will possibly receive a failing grade for the course. In addition, a Drexel University Alleged Academic Misconduct Report will be filed for each occurrence of Academic Dishonesty.

If you are suspected of academic dishonesty, a note will be placed in the BB Learn course site and you will be required to communicate with the course instructor within 72 hours indicating your response to the suspected violation.

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.

Examples

The following are acceptable: These are NOT acceptable:

Other important Academic Policies

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


Class Disruption Policies

According to the student handbook (Code of Conduct section), Disruption is defined as:

"Conduct that a reasonable person would view as substantially or repeatedly interfering with the normal functioning of a class, clinical setting, co-op setting, residence hall or other setting is prohibited. Such conduct includes, but is not limited to, repeatedly leaving and entering a classroom without authorization, making loud or distracting noises, persisting in speaking without being recognized, repeatedly dominating online discussion boards or forums, or resorting to physical threats or personal insults. Students are responsible to comply with a request from a professor, instructor, supervisor, or other official regarding appropriate behavior.

Additionally, conduct that interferes with, impairs, or obstructs the orderly conduct, processes and functions of the University or which may adversely and unreasonably impinge on the legitimate interest of others is prohibited. Such conduct includes, but is not limited to, excessive noise, public intoxication, loud or indecent conduct, interference with the ability of others to enter, use, or exit any University facility, service, or activity, intentionally interfering with the freedom of expression or movement of others, interfering with University activity such as teaching, research, recreation, meetings, and public events, physical violence, reasonable apprehension of harm, or threat of violence against oneself or others."

Students disrupting the lecture and/or lab will be asked to stop the disruptive behavior. If they do not stop, the student will be asked to leave the classroom (and if they don't, public safety will be called to help), and a formal complaint will be filed with the Office of Student Conduct and Community Standards.


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/tablets to class should turn the sound off. Start-up and shut-down music, dialogue and error alerts, instant messaging sounds, etc., are disruptive.

Exam Policy

Cell phones, tablets, laptops, smart watches, and other devices 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 announcements tool in Blackboard Learn, as well as announcements during the lecture. Students are encouraged to regularly check BlackBoard Learn for such changes and other important course announcements.