CS 151: Computational Thinking: Science Applications

Weekly Lab Exercises

Main course page

The lab exercises will be posted here weekly. The usual deadline is Tuesday night at midnight (note that there are some exceptions). The work in lab will lead into and be part of the week's project. Labs will also count significantly towards participation.

Lab Instructor Information

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

Office hours: M 1-3:30, T 2:30-5, F 1-3
M 4-5 is a bonus, non-guaranteed, office hour offered many weeks
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.

Lab Exercise 1: Equipping yourself for the projects
Project Due 11:59 pm, Tuesday, 15 September 2015
Lab Exercise 2: Delving into grep and split
Project Due 11:59 pm, Tuesday, 22 September 2015
Lab Exercise 3: Modular Design and Lists
Project Due 11:59 pm, Tuesday, 29 September 2015
Lab Exercise 4: Interfacing with the Terminal
Project Due 11:59 pm, Friday, 9 October 2015
Lab Exercise 5: Representing Elephants as Lists
Project Due 11:59 pm, Tuesday, 21 October 2015
Lab Exercise 6: Searching
Project Due 11:59 pm, Tuesday, 27 October 2015
Lab Exercise 7: Classes
Project Due 11:59 pm, Tuesday, 3 November 2015
Lab Exercise 8: Designing Classes
Project Due 11:59 pm, Tuesday, 10 November 2015
Lab Exercise 9: Dictionaries and Inheritance
Project Due 11:59 pm, Tuesday, 17 November 2015
Lab Exercise 10: User Input and Geometric Thinking
Project Due 11:59 pm, Tuesday, 1 December 2015
Lab Exercise 11: Designing Interaction
Project Due 11:59 pm, Friday, 11 December 2015