CS 112. Computer Science I

Spring 2018


Introduction to Computing and Programming in Python: A Multimedia Approach (4th edition) by Mark J. Guzdial and Barbara Ericson.

Content of the Class

This course is designed to familiarize the student with the fundamental topics of introductory computer programming: variables, control structures (loops and conditionals), arrays, subprograms, and objects. The language used in the course is Python, a modern, easy-to-learn language that is very compatible with media and web programming. An advantage of using Python is that the language and its programming environment are free and easily downloaded. So students are encouraged to download Python onto their own personal computers. The background environment for our learning will be media (images and sound), graphical (simple turtle graphics) and textual (files/web pages).

Student Learning Outcomes


The course grade will be based on:
Homework 10%,
Class labs   10%,
Midterm 1   20%,
Midterm 2   20%,
Final Exam   40%.


There will be homework due roughly every week. It will usually be a programming project. Collaboration in the homework is permitted, but you are not allowed to copy someone else's work. It is academic dishonesty to copy/paste code from another student or from the internet. The solutions must be done individually. The homework assignments will be assigned on Moodle and you will also submit them in Moodle.

Class Participation

Programming is best learned by doing. Therefore, the class will have many in-class programming activities. You are expected to attend class and work on these activities.

Class Labs

The structure for the class involves the student working on projects while the instructor walks around the class helping out students with their individual issues. Each class has at least one lab assignment. The lab assignments will have to be turned in on Moodle. The labs will be graded to check whether the student worked on them the equivalent of a class session.


On the midterms and the final exam you must work on the problems on your own. No collaboration permitted in the exams.

Tentative dates for the midterms will be:

The first midterm will be on Wednesday February 21.

The second midterm will be on Wednesday April 11.

The final exam will be Friday May 4 from 8:30 to 11:30am.


Students are expected to come to every lecture and every exam. If the dates of the exams conflict with Lake Forest approved events, inform me as soon as possible.

Academic Honesty Policy

The student is expected to be honest with their work. In the exams, the student will be allowed to use past labs and homework assignments, but searching the internet will be considered academically dishonest. As detailed in the homework section, it is academic dishonesty to copy/paste code from another student or from the internet. The solutions must be done individually. I encourage students to be familiar with the college's Academic Honesty Policy to see the possible sanctions for academic dishonesty.

Accommodations Statement

If you believe that you need accommodations for a disability, please consult with The Learning and Teaching Center. Since accommodations may require early planning and are not retroactive, please contact the center as soon as possible. For details about the services for students with disabilities and the accomodations process, visit http://www.lakeforest.edu/academics/resources/disability/.

You are also welcome to contact me privately to discuss your academic needs. However, all disability-related accommodations must be arranged through Teryn Robinson at the Learning and Teaching Center.

Last modified on January 4, 2018.