CSC 104 - Programming I : Python

Centenary College of Louisiana
1A Magale Library
MW 2-3:45 - Fall 2007

Instructor: Dr. Mark Goadrich

Contact Info
104 Wright Building
(318) 869-5194

Office Hours
MW 10-12, T 10-11
or by appointment

Overview | Syllabus | Labs | Projects | Exams | Grading

What's New

Course Details


Python Programming: An Introduction to Computer Science
by John Zelle, 2003
Wartburg College, Iowa
ISBN: 978-1887902991
Find this book at Amazon


This course is an introduction to the study of computer science using the programming language of Python. Topics covered will include mathematical functions, string manipulation, logic and control structures, file input/output, elementary data structures, and object-oriented programming. You will learn the principles of problem solving, programming and algorithm development in lab assignments, projects and exams.

We will be studying these computer-science concepts through an interdisciplinary approach focused on the search for intelligent life in the universe. Specifically, we will be asking four main questions:

Answers to these questions will be explored within the fields of astrobiology, cognitive science, mathematics and cryptography, and we will see how elements of computer science underlie these disciplines.

Quizzes and Participation

You are encouraged to attend class and participate in discussions. Sporadically throughout the semester, there will be short quizzes covering material from the previous class. These quizzes will serve as records of your attendance, and in total they will comprise 5% of your final grade. Active participation in class discussions will comprise another 5% of your final grade. This will be awarded for answering questions, asking questions, presenting material, etc.

Extra Credit

Extra credit for this course can be earned by participating in the Centenary Math Problem of the Week (POTW). Each reasonable submission will be worth an additional 0.5% toward your final grade, CC me with your submission for credit.


Centenary assures students with disabilities equal opportunity to reach the same level of achievement as other students. Strict confidentiality will be maintained on students with disabilities. Services for students with disabilities are available through the Counseling Center, located on the ground floor of Rotary Residence Hall, phone (318) 869-5424.

Honor Code

All students are bound by the Honor System. The Honor System is applicable to all academic work. See the Centenary College Handbook for the complete Honor Code.


Extensions and rescheduling for labs, projects, exams and quizzes are only given when circumstances beyond your control (e.g. being sick, choir or sports travel) prevent you from completing a project on time. You must notify me either by email or phone of your circumstances well in advance of the due date. No extensions are given for requests made within three days of the due date.


We will be covering most of the material in the textbook, but not exactly following the same order. You should view your textbook as another perspective on the material presented in class and covered in the labs. We will also be using additional supplemental material such as relevant web-pages and background material for the lab assignments. Readings will be assigned before material will be covered in class. You are expected to review the material and come to class prepared. As readings are assigned, they will be posted here.


Much of your experience with programming in this course will be through weekly labs, which will comprise 25% of your final grade. Each lab will be assigned in class with time allotted to work through the materials, and will be due at the beginning of the next class period. All labs are weighted equally within the Lab portion of your final grade.

You may work with a partner on the lab assignments if you choose. Their name must be listed on any code you hand in as joint work.

You are expected to keep a lab book to record your work and class notes. Each lab should include a copy of the assignment, your solution, and an evaluation of both the lab and your performance. These will be periodically examined throughout the semester.


You will have four projects in this course, one about every four weeks, for a total of 35% of your final grade. These projects will cover concepts we have discussed in class and in labs, and will be due approximately two weeks after they are assigned.

You must work individually on these projects. You may discuss concepts and ideas with your classmates, but the code you turn in must be your own. You will be graded not only on correctness, but also technique, documentation and evaluation of your solution. Further details on the grading standards and handin instructions for each project will be given when they are assigned.


There will be two in-class exams, each worth 15% of your final grade, and an optional final exam. They will consist of short answer along with writing and debugging code. If you choose to take the final, I will drop the lowest score from among the three exams. The final exam will be cumulative over the whole semester.


Your final grade for this course will be based on the Labs, Projects, Quizzes, Exams and Participation described above.
Grading Scale
Exam 115%
Exam 215%

© Mark Goadrich, Centenary College of Louisiana