Revised Oct 24, 2025

CS 105: Introduction to Computer Programming 1


General description

This course introduces practical computer programming to students who don't have previous programming experience. Students learn programming concepts by creating interactive visualizations, simple games, and image processing effects. They also explore fundamental imperative programming language concepts, such as variables, conditionals, loops, functions, events, and arrays. Students learn general skills, such as coding style, modular design, testing, and debugging. In addition, they explore media computation topics, such as two-dimensional graphics drawing, human input, animation, and image processing.

Logistics

Audience

Normally available

Related courses

For official details, see the UW calendar.

Software/hardware used

Typical reference(s)

Required Preparation

At the start of the course, students should be able demonstrate a basic understanding of mathematical concepts. No programming background is expected.

Learning objectives

At the end of the course, students should be able to

Typical syllabus

Introduction (3 hours)

Drawing and attributes (3 hours)

Interaction and variables (3 hours)

Conditionals (3 hours)

Loops (6 hours)

Functions (3 hours)

Arrays (4.5 hours)

Objects and program design (4.5 hours)

Images, video, and libraries (6 hours)