General Information

Section:Class Hours:Instructor:E-mail:Office:Office Hours:
CMP 230 02 (13891)T, Th 1:00-2:40Eric Fordeford AT gc.cuny.eduGI-137Th 4:30-6:00
CMP 230 H401 (13892)M 9:00-10:40
GI-333
Sameh Fakhouri
Ali Syed
sameh.fakhouri AT lehman.cuny.edu
asyed2 AT gc.cuny.edu
GI-102
GI-137
T 3:00-6:00
W 11:30-1:00
CMP 230 H402 (13892)W 9:00-10:40
GI-217
GI-219

Sameh Fakhouri
Ali Syed

sameh.fakhouri AT lehman.cuny.edu
asyed2 AT gc.cuny.edu

GI-102
GI-137

T 3:00-6:00
W 11:30-1:00
CMP 230 ZG81 (13894)T, Th 6-7:40pmEric Fordeford AT gc.cuny.eduGI-137Th 4:30-6:00
CIS 166 01 (14109)M, W 1:00-2:40pm
GI-333, GI-219
Katherine St. John
Ali Syed
stjohn AT lehman.cuny.edu
asyed2 AT gc.cuny.edu
GI-137
GI-137
M 2:40-4:00 & Th 10:00-11:30
W 1:30-1:00
CIS 166 I401 (13892)M, W 11:00-12:40pm
GI-221
Konstantinos Pouliasiskonstantinos.pouliasis AT gmail.comGI-137W 12:45-2:15
CIS 166 Z81 (13873)M, W 6:00-7:40
GI-221
Tom Flynntflynn AT gc.cuny.eduGI-137W 4:00-5:30

Description: 4 hours, 4 credits

CIS 166: Computers, algorithms, and programs. Data representation; processing of quantitative and character data. Control structures, multidimensional arrays. Introduction to formatted input/output procedures. Programming applications drawn from business information processing.
Prerequisites: MAT 104 or placement by the Department of Mathematics and Computer Science.
Note: Intended for students in Accounting or Computer Information Systems. Not intended for students in Mathematics or Computer Science.

CMP 230: 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 code (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.

Participation and Laboratory Work: Participation in class is an integral part of the learning experience. Part of your grade will be based on submitting work completed during the laboratory sessions of the course and attending and actively participating in both lecture and laboratory sessions.

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 take 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. Of the five programs submitted via Blackboard, two will be graded thoroughly and returned with comments.

The homework grade will only be based on the two programs chosen each week (10 points each for a total of 20 points a week). No late homework is accepted. Extra credit will be awarded for graded programs that are submitted early. If a graded program is submitted more than 12 hours early, 1 extra credit point will be awarded. For graded programs submitted more than 24 hours early, 2 extra credit points will be awarded.

Exams: There will be two midterm exams and a final exam. The dates of the exams are:

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

Since the final exam is comprehensive, if you do better on the final exam than the midterm exams, the final grade can replace those grades. This will be done automatically when your final grade is calculated. You must take and pass the final to pass the course. There are no make-up exams.

Materials, Resources and Accommodating Disabilities

Textbook: Python Programming: An Introduction to Computer Science by John Zelle (ISBN 978-1-59028-241-0). Approximate price: $40 (available on-line from Amazon & Powells).

Technology: This course uses the python programming language. It is available on the department computers in Gillet Hall. See python website for information on installing it on your own machine.

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. Additional office hours will be available by course instructors throughout the semester. See the course Blackboard page for announcements.

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.