Courses

Below are the courses offered by the Department of Computer Science. Please see the University Bulletin for complete descriptions and the Schedule of Classes for what is being offered this semester.

Undergraduate Core Courses for the BA

  • CS 11a: Programming in Java and C
  • CS 12b: Advanced Programming Techniques
  • CS 21a: Data Structures
  • CS 29a: Discrete Structures
  • CS 131a: Computer Structures and Organization

Additional Core Courses for the BS

  • CS 121b: Structure and Interpretation of Computer Programs
  • CS 130a: Intro. to Theory of Computation

Undergraduate Electives

  • CS 2a: Introduction to Computers
  • CS 164a: Introduction to 3D Animation
  • CS 93a,b: Research Internship
  • CS 98a,b: Independent Study
  • CS 99d: Senior Research

Graduate/Advanced Undergraduate Electives

  • CS 101a: Artificial Intelligence
  • CS 111a: Topics in Computational Cognitive Science
  • CS 112a: Modal, Temporal, and Spatial Logic for Language
  • CS 113b: Artificial Life
  • CS 114b: Topics in Computational Linguistics
  • CS 118a: Computer Supported Cooperation
  • CS 120a: Topics in Computer Systems
  • CS 123a: Statistical Machine Learning
  • CS 125a: Human-Computer Interaction
  • CS 127b: Database Management Systems
  • CS 128a: Modern Database Systems (Syllabus)
  • CS 130a : Networked Information Systems
  • Ling 131a: Programming for linguistics (Syllabus)
  • CS 133b: Internet and Society
  • CS 134a: Statistical Approaches to Natural Language Processing
  • CS 135a: Computational Semantics
  • Ling 140a: Architecture of Conversation: Discourse and Pragmatics
  • CS 146a: Principles of Computer System Design
  • CS 147a: Distributed Systems
  • CS 155b: Computer Graphics
  • CS 157a: Component based Software Development (Syllabus)
  • CS 160a: Parallel Computing and Programming
  • Ling 160b: Mathematical Methods in Linguistics (Syllabus)
  • CS 175a: Data Compression and Multimedia Processing
  • CS 178a: Computational Molecular Biology
  • CS 180a: Algorithms
  • CS 190a: Introduction to Programming Language Theory

Graduate Electives

  • CS 200a,b: Readings
  • CS 210a,b: Independent Study
  • CS 215a: Advanced Topics in Computer Supported Cooperation
  • CS 216a: Topics in Natural Language Processing
  • CS 217a: Topics in Adaptive Systems
  • Cs 217b: Natural Language Processing Systems
  • CS 220a: Advanced Computer Systems
  • CS 227b: Advanced Topics in Database Systems
  • CS 228a: Topics in Distributed Systems
  • CS 230a: Topics in Computational Biology
  • CS 235a: IT Entrepreneurism
  • CS 236b: Software Development for IT Entrepreneurism
  • CS 240b: Computational Logic
  • CS 293a,b: Graduate Research Internship
  • CS 300a,b: Master’s Project
  • CS 320a: IT Entrepreneurship Practicum I
  • CS 320b: IT Entrepreneurship Practicum II