CS 151: Computational Thinking: Visual Media

Title image Spring 2017

Course Information for Spring 2017

Time: MWF 10-10:50
Place: Lovejoy 215
Final exam: Friday May 12, 2017 at 9:00am

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

Prof. Ying Li (Labs)
Office: Davis 114
Email: ying li _at_ colby _dot_ edu
Office hours: M 1:00 - 2:30 pm, 4:00 - 5:00 pm, T 2:30 - 5:00 pm, W 2:30 - 4:00 pm, R 1:00 - 2:30 pm

Course Description

This course is an introduction to computational thinking: how we can describe and solve problems using a computer. The course this semester will focus on generating complex and interesting scenes and images through writing well-constructed programs. These applications will motivate how and why we would would want to write procedures, control the flow of information and processes, and organize information for easy access and manipulation. Through lectures, short homeworks, and weekly programming projects, you will learn about abstraction, how to divide and organize a process into appropriate components, how to describe processes in a computer language, and how to analyze and understand the behavior of their programs. While the projects are focused on visual media, the computational thinking skills you learn in this course are applicable to any type of programming or program design you may undertake in the future.

Learning Goals

  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

Links to Python Resources

Recommended Textbook

John Zelle, Python Programming: An Introduction to Computer Science, 1 ed., Franklin Beedle & Associates, 2003.

Note: This textbook is not required. Also note that there is a second edition, but that it is geared for a different version of Python.