CSci 150: Foundations of computer science
Home Syllabus Readings Projects Tests

Instructor Dr. Carl Burch
Telephone:450–1377 (office); 499–9892 (home)
Office:MCRey 310
Office hours:  T 8:30–9:30, W 10:00–11:00, RF 1:30–2:30
drop-ins, appointments always welcome

Our primary goal is to understand the fundamentals of computing, with a particular emphasis on computer programming. By the end of this course, you should be able to:

  • Given specifications, write an elementary Python program (< 50 statements) of imperative, conditional, and iterative statements combined in nested and sequential configurations.
  • Incorporate data into programs including numeric values, strings, lists, and dictionaries.
  • Decompose tasks into functions and classes, distinguishing between the object-oriented and procedural programming paradigms.
  • Write programs to process text files, using regular expressions to identify components.
  • Compare the efficiency of alternative algorithms such as for sorting and searching data.

We will rely on on-line materials; no textbook is expected.

Web page


There are a total of 1,000 points over the semester. Letter grades will be assigned with cutoffs at 900 for an A, 800 for B, 700 for C, and 600 for D.

Class attendance/participation (see below) 60 pts
Exercises (see below) 170 pts
Projects (eight, variable credit) 300 pts
Tests (four, 80 pts each) 320 pts
Final 150 pts
TOTAL 1,000 pts

I reserve the right to make adjustments in the entire grading scheme or in particular cases.

While I do not have a specific goal about the assigned grades, the grades I assign tend to average around 3.0. Note that I do not normally “curve” grades at the end of the course; instead, I monitor your progress and perform any “curves” as I grade tests. When I “curve” test scores, I add a fixed amount to all scores; as a result, some test scores may end up being above 100%. I anticipate, but will not insist, that the median test score will be around 75%. Normally, scores in the non-test categories will be higher; the average class grade will likely be a B even though the average test grade is a C.


Several points are designated for “class participation.” I will assign half of these points near the semester's middle, and the other half near the semester's end.

I do monitor your class attendance. If your attendance is excellent (missing one or fewer classes each half-semester), you will receive at least 60% of these attendance/participation points. If you feel your absence should be excused, please warn me about the absence a day in advance. Whether I excuse your absence is my call.

The remaining 40% of these points are for participation, including both questions during class and responses to questions during class. I may give more than full credit in unusual circumstances. Take this as an invitation: I value your active participation in class, and I expect you to show evidence of being fully tuned in during class sessions.


You should bring a laptop (or tablet with keyboard) to class each day. Quite often in class you will be assigned exercises to complete and submit on-line. You can discuss these exercises freely with other students, but each student should submit separate solutions.

Each exercise will be due when the next class period starts; late submissions will not be accepted. Each will be evaluated on a A/A–/B/C/D/F scale:

A4.0No notable flaws.
A–3.6Correct except for minor stylistic flaw.
B3.0Minor flaw but works at least most of the time.
C2.0 Major flaw or multiple minor flaws but usually works.
D1.0 Does not work for most inputs.
F0.0 No meaningful attempt.

To compute the number of points awarded for exercises, a GPA weighted by the announced “credits” for each exercise will be divided by 4.0 and multiplied by the number of course points available (total of 170 for the semester).


There will be eight projects. In most cases, you may work with one other student on each project, in which case you should jointly submit a single solution. Each project will be distributed through the course Web page.

You will be given at least a week to complete each project. For each 24-hour period after the time due, I will deduct up to 10% of the points possible.


The scheduled days for tests is listed below and will likely not change.

Wed 5 FebTest 1
Wed 26 FebTest 2
Wed 19 MarTest 3
Wed 16 AprTest 4
Mon 12 MayFinal, 9:00am

Tests will be 50 minutes long, and the final will be 120 minutes long.

If you miss a test, you must receive advance permission from me to receive more than a 0. (Dire medical emergencies usually constitute an exception.) If you are excused from the test, I will either double your lowest quiz or exam score or administer a make-up, at my discretion. Let me know well in advance — 24 hours for exams and quizzes, and two weeks for the final. I would like to remind you that, when e-mail is impossible, telephones exist also. Do not skip a test without my prior approval!

Note that I may require you to document your reason for absence. Travel arrangements and work schedules are not adequate reasons to miss a test.


Any instances of academic dishonesty (plagiarism, cheating on exams or quizzes, submitting work that is not fully your own, etc.) will be reported to the Academic Integrity Committee. For details on the procedures involved with academic dishonesty issues please refer to the Hendrix catalog.

You must properly attribute any work or ideas you use in assignments for this course which are quoted or derived from others. Plagiarism includes not only copying the ideas and the written and spoken words of others, but also copying or otherwise appropriating their computer files as well. Interfering with the work of others is also a serious academic offense.

Discussing or viewing others' solutions to projects is officially out of bounds, as is discussing or showing your own solution to others. In practice, I realize, you may help other students; this presents a problem only when the solution you submit is substantially similar to another student's. A strong correlation between your solution and a classmate's solution constitutes evidence of cheating.

Office hours

Feel free to stop by my office any time you want to talk about something related to the class. I do have “office hours” listed on the Web page, but they are not intended to limit you. The office hours represent when I will try to be available in my office, but I'm equally available at all times that my office door is open. I'm also happy to arrange appointments.

If you're not in the building, feel free to telephone my office. And if I'm not in my office, you can send e-mail. But please try to contact me directly before e-mail: E-mail is much less efficient.


Most Hendrix students intuitively know the appropriate bounds for behavior in class. But: Cellphone use is prohibited during class, even for text-message or leaving the classroom to receive calls. Use of laptops is allowed, but only for activities related directly to what is currently being discussed.

Any inappropriate use of electronic devices (or of reading materials) is worse than an absence, since it distracts other students. It will count accordingly in the attendance/participation policy; you could potentially receive a negative score.

On tests, no electronic devices other than a simple watch are permitted.


It is the policy of Hendrix College to accommodate students with disabilities, pursuant to federal and state law. Any student who needs accommodation in relation to a recognized disability should inform the instructor at the beginning of the course. Students should contact Julie Brown in Academic Support Services (505.2954; to begin the accommodation process.