Latest (and probably better) version of this document is on my website.

Contact Information(top)
Instructor: Dan Fleck

   Email:  dfleck (at)
   Phone: 703-993-4198
   AOL IM: danpf1

   Office: ST-II 405
   Office Hours: Wed 1:30-2:20, Fri 11:30-12:20, or anytime by appointment

Graduate TAs:

   Gautam Singh
   Email:  gsinghc (at)
Office Hours: Tues 1:30-3:30
   Office: STII - 365
   Lab Section: 205-Wed 4:30-5:20,  208-Wed 3:30-4:20,  210-Wed 5:30-6:20
   URL: (Helpful links for Python and GMU here)
   Sneha Rao
   Email:  srao2 (at)
Office Hours: TBD
   Office: STII - 365
   Lab Section: 201-Wed 11:30-12:20,  203-Fri 11:30-12:20,  211-Tues 10:30-11:20

   Mark Coletti
   Email:  mcoletti (at)
Office Hours:  Tues 2-3, Wed 3:30-4:30, Thurs 2-3
   Office: STII - 365
   Lab Section: 206-Mon 3:30-4:20, 212-Mon 1:30-2:20

Undergraduate TAs:
    Matthew Hoppe - mhoppe (at)
    Emil Taghiyev - etaghiye (at)
    Sarah Welling - swelling (at)

Class Location(top)

   CS 112 - 001 - 13223 - 12:30-1:20 - MWF - STII 9
   CS 112 - 002 - 13224 -  2:30-3:20  - MWF - Fine Arts Building B110

   You must also be registered for a lab section. Attendance at labs is mandatory.


Course Objective and Information(top)

This course introduces the use of computer programming as a problem-solving tool. Topics in procedural programming include expressions, control structures, simple data types, input/output, graphical interfaces, testing, debugging, and programming environments. During this class we will use the Python programming language.

Students are responsible for reading and understanding the assigned material in the textbook, which may or may not be covered in class. Questions should be presented in class or during instructor/GTAs office hours.

Throughout this course we will use Blackboard ( for assignment submissions, grade distributions, and discussion forums. The first place to ask for help is through the Blackboard forums.

NOTE: All students will use section 001 in Blackboard. This is a current limitation of the Blackboard pilot program.

Prerequisite: Satisfaction of prerequisites for MATH 113. MATH 113 prerequisites: thorough understanding of high school algebra and trigonometry, and specified score on Math Placement Test; or grade of C or better in MATH 105. (Essentially if you have taken or are currently in MATH 113 you're okay. If you have passed MATH 105 you're okay. If you placed out of MATH 105 or a higher clas you're okay.)

Textbook (top)

Python Programming: An Introduction to Computer Science by John Zelle (Franklin, Beedle & Associates – 2004).

Grading Policy (top)

Quizzes and Class Participation10%Announced and unannounced quizzes
will be given in the lab
Midterm Exam20%10% for midterm 1, 10% for midterm 2
Final Exam30%001 - Mon, May 12, 2008, 10:30-1:15pm
002 - Fri,    May 9, 2008,     1:30-4:15pm

GMU ID required to submit the final

If you feel you deserve a better grade on an assignment, you can appeal your grade in writing. Written grade appeals will only be accepted within 7 days of you receivng the grade. The appeal should clearly explain why you feel you deserve a higher grade. I will never lower your grade due to an appeal, but I may or may not raise your grade depending on your justification.

LATE POLICY: All assignments must be submitted by the deadline to be considered for full credit. Late lab assignments will not be accepted. Late projects will be tolerated, but are subject to a penalty of 20% per day. No assignment will be accepted for credit after the last class meeting. You should start early on all assignments. Many problems arise when programming, both in your control and outside your control (hardware problems, computer lab unavailable, etc...).

As with all GMU courses, this course is governed by the GMU Honor Code. In this course, all assignments, exams, and project submissions carry with them an implicit statement that it is the sole work of the author, unless joint work is explicitly authorized. Help may be obtained from the instructor or other students to understand the description of the problem and any technology, but the solution, particularly the design portion, must be the student's own work. If joint work is authorized, all contributing students must be listed on the submission. Any deviation from this is considered an Honor Code violation, and as a minimum, will result in failure of the submission and as a maximum, failure of the class.

Plagiarism is stealing the work of others and presenting it as your own. This includes written papers, but also computer programs, presentations, etc... anything that was not created by you should be referenced. When in doubt, add a reference. If you have any questions about whether you can or cannot use something you've found ask your professor or TA. If another student let you copy their work you are BOTH guilty. Any plagiarism violations will be sent to the Honor Committee. If you are found guilty of plagiarism twice in your university career you will be expelled. This is a very serious offense! More information about plagiarism is on the writing center website and at If you feel the need to do this for any reason, come talk to your professor and we'll work out a better plan. There is ALWAYS a better plan than plagiarising!

This class will use automated tools to detect plagiarism (including written materials and source code).

If you are a student with a disability and you need academic accommodations, please see me and contact the Disability Resource Center (DRC) at 703.993.2474. All academic accommodations must be arranged through that office.