CS 151: Computational Thinking

Course Information for Fall 2013

Time: MWF 11:00-11:50
Place: Lovejoy 215
Final exam: Sunday, December 15 9am (Exam 13)

Instructor Information

Prof. Stephanie R. Taylor (Lectures)
Office: Roberts 224D
Email: s r taylor _at_ colby _dot_ edu
Office hours: M 1:30-3:30, T 2-5, R 1:30-3:30
By appointment (email me), and whenever my door is open

Prof. Kyle Burke (Labs)
Office: Roberts 224C
Email: k g burke _at_ colby _dot_ edu
Office hours: M 10-11 and 12-1, W 10-11 and 12-1
For Kyle's office hours, see his schedule

Course Description

This course is an introduction to computational thinking: how we can describe and solve problems using a computer. In the fall 2013 semester we will focus on graphical applications. 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. The techniques you learn will be applicable to any kind of programming you may wish to do 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.