This class is designed as an introduction to the concepts and practice
of Computer Science. Computer scientists use a wide variety of tools,
techniques and mathematical language and structures to model
computational problems and the world. In this class students will be
introduced to some of these tools, techniques, and language. We will
do many hands-on exercises to develop our facility with computers, our
intuition in problem solving, and our skills in numerical literacy and
critical analysis. We will consider the historical background of
computing, and be exposed to a variety of mathematical objects and
concepts. We will demonstrate some intriguing computing paradoxes and
discuss some open scientific questions. Students will leave the class
with a better understanding of the nature of computation and the
implementation of solutions to real-world problems on a computer.

During the term students will be exposed to several of the recognized
sub-fields of the discipline of Computer Science, namely, algorithms,
intelligent systems, databases, networks & communications, and
architectures & systems. There will be general information about the
CS profession, employment prospects, survival strategies in the major,
time management skills, and the various academic resources available
at UC. We will expose students to a powerful, widely-used yet simple
programming language called Matlab.