Schedule of Classes: Computer Science: 2016-2017


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 2015-2016

Fall 2016 Winter 2017 Spring 2017 Summer 2017
CMPS2: Computer Literacy
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
  • Section 01
    Charles Mc Dowell (mcdowell)
    Patrick Tantalo (ptantalo)
    Concurrent enrollment in course 12M required.
CMPS12L: Computer Programming Laboratory
CMPS12M: Data Structures Laboratory
  • Section 01
    Charles Mc Dowell (mcdowell)
    Patrick Tantalo (ptantalo)
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
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 2016 Winter 2017 Spring 2017 Summer 2017
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
  • Section 01
    Carlos Maltzahn (carlosm)
    Andrew Glenn Shewmaker (ashewmak)
  • Section 50
    Carlos Maltzahn (carlosm)
    Andrew Glenn Shewmaker (ashewmak)
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
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
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
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
  • Section 01
    Econ/TM Teaches; Cross-listed with ECON 166A
CMPS166B: Game Theory and Applications II
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
CMPS185: Technical Writing and Communication in Computer Science
CMPS190X: Methods of Cryptography
CMPS191: Computer Science and Technology Seminar
CMPS194: Group Tutorial
Fall 2016 Winter 2017 Spring 2017 Summer 2017
CMPS200: Research and Teaching in Computer Science and Engineering
  • Section 01
    Alex Pang (pang)
    Katia Obraczka (obraczka)
    Taught in conjunction with 150
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
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
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
CMPS280M: Seminar on Machine Learning
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 on Expressive AI
Note: Renamed CMPM 280X as of Fall 14-See CMPM 280X for schedule
CMPS280Z: Seminar in Natural Language Processing and Dialogue
Note: Cross-listed with CMPM 280Z
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
CMPS290L: Topics in Crowdsourcing and Collaboration
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