General Information

Section: Class Hours: Room: Instructor: E-mail: Office: Office Hours:
CMP 230 C401 (16581) T, Th 11:00 AM -12:40 PM GI-219 Sameh Fakhouri sameh.fakhouri AT lehman.cuny.edu GI-102 Wednesdays 1:00-4:00 PM
CIS 166 01 (16490) M, W 1:00-2:40 PM GI-221 Konstantinos Pouliasis konstantinos.pouliasis AT gmail.com GI-137E Wednesdays 3:00-4:00 PM
CIS 166 F401 (16860) T, Th 4:00-5:40 PM GI-221 Eric Ford eford AT gc.cuny.edu GI-137E Tuesdays 3:00-4:00 PM
CIS 166 ZF81 (16489) M, W 6:00-7:40 PM GI-221 Tom Flynn tflynn AT gc.cuny.edu GI-137E Mondays 2:00-3:30 PM
CMP 230 01 (16584) M, W 4:00-5:40 PM GI-221 Tom Flynn tflynn AT gc.cuny.edu GI-137E Mondays 2:00-3:30 PM
CIS 166 I401 (16488) M, W 11:00 AM - 12:40 PM GI-219 Ali Syed asyed2 AT gc.cuny.edu GI-137E Wednesdays 12:45-1:45 pm
CMP 230 H401 (16587) M, W 9:00-10:40 AM GI-219 Ali Syed asyed2 AT gc.cuny.edu GI-137E Wednesdays 12:45-1:45 pm

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 problem sets are due most weeks. Problem sets are posted on the class website, they reinforce concepts covered in class. Each problem set will have 5 problems. We will select 1 of these problems for full grading. That problem will be worth 10 points. To receive full credit for a program, the program must perform correctly, must include comments, and be written in good style. The other 4 problems will be graded on effort only and will each be worth 1 point. Please note that each problem has different due date. Extra credit will be availble for the 1 fully graded problem and will consist of 1 point for the completion of the problem 24 hrs ahead of the deadline and 2 points for the completion of the problem 48 hrs ahead of the deadline.

The homework grade will only be based on the program chosen each week and the effort shown in the other 4 programs. (10 points + 4 points for a total of 14 points a week, plus a possible 2 points extra credit). No late homework is accepted.

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.