General Information

Description: 4 hours, 3 credits: Introduction to structured computer programming and statistical analysis with a focus on tools for data acquisition, analysis, and visualization. Programming constructs covered I/O, data types, variables, control structures, including iteration, arrays, function definitions and calls, parameter passing, and functional decomposition.
Prerequisites: MAT 104 or placement by the Department of Mathematics and Computer Science.
Note: Not meant for students who intend to major in Computer Science. No previous computer programming experience assumed.

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 and lab. 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. You can miss up to 5 programming assignments without affecting your grade (if you turn in all the programming assignments, we will drop the lowest 5 scores). No late homework is accepted.

Classwork & Quizzes: At every class meeting, there will be an in-class quiz or group work 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

Textbooks: The following are required for the course:

Technology: This course uses the Python and R programming language available from or via Anaconda. It is available on the department computers in Gillet Hall and on most public computers in the library and the Computer Center. We will be using Python 3. There are many free on-line versions that you could use via a browser, such as pythonanywhere. R is available from the R Project for Statistical Computing.

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. Use standard file input and output (I/O) to extract data from files.
  3. Use lists, tuples, and dictionaries to store data.
  4. Employ inferential statistical methods to analyze data.
  5. Visualize data from multiple sources.
  6. Write and debug programs independently.