Expanded Course Descriptions
We make every effort to offer courses in the quarter listed on the expanded course description. However, courses are subject to change based on instructional issues without notice. For the most current schedule, please see http://www.cs.ucdavis.edu/courses/index.html
NOTE: The textbooks listed on the detailed course descriptions are subject to change. For a textbook list for a specific course offering, consult the instructor or the course syllabus.
Lower Division Courses
- ECS 10: Basic Concepts of Computing
- ECS 15: Introduction to Computers -version effective Winter 2009
- ECS 15AT: Introduction to Computers -cancelled effective Fall 2008
- ECS 20: Discrete Mathematics for Computer Science
- ECS 30: Introduction to Programming and Problem Solving
- ECS 40: Introduction to Software Development
- ECS 50: Computer Organization and Machine-Dependent Programming
- ECS 60: Data Structures and Programming
- ECS 89A-L: Special Topics in Computer Science
- ECS 92: Internship in Computer Science
- ECS 98: Directed Group Study
- ECS 99: Special Study for Lower Division Students
Upper Division Courses
- ECS 120: Introduction to the Theory of Computation
- ECS 122A: Algorithm Design and Analysis
- ECS 122B: Algorithm Design and Analysis
- ECS 124: Theory and Practice of Bioinformatics
- ECS 129: Computational Structural Bioinformatics
- ECS 130: Scientific Computation
- ECS 132: Probability and Statistical Modeling for Computer Science
- ECS 140A: Programming Languages
- ECS 140B: Programming Languages
- ECS 142: Compilers
- ECS 145: Scripting Languages and Their Applications
- ECS 150: Operating Systems and System Programming
- ECS 152A: Computer Networks
- ECS 152B: Computer Networks
- ECS 152C: Design Projects in Communication Networks
- ECS 153: Computer Security
- ECS 154A: Computer Architecture
- ECS 154B: Computer Architecture
- ECS 155: Computer Security for Non-Majors
- ECS 156: Discrete-Event Simulation
- ECS 157: Computer Networks for Non-Majors
- ECS 158: Programming on Parallel Architectures
- ECS 160: Introduction to Software Engineering
- ECS 163: Information Interfaces
- ECS 165A: Database Systems
- ECS 165B: Database Systems
- ECS 166: Scientific Data Management
- ECS 170: Introduction to Artificial Intelligence
- ECS 173: Image Processing and Analysis
- ECS 175: Computer Graphics
- ECS 177: Introduction to Visualization
- ECS 178: Introduction to Geometric Modeling
- ECS 188: Ethics in an Age of Technology
- ECS 189A-M: Special Topics in Computer Science
- ECS 190C: Research Group Conferences
- ECS 190X: Senior Seminar
- ECS 192: Internship in Computer Science
- ECS 193A: Senior Design Project
- ECS 193B: Senior Design Project
- ECS 197T: Tutoring in Computer Science
- ECS 198: Directed Group Study
- ECS 199: Special Study for Advanced Undergraduates
Graduate Courses
- ECS 201A: Advanced Computer Architecture
- ECS 201B: High-Performance Uniprocessing
- ECS 201C: Parallel Architectures
- ECS 203: Novel Computing Technologies
- ECS 220: Theory of Computation
- ECS 222A: Design and Analysis of Algorithms
- ECS 222B: Advanced Design and Analysis of Algorithms
- ECS 223: Parallel Algorithms
- ECS 224: String Algorithms and Applications in Computational Biology
- ECS 225: Graph Theory
- ECS 226: Computational Geometry
- ECS 227: Modern Cryptography
- ECS 228: Crytopgraphy for E-Commerce
- ECS 229: Advanced Computational Structural Bioinformatics
- ECS 230: Applied Numerical Linear Algebra (revised effective (retroactively) Spring 2005)
- ECS 231: Large Scale Scientific Computing
- ECS 234: Computational Functional Genomics
- ECS 235A: Computer and Information Security
- ECS 235B: Foundations of Computer and Information Security
- ECS 236: Computer Security: Intrusion Detection Based Approach
- ECS 240: Programming Languages
- ECS 242: Translation of Programming Languages
- ECS 243: Code Generation and Optimization
- ECS 244: Principles of Concurrent Programming
- ECS 247: Concurrent Programming Languages
- ECS 251: Operating Systems
- ECS 252: Computer Networks
- ECS 256: Performance Evaluation
- ECS 257: Mobile and Wireless Networks
- ECS 258: Internet Quality of Service
- ECS 259: Optical Networks
- ECS 260: Software Engineering
- ECS 261: Program Verification
- ECS 262: Formal Specification
- ECS 265: Distributed Database Systems
- ECS 266: Spatial Databases
- ECS 267: Wide-Area Distributed Information Systems
- ECS 268: Scientific Data and Workflow Management
- ECS 270: Artificial Intelligence
- ECS 271: Machine Learning and Discovery
- ECS 272: Information Visualization
- ECS 273: Applied Visual Computing
- ECS 274: Automated Deduction
- ECS 275A: Advanced Computer Graphics
- ECS 275B: Advanced Computer Graphics
- ECS 276: Advanced Volume Visualization
- ECS 277: Advanced Visualization
- ECS 278: Computer-Aided Geometric Design
- ECS 279: Computer Animation (revised effective Spring 2006)
- ECS 280: Principles of Virtual Reality
- ECS 289A-M: Special Topics in Computer Science
- ECS 290: Seminar in Computer Science
- ECS 290C: Graduate Research Group Conference
- ECS 293A: Research in Computer Science
- ECS 293B: Research in Computer Science
- ECS 298: Group Study
- ECS 299: Research
- ECS 315: Teaching Computer Science
- ECS 390: The Teaching of Computer Science
GGCS Courses
- ECS 289/MAE 298 Network and Theory Applications, Winter 2011
- EEC 273: Networking Architecture & Resource Management, Spring 2011
- EEC 173B/ECS152C: Design Projects in Communication Networks, Spring 2011
- EEC 277: Graphics Architecture, Winter 2011
- EEC 171: Parallel Architectures, Spring 2011
- MGT 269: Business Intelligence Technologies - Data Mining
- MGT 469: Practicum for 269