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.