CS 151: Computational Thinking: Visual Media

Title image Spring 2019

Lab Information for Spring 2019

The lab exercises and projects will be posted here weekly. The work in lab will lead into and be part of the week's project. Labs will count significantly towards participation. Projects will be graded on a scale of 0 to 30, with 20 points awarded for completing the project tasks, 1 for code comments (docstrings), 5 points for completing the report, and up to 4 additional points for extending the projects with additional features and clever coding.

Time: Labs W 1:00pm - 2:20pm, R 2:30pm - 3:50pm
Place: Lab: Davis 102

Lab Instructor Information

Asst. Prof. Oliver W. Layton
Office: Davis 115
Email: oliver.layton@colby.edu

M 11:00am - 12:00pm
W  2:30pm - 5:00pm
R 12:30pm - 2:00pm
F  12:00pm - 2:00pm
If my door is open, please come in!

Lab and Project Links

Lab Project Due Date
Equipping yourself for the projects What is a Shape? Tuesday February 12 2019
Python, functions, and parameters A Shape Collection Tuesday February 19, 2019
Mondrian Collage Museum Animation Tuesday February 26, 2019
Images and command-line arguments Warhol Project Tuesday March 5, 2019
Lists Cover Photos Tuesday March 12, 2019
Animations Animated Scene Friday March 22, 2019
Grammars, Files and Interpreters Fractals and Trees Tuesday April 9, 2019
Classes Better Trees Tuesday April 16, 2019
Dictionaries and Inheritance Unique Trees and Shapes Tuesday April 23, 2019
Not Quite Straight Lines Non-Photorealistic Rendering Tuesday April 30, 2019
Event-Based Programming Video Game Design Friday May 10, 2019

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.