Expanded Course Descriptions
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 15: Introduction to Computers -current version
- 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 New Course effective Winter 2009
- 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 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