Schedule of Classes: Computer Science: 2019-2020


Click on the section name to visit the web page for that section, or the course name to see all offerings of the course.

Please note that the course schedule and offerings are subject to change.

« Back to 2018-2019

Fall 2019 Winter 2020 Spring 2020 Summer 2020
CMPS5C: Introduction to Programming in C/C++
CMPS5J: Introduction to Programming in Java
CMPS5P: Introduction to Programming in Python
CMPS10: Introduction to Computer Science
CMPS11: Intermediate Programming
CMPS12A: Introduction to Programming (Accelerated)
CMPS12B: Introduction to Data Structures
CMPS12L: Computer Programming Laboratory
CMPS12M: Data Structures Laboratory
CMPS13H: Introduction to Programming and Data Structures (Honors)
CMPS13L: Introduction to Programming and Data Structures Laboratory
CMPS17: Social Networks
CMPS20: Game Design Experience
Note: Renamed CMPM 20 as of Winter 15- See CMPM 20 for schedule
CMPS25: Introduction to Computer Graphics: 3D Modeling
Note: Renamed CMPM 25 as of Fall 14- See CMPM 25 for schedule
CMPS26: Introduction to Computer Graphics: 3D Animation
Note: Renamed CMPM 26 as of Spring 15- See CMPM 26 for schedule
CMPS42A: SDS:Survey of Applied Computational Science
CMPS60M: Scientific Computation with Matlab and Maple
CMPS80B: Systems and Simulation
CMPS80G: Introduction to Unix
CMPS80J: Technology Targeted at Social Issues
CMPS80K: Foundations of Interactive Game Design
Note: Renamed CMPM 80K as of Spring 15- See CMPM 80K for schedule
CMPS80L: Social Data Analytics and Visualization
CMPS80S: From Software Innovation to Social Entrepreneurship
CMPS80V: Creating Virtual Worlds on the Web
Fall 2019 Winter 2020 Spring 2020 Summer 2020
CMPS101: Algorithms and Abstract Data Types
CMPS102: Introduction to Analysis of Algorithms
CMPS104A: Fundamentals of Compiler Design I
CMPS104B: Fundamentals of Compiler Design II
CMPS105: Systems Programming
CMPS107: Open Source Programming
CMPS109: Advanced Programming
CMPS111: Introduction to Operating Systems
CMPS112: Comparative Programming Languages
CMPS115: Introduction to Software Engineering
CMPS116: Software Design Project
CMPS117: Software Design Project II
CMPS118: Algorithmic Foundations of Cryptography
CMPS119: Software for Society
CMPS121: Mobile Applications
CMPS122: Computer Security
CMPS128: Distributed Systems: File Sharing, Online Gaming, and More
CMPS129: Data Storage Systems
CMPS130: Computational Models
CMPS132: Computability and Computational Complexity
CMPS132W: Computability and Computational Complexity
CMPS140: Artificial Intelligence
CMPS142: Machine Learning and Data Mining
CMPS143: Introduction to Natural Language Processing
CMPS144: Applied Machine Learning
CMPS146: Game AI
Note: Renamed CMPM 146 as of Spring 15- See CMPM 146 for schedule
CMPS148: Interactive Narrative
Note: Renamed CMPM 148 as of Spring 15- See CMPM 148 for schedule
CMPS153: Functional Programming
CMPS160: Introduction to Computer Graphics
CMPS160L: Introduction to Computer Graphics Laboratory
CMPS161: Introduction to Data Visualization
CMPS161L: Data Visualization Lab
CMPS162: Advanced Computer Graphics and Animation
CMPS162L: Advanced Computer Graphics and Animation Lab
CMPS164: Game Engines
Note: Renamed CMPM 164 as of Spring 15- See CMPM 164 for schedule
CMPS164L: Game Engines Lab
Note: Renamed CMPM 164L as of Spring 15- See CMPM 164L for schedule
CMPS165: Data Programming for Visualization
CMPS166A: Game Theory and Applications I
CMPS166B: Game Theory and Applications II
CMPS168: Introduction to Augmented Reality and Virtual Reality
CMPS170: Game Design Studio I
Note: Renamed CMPM 170 as of Fall 14- See CMPM 170 for schedule
CMPS171: Games Design Studio II
Note: Renamed CMPM 171 as of Winter 15- See CMPM 171 for schedule
CMPS172: Game Design Studio III
Note: Renamed CMPM 172 as of Spring 15- See CMPM 172 for schedule
CMPS177: Creative Strategies for Designing Interactive Media
Note: Renamed CMPM 177 as of Fall 14- See CMPM 177 for schedule
CMPS178: Human-Centered Design Research
Note: Renamed CMPM 178 of Winter 15- See CMPM 178 for schedule
CMPS179: Game Design Practicum
Note: Renamed CMPM 179 as of Spring 15- See CMPM 179 for schedule
CMPS180: Database Systems I
CMPS180W: Database Systems
CMPS181: Database Systems II
CMPS182: Introduction to Database Management Systems
CMPS183: Web Applications
CMPS184: Data Wrangling and Web Scraping
CMPS185: Technical Writing and Communication in Computer Science
CMPS190X: Methods of Cryptography
CMPS191: Computer Science and Technology Seminar
CMPS194: Group Tutorial
Fall 2019 Winter 2020 Spring 2020 Summer 2020
CMPS200: Research and Teaching in Computer Science and Engineering
CMPS201: Analysis of Algorithms
CMPS203: Programming Languages
CMPS204: Compiler Design
CMPS210: Computational Models and Complexity
CMPS211: Combinatorial Algorithms
CMPS217: Logic in Computer Science
CMPS218: Foundations of Data Science
CMPS221: Advanced Operating Systems
CMPS223: Advanced Computer Security
CMPS229: Storage Systems
CMPS232: Distributed Systems
CMPS236: Understanding Cryptography
CMPS240: Artificial Intelligence
CMPS241: Knowledge Engineering
CMPS242: Machine Learning
CMPS244: Artificial Intelligence in Games
Note: Renamed CMPM 244 as of Fall 14-See CMPM 244 for schedule
CMPS245: Computational Models of Discourse and Dialogue
Note: Renamed CMPM 245 as of Winter 15- See CMPM 245 for schedule
CMPS247: AI: Problem Solving and Intelligent Search
CMPS248: Interactive Narrative
Note: Renamed CMPM 248 as of Spring 15- See CMPM 248 for schedule
CMPS250: Introduction to Information Theory
CMPS253: Advanced Programming Languages
CMPS260: Computer Graphics
CMPS261: Advanced Visualization
CMPS262: Computer Animation
CMPS263: Data Driven Discovery and Visualization
CMPS265: Generative Methods
Note: Renamed CMPM 265 as of Winter 15- See CMPM 265 for schedule
CMPS266A: Data Visualization and Statistical Programming in R
CMPS266B: Advanced Statistical Programming in R
CMPS266C: Introduction to Data Wrangling
CMPS272: Evolutionary Game Theory
CMPS276: Software Engineering
CMPS277: Principles of Database Systems
CMPS278: Design and Implementation of Database Systems
CMPS279: Software Reuse and Component-Based Software Engineering
CMPS280A: Seminar in Computer Science Research
CMPS280D: Seminar in Database Systems
CMPS280G: Seminar on Software Engineering
CMPS280H: Seminar in Human Computation Systems
CMPS280J: Seminar on Computer Graphics
CMPS280L: Seminar on Logic in Computer Science
CMPS280M: Seminar on Machine Learning
CMPS280O: Seminar in Applied Programming Languages
CMPS280S: Seminar on Computer Systems
CMPS280W: Seminar in Digital Media
Note: Renamed CMPM 280W as of Spring 15- See CMPM 280W for schedule
CMPS280X: Seminar in Distributed Systems
CMPS280Z: Seminar in Natural Language Processing and Dialogue
CMPS290A: Topics in Algorithms and Complexity Theory: Probabilistic Algorithms and Average Case Analysis
CMPS290B: Advanced Topics in Computer Graphics
CMPS290C: Advanced Topics in Machine Learning
CMPS290D: Neural Computation
CMPS290E: Object-Oriented Programming Methodology
CMPS290F: Applications of Combinatorics
CMPS290G: Topics in Software Engineering
CMPS290H: Topics in Database Systems
CMPS290I: Internet Technology and Policy
CMPS290J: Playable Media
Note: Renamed CMPM 290J as of Winter 15-See CMPM 290J for schedule
CMPS290K: Advanced Topics in Natural Language Processing
CMPS290L: Topics in Crowdsourcing and Collaboration
CMPS290O: Algorithmic Foundations of Convex Optimization
CMPS290P: Data Privacy via Machine Learning, and Back
CMPS290Q: Topics in Programming Languages
CMPS290S: Advanced Topics in Computer Systems
CMPS290T: Topics in Computing for Society
CMPS290X: Cryptography and Computer Security
CMPS290Y: Quantum Computing