CS 152: Computational Thinking: Science

Title image Fall 2016

Weekly Lab Exercises

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. Bruce A. Maxwell
Office: Davis 112
Phone: 859-5854

Office hours: Knock
M 10pm-late, R 7:30pm-late
Any time 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

Lab Exercise 2: Searching and Splitting

Lab Exercise 3: Modular Design and Lists

Lab Exercise 4: Interfacing with the Terminal

Lab Exercise 5: Representing Elephants as Lists

Lab Exercise 6: Searching

Lab Exercise 7: Classes

Lab Exercise 8: Designing Classes

Lab Exercise 9: Dictionaries and Inheritance

Lab Exercise 10: User Input and Geometric Thinking

Lab Exercise 11: Designing Interaction