CPSC 101b Great Ideas of Computer Science Stanley Eisenstat
MW 1:00-2:15
An introduction for nonmajors to some of the most important ideas in computer
science: What the computer is; how it works; what it can do and what it
cannot do, now and in the future. Topics include algorithms, elementary
programming, hardware, language interpretation, software engineering,
complexity, models of computation, and artificial intelligence.
No previous programming experience required.
CPSC 112a or b Introduction to Programming
CPSC 112a Daniel Abadi MWF 10:30-11:20
CPSC 112b Drew McDermott MWF 11:35-12:25
An introductory course
designed to teach students majoring in any subject how to program
computers. The language taught is either C# or JAVA.
The focus is on the development of programming skills, problem-solving methods,
and selected applications. Topics include
data types, control structures, basic algorithms,
object-oriented programming, graphical user interfaces, and
some advanced programming concepts.
No previous experience with computers necessary.
CPSC 150a Computer Science and the Modern Intellectual Agenda David Gelernter
MW 11:35-12:50
An introduction to the basic ideas of computer science (computability,
algorithm, virtual machine, symbol processing system) and of several
ongoing relationships between computer science and other fields,
including philosophy of mind, classical cognitivism, connectionism, and
artificial life.
No previous experience with computers necessary.
Satisfies the WR requirement.
CPSC 151b The Graphical User Interface: DOS to Windows to What? David Gelernter
(Not taught in 2008-2009)
The role of Graphical User Interfaces (such as the Desktop, with its
overlapping windows, icons, menus and pointer device-as embodied in Mac OS,
Microsoft Windows etc), on standard platforms such as desktop PCs, laptops,
small-screen devices etc. Why did GUIs develop in the way they did? Why have
they evolved so little since the Desktop of the 1970s? How will changing
hardware and user requirements reshape them in the future?
Prerequisite: Have used a desktop or laptop computer.
Satisfies the WR requirement.
CPSC 178a Visualization: Data, Pixels, and Ideas Holly Rushmeier
TTh 1:00-2:15
An introduction to the use of computer graphics as a medium for communication
and discovery. Topics include computer graphics primitives and their
association with data, relationships, and concepts to generate an image;
real-time interactions with images; and the application of visualization
to a variety of application domains, from science and engineering to business
and the arts.
No previous experience with computers necessary.
CPSC 179b Digital Photorealism Julie Dorsey
TTh 1:00-2:15
Examination of basic methods used to define shapes, materials, and
lighting when creating computer-generated images.
Topics include mathematical models for shape, texture models,
and lighting techniques.
Principles are applied through use of modeling/rendering software.
The term project will be the production of a short animated
video with rich visual effects.
Proficiency in high-school-level mathematics is assumed.
No previous experience with computers necessary.
CPSC 180a or b Computers and the Law
CPSC 180a Robert Dunne MWF 11:35-12:25
CPSC 180b Robert Dunne MWF 11:35-12:25
A survey and exploration of legal issues arising from the use of computers in
contemporary society, particularly in the massively networked context of the
Internet. Topics include the nature of cyberspace and cybercommunities,
constitutional rights on the electronic frontier, privacy and electronic
communication, anonymity, censorship, computer crime and torts, liability
issues, and intellectual property. Can ‘real world’ law be successfully
applied in cyberspace? If not, why not, and what are the alternatives?
No previous experience with computers or law necessary.
Satisfies the So requirement.
CPSC 181a Privacy in the Digital Age Robert Dunne
(1) MW 1:00-2:15
(2) MW 2:30-3:45
A focused consideration of potential legal problems arising from computing
technology. Topics include legal issues related to databases and privacy
rights, user interfaces, web filtering software, hot links, data
communications, digitized pornography, and junk e-mail.
After Computer Science 180a or b.
Satisfies the So requirement.
CPSC 182b Intellectual Property in the Digital Age Robert Dunne
(1) MW 1:00-2:15
(2) MW 2:30-3:45
An exploration of issues,
problems, and opportunities in the interpretation, design, and
enforcement of copyright, trademark, trade secret, and patent laws in
the context of computer hardware, software, and networks.
After Computer Science 180a or b.
Satisfies the So requirement.
CPSC 201a or b Introduction to Computer Science
CPSC 201a Dana Angluin MWF 10:30-11:20
CPSC 201b Holly Rushmeier MWF 11:35-12:25
An introduction to the concepts, techniques, and applications of computer
science for potential majors. Topics include computer systems (the design of
computers and their languages); theoretical foundations of computing
(computability, complexity, algorithm design); and artificial intelligence
(the organization of knowledge and its representation for efficient
search). Examples stress the importance of different problem-solving
methods.
After Computer Science 112a or b or equivalent.
CPSC 202a Mathematical Tools for Computer Science James Aspnes
MWF 11:35-12:25
Introduction to formal methods for reasoning and to mathematical
techniques basic to computer science. Topics include propositional logic,
discrete mathematics, and linear algebra. Emphasis on applications to
computer science: recurrences, sorting, graph traversal, Gaussian
elimination.
CPSC 223b Data Structures and Programming Techniques Michael Fischer
TTh 1:00-2:15
Topics include programming in C; data structures (arrays, stacks, queues,
lists, trees, heaps, graphs); sorting and searching; storage allocation
and management; data abstraction; programming style; testing and
debugging; writing efficient programs.
After Computer Science 201a or b or equivalent.
MATH 244a/AMTH 244a Discrete Mathematics Jayadev Athreya
TTh 11:35-12:50
Basic concepts and results in discrete mathematics:
graphs, trees, connectivity, Ramsey theorem, enumeration,
binomial coefficients, Stirling numbers.
Properties of finite set systems.
After Mathematics 115a or b or equivalent.
CPSC 290a or b Directed Research By arrangement with faculty
Individual research. Requires a faculty supervisor and the
permission of the director of undergraduate studies.
May be taken more than once for credit.