General Information

(Course renumbered from CMP 230)

Description: 4 hours, 3 credits: Introduction to structured computer programming using a modern high-level programming language. Programming constructs covered to include console I/O, data types, variables, control structures, including iteration, arrays, function definitions and calls, parameter passing, functional decomposition, and an introduction to objects. Debugging techniques.
Prerequisites: MAT 104 or placement by the Department of Mathematics and Computer Science.
Note: For students who intend to major in Computer Science, Mathematics, Computer Graphics and Imaging, or the sciences. Some previous computer programming experience is highly recommended.

Grading Policy

Expectations: Students are expected to learn both the material covered in class and the material in the textbook and other assigned reading. Completing homework is an essential part of the learning experience. Students should review topics from prior courses as needed using old notes and books.

Honor Code: You are encouraged to work together on the overall design of the programs and homework. However, for specific programs and homework assignments, all work must be your own. You are responsible for knowing and following Lehman's Academic Integrity Policy, (available from the Undergraduate Bulletin, Graduate Bulletin, or the Office of Academic Standards and Evaluations).
All incidents of cheating will be reported to the Vice President of Student Affairs.

Homework: Programming exercises are posted on the class website, usually two weeks before the due date. They reinforce concepts covered in lecture. Note that as the semester progresses, the programs will require work on design and programming outside of class to complete. To receive full credit for a program, the program must perform correctly, must include comments, and be written in good style. No late homework is accepted.

In-class Quizzes: At every class meeting, there will be an in-class quiz based on the lecture notes, reading, submitted programs, and laboratory exercises.

Final Exam: The final exam is required. You make take the final at any time it is being offered, and a sign-up survey will be available in late April for you to choose your preferred time. The times for the final are available at the class webpage.

Grades: The grading for the course will be based on:

You must take and pass the final to pass the course.

Materials, Resources and Accommodating Disabilities

Textbook: Python Programming: An Introduction to Computer Science (second edition) by John Zelle (ISBN 1887902996). Approximate price: $40 (available on-line from Amazon & Powells). It is also available for $20 as an e-book.

Technology: This course uses the Python programming language available from python.org. It is available on the department computers in Gillet Hall and on most public computers in the library and the Computer Center.

Computer Access: Part of this course will use university computer laboratories. These machines are for work related to this course only and a code of conduct applies to computer use in the department and on-campus. Misusing university computers could result in losing your computer access for the rest of the term, making it exceedingly difficult to complete this course.

Tutoring: Departmental tutoring is available in the Math Lab on the 2nd floor of Gillet Hall.

Accommodating Disabilities: Lehman College is committed to providing access to all programs and curricula to all students. Students with disabilities who may need classroom accommodations are encouraged to register with the Office of Student Disability Services. For more info, please contact the Office of Student Disability Services, Shuster Hall, Room 238, phone number, 718-960-8441.

Course Objectives

At the end of the course, students should be able to:
  1. Write programs using looping and decision constructs.
  2. Design and use methods in programs.
  3. Understand the use of parameters and information passing in programs.
  4. Write programs with system and file I/O.
  5. Write and debug programs independently.