As a society, we have become dependent on computer applications to enable myriad daily tasks including communication, scheduling, data storage and retrieval, and shopping, as well as the workflows of industry and academia. But what is computer software, and how is it developed? CS108 is an introduction to object-oriented and procedural programming. Students develop an understanding of the fundamental constructs and patterns present in all programming languages, with a focus on developing applications for users. While learning to program, students practice the skill of abstract thinking and decomposing complex problems into logical subtasks, as well as a tool to apply to solving problems in other disciplines.

Catalogue Description

Introduction to object-oriented and procedural programming, including: understanding fundamental constructs and patterns present in programming languages; using abstraction to simplify complex problems into concrete subtasks; methodical and efficient programming and debugging. Suitable for students not concentrating in Computer Science.

Core Competencies

Why Python

Python is a remarkably powerful dynamic programming language that is used in a wide variety of application domains. Some of its distinguishing features include:

More at

Who Uses Python?

Python is used successfully in thousands of real-world business applications around the world, including many large and mission critical systems. Success stories include, Google, Honeywell, Philips, AstraZeneca and George Lucas's Industrial Light and Magic.

More at

What You Need to Know About Computer Programming

I believe anyone can succeed at learning to program. This is a first course in computer programming, and there are no formal pre-requisites. The only expectation of students' computer skills before taking this class is to be comfortable with using email, web browsing, and copying and pasting text. In addition, familiarity with high school-level algebra (e.g. MA 118) is assumed.

In addition, you will need time, and this is more important than you can imagine. Many people believe that computer programming is extremely difficult, and that the code is written in some arcane syntax understandable only by experts. Although some parts of the process are indeed complex, most of the source code required for homework assignments can be easily understood.

So, what makes programming so hard? It's not the difficulty: It's the time required to achieve any decent results. The homework assignments will take time, so make sure you have plenty of it.

Adapted from text in "Core Techniques and Algorithms in Game Programming," Daniel Sanchez-Crespo Dalmau.

Created by: Aaron Stevens,
Last update: 1 September 2008