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: Operating Systems

Additional Core Courses for the BS

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

Undergraduate Electives

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

Graduate/Advanced Undergraduate Electives

  • CS 101a: Artificial Intelligence
  • CS 105b Software Engineering for Scalability (course website TBA)
  • 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 121b: Structure and Interpretation of Computer Programs
  • CS 123a: Statistical Machine Learning
  • CS 125a: Human-Computer Interaction
  • CS 127b: Database Management Systems
  • CS 128a: Modern Database Systems
  • CS 129a Introduction to Big Data
  • CS 130a: Introduction to the Theory of Computation
  • LING 130a: Formal Semantics: Truth, Meaning, and Language
  • CS 131a Operating Systems
  • CS 132a: Information Retrieval
  • CS 132b: Networked Information Systems
  • CS 133b: Internet and Society
  • CS 134a: Statistical Approaches to Natural Language Processing
  • CS 135b: Computational Semantics
  • CS 136a: Automated Speech Recognition
  • CS 137b: Information Extraction
  • CS 139a: Machine Translation
  • CS 140b: Natural Language Annotation for Machine Learning
  • CS 146a: Principles of Computer System Design
  • CS 147a: Distributed Systems
  • CS 153a: Mobile Application Development
  • CS 155b: Computer Graphics
  • CS 164a: Introduction to 3-D Animation
  • CS 165a: Software Entrepreneurship
  • CS 166b: Capstone Project for Software Engineering
  • CS 167b: Software Engineering Laboratory
  • CS 175a: Data Compression and Multimedia Processing
  • CS 177a: Scientific Data Processing in Matlab
  • 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 232f: Computational Models of Discourse
  • CS 233f: Dialog Management Systems
  • CS 293g: Master's Research Internship
  • CS 300a,b: Master's Project
  • CS 320a: IT Entrepreneurship Practicum I
  • CS 320b: IT Entrepreneurship Practicum II
  • CS 400d Dissertation Research

Cross-Listed in Computer Science

  • ANTH 138a: Anthropology of Digital and Biotechnologies
  • LING 130a: Formal Semantics: Truth, Meaning, and Language
  • MATH 36a: Probability
  • MATH 39a: Introduction to Combinatorics
  • MATH 100a: Introduction to Algebra, Part I
  • MATH 100b: Introduction to Algebra, Part II
  • MATH 108b: Introduction to Number Theory
  • PHIL 106b: Mathematical Logic
  • PHYS 29a: Electronics Laboratory I