CSC 207 - Introduction to Computer Science

Centenary College of Louisiana
Magale 1A
MWF 12-1 R 1-4 - Fall 2012

Instructor: Dr. Mark Goadrich

Contact Info
104 Wright Building
(318) 869-5194

Office Hours
or by appointment

Overview | Syllabus | Labs | Projects | Exams | Grading

Course Details


How to Think Like a (Python) Programmer
by Allen Downey, 2007
Olin College, MA
This textbook is open-source; I have reorganized and edited it to match our course syllabus.

Software and Hardware

Python Scratch App Inventor Arduino Sifteo Cubes


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 augmented by tangible computing devices. Specifically, we will be incorporating:

Quizzes and Participation

Sporadically throughout the semester, there will be short quizzes covering material from the previous class. These quizzes will comprise 6% of your final grade.

You are encouraged to attend class and participate in discussions every day. 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.

You will be expected to sign up for a Twitter account and use it regularly to post status updates about the class and your progress in labs and projects. I will use this to share class updates with you.


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. You may discuss topics with other students and tutors, but all code you write must be your own, and you must be able to explain to me how it works. In this course, it is a violation of the honor code to look at code from previous semesters or in other students' directories.


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, approximately one new chapter each week. 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.


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 will be handing in your programming lab work on the remote cs server, and written portions through Google Documents. Instructions to do so will be included in each lab. For in-class work and notes, you should purchase a USB Flash Drive, the bookstore has 1GB for around $7.00. Do not save your material on the computers in Magale 1A, it is insecure.

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.

0Who are you?Aug 20thAug 20th
1Communication and OrigamiAug 20thAug 22nd
2Building Blocks of ProgrammingAug 23rdAug 27th
3Kepler and NewtonAug 30thSept 5th
4Boolean Logic PuzzlesAug 31stSept 6th
5Edible Mushroom DetectorSept 6thSept 10th
6Arduino CircuitsSept 10thSept 17th
7Guess My NumberSept 20stSep 24th
8Curiouser and CuriouserSept 26thSept 27th
9Mutation is the WordSept 27thOct 3rd
10Caesar's SecretsOct 4thOct 8th
11Functional PracticeOct 5thOct 9th
12Gibberish GeneratorOct 18hOct 22nd
13Zen ReadingsOct 18thOct 19th
14Fractal RecursionOct 24thOct 25th
15App InventorNov 1stNov 5th
16Die Hard IIINov 8thNov 12th
17Birthday CakeNov 9thNov 12th
18Sifteo IntroductionNov 14thNov 15th
19Python ChallengeDec 6thDec 7th


You will have three projects in this course, one about every five weeks, for a total of 34% 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.

1Project 1 This Day in History 5%Sept 11thSep 21st
2Project 2 Bulls and Cows 10%Oct 10thOct 26th
3Project 3 Independent Choice 19%Nov 15thFinal


There will be three in-class exams, each worth 15% of your final grade. They will consist of short answer along with writing and debugging code.


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

© Mark Goadrich, Centenary College of Louisiana