The computer science department offers several introductory computer science classes. They cover different material and they are indended for different audiences.
This document is intended to help you pick the course that's right for you.
cs110
is for students who want an introduction to concepts in computer
science but are not necessarily interested in pursuing a major in CS.
The course centers around a semester project in which pairs of students develop a web site for a client, thereby developing their skills with web-based markup languages (HTML) and programming languages (JavaScript). The course also introduces some of the important topics and ideas of Computer Science, such as probability, random walks, Monte Carlo estimation, search, encryption, binary representation, and the iterated Prisoner's Dilemma. No programming experience is required, but students should have basic computer skills. High school algebra and geometry are expected. |
cs111
is for students who want an in-depth introduction to
programming and problem solving and who might want to take
more advanced computer science courses.
It is required for both the major and minor in Computer
Science
cs111 covers fundamental ideas in programming, including abstraction, modularity, recursion, control structures, and data structures. Students get hands-on experience with these ideas by designing, writing and debugging programs written in the programming language Java. Projects involve graphics, user interfaces, games, text manipulation and numerical computation. No programming experience is required, but students should have basic computer skills. High school algebra and geometry are expected. |
cs249 is for students
majoring in the natural and social sciences, and for
other students who want to learn to program and study the
methods and ideas of computational science.
Computational science is an interdisciplinary field that involves the
use of computers and mathematical models as experimental tools for
scientific inquiry.
cs249 uses MATLAB, which is a general-purpose programming language with built-in tools for matrix computation and visualization. The principles of programming that are covered apply to all other programming languages. Programming examples are taken from a variety of fields and may include: mechanical and other physical models, crystal growth and other chemical models, neuron models, bioinformatics, predator-prey models, queueing theory, discrete event simulation, economic models, and others. No programming experience is required, but students should have basic computer skills. One semester of calculus (or the equivalent) is required. |
Discussions/Labs: cs110 students are required to attend a 70-minute weekly discussion section in addition to two weekly lectures. cs111 students are required to attend a 2-hour weekly laboratory section in addition to two weekly lectures. Neither cs110 nor cs111 are considered laboratory courses.
Mathematical Modeling Distribution: Both cs110 and cs111 count for one Mathematical Modeling (MM) distribution credit. However, a student taking both of these courses can only receive MM credit for one of them. Because cs249 is a new course, it has not been recognized as a course that satisfies the MM distribution. But it probably will be, and in that case, it will probably count retroactively.
Basic Computer Skills: If you are not interested in computer science but you would like to learn how to use computers, you can take one of the classes offered by Information Services.
In addition, there is a half-unit class, cs100, that is intended for first-year students that do not have a good background in using the computer or finding resources on the Internet.
Students in cs100 learn to search, access, and critically evaluate information available on the Internet. Topics include an exploration of copyright, privacy, and security issues of digital data and electronic communications. Students use HTML and other authoring tools to maintain a web-published portfolio of their internet research.