Title image Spring 2017

CS152 Spring 2017 Lab Exercises and Projects

The lab exercises and project assignments will be posted here weekly. The work in lab on Wednesdays/Thursdays will lead into and be part of the week's project, which is typically due the following Tuesday night (midnight). Both contribute to your overall course grade (specially, lab participation and project grades).

Lab Instructor Information

Prof. Stephanie R. Taylor
Office: Davis 114
Email: s r taylor _at_ colby _dot_ edu

Office hours: Mon 1-3pm, Tues 1:30-3:30pm, Thurs (9-11am in Feb, 2:30-4:30pm Mar-May)
By appointment (email me), and whenever my door is open

Learning Goals

The learning goals for the lecture and lab are the same -- both are meant to work together to accomplish the goals for the course as a whole. They are:

  1. Students can read a simple program and correctly identify its behavior
  2. Students can convert a problem statement into a working program that solves the problem.
  3. Students understand abstraction and can break down a program into appropriate procedural and object-oriented components
  4. Students can generate an approximate model of computer memory and describe how an algorithm affects its contents.
  5. Students can communicate the result of their work and describe an algorithm.

Labs and Projects

Project 1 due Tuesday night Feb 7, 2017 (Lab: Equipping yourself for the projects, Project: What is Data?)

Project 2 due Tuesday night Feb 14, 2017 (Lab: Searching and Splitting, Project: Extracting Information)

Project 3 due Tuesday night Feb 21, 2017 (Lab: Modular Design and Lists, Project: Calculating Thermoclines)

Project 4 due Tuesday night Feb 28, 2017 (Lab: Interfacing with the Terminal, Project: Population Variability Analysis)

Project 5 due Tuesday night Mar 7, 2017 (Lab: Representing Elephants as Lists, Project: Simulating Elephant Population Management)

Project 6 due Friday night Mar 17, 2017 (Lab: Searching, Project: Optimizing the Simulation)

Project 7 due Tuesday night Apr 4, 2017 (Lab: Classes, Project: Object-Oriented Simulation Design)

Project 8 due Tuesday night Apr 11, 2017 (Lab: Designing Classes, Project: Object-Oriented Physics Simulation)

Project 9 due Tuesday night Apr 18, 2017 (Lab: Dictionaries and Inheritance, Project: Pinball)

Project 10 due Tuesday night Apr 25, 2017 (Lab: User Input and Geometric Thinking, Project: Pinball with Rotation)

Project 11 due Friday night May 5, 2017 (Lab: Designing Interaction, Project: Something Interactive)