• Want more practice with boolean expressions and truth tables? We suggest working through these problems. You can check these solutions.
  • A practice for Exam 3 is available here as well as the answers.
  • Sign up here to have project graded. Meet in 1370 CS; both project partners must attend!
  • The final project specification to create a card game is available. It will be due Monday 12/12.
  • Congrats to Karl Foss for receiving the most votes for his Trivia Game!
  • Solutions for Exam 2 are available here. Please get in touch if you have any questions.
  • If you are working ahead, Homework 10 is even availble; it isn't due until after Thanksgiving (Wed Nov 30); it is to watch TED talks and comment on them
  • Homework 9: Due Tuesday, Nov 22: Play with Binary Numbers and Explore Gigapan
  • Solutions for the sorting algorithms (Part B) for Homework 7 are available here.
  • The practice exam 2 is available here.
  • Solutions for the binary search (Part C) for Homework 6 are available here.
  • Homework 8: Due Friday 11/11: Implement a Trivia Game!
  • Homework 7: Due Friday 11/4: Explore Google Trends, Sorting, Education and Technology
  • Homework 6 is available.
  • Homework 5 is available.
  • A practice exam is available. We will go over this practice on Friday.
  • To help you prepare for Exam 1 on Monday, all of the check-up questions from previous lectures have been collected here.
  • Congrats to our 3 winners for Interactive Stories: Joshua Johanning, Rongjie Lu, and Adam Vesole. Watch their stories if you didn't see them in lecture!
  • Round 2 voting has begun. Congrats to Ashley Imme, Kameko Blair, Alexander Gunderson, Rongjie Lu, Kyle Sperl, Jake Hilborn, Adam Vesole, Tanner O'brien, Christopher Caporale, Julia Russell, and Joshua Johanning. Full information is in the updated extra credit info on Homework 3. You must vote by Sunday, midnight.
  • To get 1 extra credit point for Homework 3 (your interactive story) you must both submit to the gallery and participate in Round 1 of voting by Thursday midnight. See the updated extra credit info on Homework 3.
  • Homework 4 is available; it is due Monday, 10/03 by 9:55 am.
  • Homework 2 has been graded; see Learn@UW for details.
  • Homework 3 is available; it is due Monday, 9/26 by 9:55 am.
  • The deadline for HW 2 has been extended to Monday 9/19 at 9:55am.
  • Wednesday 9/14 is another Bring-Your-Own-Laptop (BYOL) day. We will again have about 10 laptops you can borrow.
  • Slight change in lab hours: hours now on Tuesday and fewer on Thursday. See update here.
  • This Monday, 9/12, is Bring-Your-Own-Laptop (BYOL) day in lecture. If you have a laptop, please bring it to lecture so that we can experiment together with Scratch. If you are unable to bring a laptop, you may work with a friend or borrow one of the CS 202 laptops. You should install Scratch 1.4 on your laptop before lecture; it is freely available here.
  • Homework 2 is available; it is due Friday, 9/16 by 5 pm.
  • Old news kept here.


The purpose of computing is insight, not numbers. -- Richard Wesley Hamming

Computation is revolutionizing our lives, changing how we play, work, learn, and communicate. CS 202 gives all majors an introduction to the fundamentals of computation. This course, like the field of Computer Science in general, is more than just the study of how to use computers.

In this course, you will:

  1. Design and implement creative applications involving art, animation, music, stories, and games. Computer science is a creative endeavor in which you can design, develop, and implement your own ideas. To obtain hands-on experience, you will be using a programming environment called Scratch. Scratch enables beginners to create sophisticated programs by simply dragging and dropping predefined instruction blocks. Thus, you will acquire experience decomposing problems into well-defined steps without the fear of frustrating ``syntax'' errors.
  2. Understand how computers solve difficult problems. This course explores algorithms which are step-by-step methods for accomplishing a complex task. Understanding how to solve problems in a step-by-step fashion is useful for more people than just computer scientists. Algorithms specify the work that must be done for large, complex tasks like sequencing the human genome, indexing and searching for web pages, finding a path out of a maze, or solving a rubix cube. In this course, you will investigate the types of problems we know how to solve with computation and compare different algorithms that solve the same problem.
  3. Learn how computers work. You will learn how modern computers perform computation by covering hardware and software topics. You'll understand low-level topics such as how data is stored and how instructions are executed as well as high-level topics such as how to find web pages.
  4. See a range of areas within computer science, including security, robotics, and artificial intelligence.

    CS 202 can be used to satisfy the Quantitative Reasoning A (QR-A) and Natural Sciences requirements. CS 202 can also be used as part of a certificate in Computer Sciences. CS 202 is also part of a pilot study to create a new AP course about Computer Science Principles.

    Please see the links along the left-hand side of this page for more information about the course.


Fall 2010
Time: MWF 9:55-10:45
Room: 1221 CS
Lab: 1370 CS (1st floor)

Prof Andrea Arpaci-Dusseau
Office Hours
Mon 11-12, Wed 11-12
7375 Computer Sciences
Email: dusseau "at"

  • CS202 Home
  • TAs and Lab Hours
  • Lecture Schedule w/ Slides
  • Grading
  • Homeworks
  • Projects
  • Exams
  • Scratch Examples
  • Readings
  • Computing Resources
  • Outreach Opportunity
  • Interesting Links
  • Scratch
  • UW Computer Sciences Dept