Matthew L. Wright
Associate Professor, St. Olaf College

Principles of Computer Science

CS 121 ⋅ Spring 2017

This is a past course that has already concluded. If you are looking for a current course, please click here.

Welcome to Principles of Computer Science! For course info and policies, please see the syllabus. For grades, log into Moodle.

Prof. Wright's office hours: Mon. 12:45–1:45, Wed. 9–10, Thurs. 10–11 & 1–2, Fri. 12:45–1:45, or by appointment in RMS 409

Supplemental Instruction (SI): Sun. 4:00–5:00pm, Tues. 3:00–4:00pm, Thurs. 7:00–8:00pm in RNS 203

Homework help sessions: Sun. 7:00–8:00pm, Tues. 7:00–8:00pm, Thurs. 9:00–10:00pm in RNS 203

Final Project Information

The final project of CS121 is your opportunity to apply what you have learned in this course to solve a problem of interest to you. You will work in teams of two or three students.

Choosing a Project

Choose a problem of interest to you that you can solve by writing a computer program. Here are some possible project ideas:

As you consider project ideas, also think about who in the class you would like to work with, since you will need a team of two or three students.

A project proposal (one proposal per team) is due on April 26. The proposal should containg a brief description of your project. It is recommended that you discuss your project idea(s) with the professor before writing your proposal.

Project Requirements

Your project must satisfy the following requirements:

  1. Your project must involve writing a Python program that goes well beyond the level of complexity of the homework problems in this course.
  2. Your code must be object-oriented, involving objects and methods that you define.
  3. Your code must be well-documented using comments, so that a human can read it and understand what it does.
  4. You must write a "user manual" that explains what your program does and how to use it.
  5. You must give a brief presentation about your program to the class.

Project Schedule

Grading criteria

Your project will be graded out of 100 points, according to the following criteria:

In addition, self and peer evaluations may affect your project grade by up to 40% in either direction. Different people in the same group might receive different grades depending on their contributions to the project. If you have questions or concerns about the grading criteria, please talk with the professor.