CS 151: Computational Thinking

Weekly Lab Exercises

Main course Moodle page

The lab exercises will be posted here weekly. 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: Roberts 224D
Email: s r taylor _at_ colby _dot_ edu

Office hours: M 1:30-3:30, T 2-5, F 1-3
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 midnight, Tuesday, 12 February 2013
Lab Exercise 2: Python, functions, and parameters
Project due midnight, Tuesday, 19 February 2013
Lab Exercise 3: Loops, conditionals and command line parameters
Project due midnight, Tuesday, 26 February 2013
Lab Exercise 4: Images
Project due midnight, Tuesday, 12 March 2013
Lab Exercise 5: Object Collections
Project due midnight, Friday, 22 March 2013
Lab Exercise 6: Strings, Grammars, and Trees
Project due midnight, Tuesday, 9 April 2013
Lab Exercise 7: Classes
Project due midnight, Tuesday, 16 April 2013
Lab Exercise 8: Inheritance
Project due midnight, Tuesday, 23 April 2013
Lab Exercise 9: Not Quite Straight Lines
Project due midnight, Tuesday, 30 April 2013
Lab Exercise 10: 3D Turtle
Project due midnight, Friday, 10 May 2013