News
- [Dec 21] Due to popular demand, here are the answers to the
practice exam. The minimal spanning tree didn't show up in the
scanned copy; the correct path was shown in the Lecture Slides for "Problem
2: Spanning Trees" for the P vs. NP lecture.
- [Dec 19] You may find
this Practice Exam and
list of topics/questions useful
for studying for the final exam. Remember, the final exam will be
multiple choice and covers material only since Exam 2. Be sure to
bring a pencil and know your UW student ID number. Good luck!
- [Dec 17] The review for the final exam is tentatively
scheduled for Monday (Dec 20) at 6:00pm in CS 1240.
- [Dec 12] Use this sheet to sign up for a 15 minute
one-on-one demo with the TA for grading Project 2; all meetings are
in CS 1370.
- [Dec 8] Answers to homework 8 are available
- [Dec 6] Homework 10 (to upload your project 2, comment on
others, and aparticipate in the demo) is available; these components
are no longer part of the points for Project 2.
- [Dec 3] The TA's helpful guide to homework 8.
- [Dec 1] Answers to Exam 2 are available
- [Nov 29] Homework 9 is
available early in case you want to have more control over your time
in these last weeks. The homework is to use either Google Trends or
Google Insights. This homework is due next Wednesday, 12/08.
- [Nov 29] Homework 8 on
Counting Operations and Sorting is due Friday 12/03 before lecture.
- [Nov 22] We had many great games for Project 1. Please
help publicize them on the Scratch website by viewing them all and clicking "Love it".
- [Nov 22] Project 2
to create a Trivia Quiz (using lists) is available.
- [Nov 17] Solutions to Homework 7 available.
- [Nov 16] You should review
the practice exam and code
appendix before the Exam on Friday.
Come prepared to lecture on Wednesday with any questions you may have!
- [Nov 11] An example solution to Homework 6 availble.
- [Nov 8] Homework 7 on
Binary Search and Replacement Algorithms is due Friday 11/12 before lecture.
- [Oct 29] Homework 6 on
using Lists in Scratch is due Friday 11/5 before lecture.
- [Oct 28] You must sign-up for a 20 minute demo with one of
the TAs to have your Project 1 graded; use this page to
sign up for a timeslot. All demos are in CS 1370.
- [Oct 22] Answers for Exam 1 are available.
- [Oct 11] The practice for Exam 1 is available.
- [Oct 11] Solutions to Homework 5 available.
- [Oct 11] Solutions to Homework 4 available.
- [Oct 5] Project 1 to create a game in Scratch is available.
- [Oct 1] Homework 5 on
Boolean Logic and Frontiers of CS (Ted Talks) is due Friday 10/8 before lecture.
- [Oct 1] Read this before the class on Friday about Social Robots
- [Sep 30] An example decision tree of Homework 3 can be found here.
- [Sep 24] Homework 4 on
Binary Numbers and Variables is due Friday 10/1 before lecture.
- [Sep 22] Interested in knowing more about how movie
recommendation systems like the ones at NetFlix really work? Read
this engaging article by Clive Thompson in the New York Times
Magazine called
If
You Liked This...
- [Sep 20] An example solution of Homework 2 can be found here.
- [Sep 17] Assignment 3 to
draw a decision tree and extend an interactive story in Scratch is due on Friday, Sep 24.
- [Sep 10] TA lab hours
Click on the link to know the timings of optional lab hours.
- [Sep 10] Assignment 2 (to
draw 3 shapes in Scratch) is due on Friday, Sep 17.
- [Sep 7] Vote on when we should hold optional lab hours using this
poll.
- [Sep 3] Assignment 1 (to comment on existing Scratch
projects) is due on Friday, Sep 10.
- Welcome to CS 202! We are looking forward to meeting you on the
first day of classes in the Fall!
Overview
The purpose of computing is insight, not numbers. -- Richard Wesley Hamming
Designed for a diverse audience, this course examines some of
the fundamental ideas behind the science of computing. This course,
like the field of Computer Science in general, is more than just the
study of how to use computers. At the highest level, this course focuses on
studying algorithms which are step-by-step methods for
accomplishing a complex task.
Algorithms are useful in more places than you might imagine.
Algorithms specify the work that must be done for large, complex tasks
like sequencing the human genome and indexing and searching for web
pages. But, algorithms can also describe how people can approach
problems like finding a path out of a maze or solving a rubix cube.
Understanding how to solve problems in a step-by-step fashion is
useful for more than just computer scientists.
In this course, we will investigate the types of problems we currently
know how to solve with computation. We will compare different
algorithms that solve the same problem and determine which are the
most efficient. We will learn how modern computers perform
computation by covering hardware and software topics on how data is
stored and how instructions are executed. We will also survey the
wide range of areas within computer science, including robotics,
human-computer interaction, and artificial intelligence.
To obtain hands-on experience with algorithms, we will be using a new
programming environment called Scratch.
Scratch enables beginners to
create sophisticated programs by simply dragging and dropping
predefined instruction blocks. Thus, we will acquire experience
decomposing problems into well-defined steps without the fear of
frustrating ``syntax'' errors.
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.
Please see the links along the left-hand side of this page for more
information about the course.