Proposed calendar changes: CMPT "tables" update

Greg Baker, Director of Undergraduate Programs, School of Computing Science

July 24, 2008

Summary of Changes

This change updates the tables that categorize Computing Science (and computing-related) courses within our curriculum. The last courses are removed from "Table II", which cannot be used to fulfil all requirements in CMPT programs.

Table II has been left in the calendar even though it is empty: it is referred to in too many places to hope to remove all of them simultaneously. Removing the table without finding all references to it would cause mass confusion, so it will remain until all references to it can be removed.

Several MATH/MACM courses are updated/added in Table III as well. These changes add new courses and fix titles of revised courses.

Rationale

The Table I/II distinction previously created two classes of CMPT courses, some of which could be used to meet different requirements than others. This change unifies the core computing courses in the upper division into a single table.

Revised Wording

[Changes highlighted]

Changes to CMPT Upper Division (p. 116, 2008/9)
CurrentProposed

Table I - Computing Science Concentrations

Artificial Intelligence

CMPT 310-3 Artificial Intelligence Survey
CMPT 411-3 Knowledge Representation
CMPT 412-3 Computational Vision
CMPT 413-3 Computational Linguistics
CMPT 414-3 Model-Based Computer Vision
CMPT 417-3 Intelligent Systems
CMPT 418-3 Computational Cognitive Architecture
CMPT 419-3 Special Topics in Artificial Intelligence

Computer Graphics and Multimedia

CMPT 361-3 Introduction to Computer Graphics
CMPT 363-3 User Interface Design
CMPT 365-3 Multimedia Systems
CMPT 368-3 Introduction to Computer Music Theory and Sound Synthesis
CMPT 461-3 Image Synthesis
CMPT 464-3 Geometric Modeling in Computer Graphics
CMPT 466-3 Animation
CMPT 467-3 Visualization
CMPT 469-3 Special Topics in Computer Graphics

Computing Systems

CMPT 300-3 Operating Systems I
CMPT 305-3 Computer Simulation and Modelling
CMPT 371-3 Data Communications and Networking
CMPT 379-3 Principles of Compiler Design
CMPT 401-3 Operating Systems II
CMPT 431-3 Distributed Systems
CMPT 432-3 Real-time Systems
CMPT 433-3 Embedded Systems
CMPT 471-3 Networking II
CMPT 479-3 Special Topics in Computing Systems
CMPT 499-3 Special Topics in Computer Hardware

Information Systems

CMPT 301-3 Information Systems Management
CMPT 354-3 Database Systems I
CMPT 370-3 Information System Design
CMPT 454-3 Database Systems II
CMPT 456-3 Information Retrieval and Web Search
CMPT 459-3 Special Topics in Database Systems
CMPT 470-3 Web-based Information Systems
CMPT 474-3 Web Systems Architecture

Programming Languages and Software

CMPT 383-3 Comparative Programming Languages
CMPT 384-3 Symbolic Computing
CMPT 373-3 Software Development Methods
CMPT 473-3 Software Quality Assurance
CMPT 475-3 Software Engineering II
CMPT 477-3 Introduction to Formal Verification
CMPT 480-3 Foundations of Programming Languages
CMPT 481-3 Functional Programming
CMPT 489-3 Special Topics in Programming Languages

Theoretical Computing Science

CMPT 307-3 Data Structures and Algorithms
CMPT 308-3 Computability and Complexity
CMPT 404-3 Cryptography and Cryptographic Protocols
CMPT 405-3 Design and Analysis of Computing Algorithms
CMPT 406-3 Computational Geometry
CMPT 407-3 Computational Complexity
CMPT 408-3 Theory of Computer Networks/Communications
CMPT 409-3 Special Topics in Theoretical Computing Science
MACM 300-3 Introduction to Formal Languages and Automata with Applications

Table I - Computing Science Concentrations

Artificial Intelligence

CMPT 310-3 Artificial Intelligence Survey
CMPT 340-3 Biomedical Computing
CMPT 411-3 Knowledge Representation
CMPT 412-3 Computational Vision
CMPT 413-3 Computational Linguistics
CMPT 414-3 Model-Based Computer Vision
CMPT 417-3 Intelligent Systems
CMPT 418-3 Computational Cognitive Architecture
CMPT 419-3 Special Topics in Artificial Intelligence

Computer Graphics and Multimedia

CMPT 361-3 Introduction to Computer Graphics
CMPT 363-3 User Interface Design
CMPT 365-3 Multimedia Systems
CMPT 368-3 Introduction to Computer Music Theory and Sound Synthesis
CMPT 461-3 Image Synthesis
CMPT 464-3 Geometric Modeling in Computer Graphics
CMPT 466-3 Animation
CMPT 467-3 Visualization
CMPT 469-3 Special Topics in Computer Graphics

Computing Systems

CMPT 300-3 Operating Systems I
CMPT 305-3 Computer Simulation and Modelling
CMPT 371-3 Data Communications and Networking
CMPT 379-3 Principles of Compiler Design
CMPT 401-3 Operating Systems II
CMPT 431-3 Distributed Systems
CMPT 432-3 Real-time Systems
CMPT 433-3 Embedded Systems
CMPT 471-3 Networking II
CMPT 479-3 Special Topics in Computing Systems
CMPT 499-3 Special Topics in Computer Hardware

Information Systems

CMPT 301-3 Information Systems Management
CMPT 354-3 Database Systems I
CMPT 370-3 Information System Design
CMPT 441-3 Introduction to Computational Biology
CMPT 454-3 Database Systems II
CMPT 456-3 Information Retrieval and Web Search
CMPT 459-3 Special Topics in Database Systems
CMPT 470-3 Web-based Information Systems
CMPT 474-3 Web Systems Architecture

Programming Languages and Software

CMPT 383-3 Comparative Programming Languages
CMPT 384-3 Symbolic Computing
CMPT 373-3 Software Development Methods
CMPT 473-3 Software Quality Assurance
CMPT 475-3 Software Engineering II
CMPT 477-3 Introduction to Formal Verification
CMPT 480-3 Foundations of Programming Languages
CMPT 481-3 Functional Programming
CMPT 489-3 Special Topics in Programming Languages

Theoretical Computing Science

CMPT 307-3 Data Structures and Algorithms
CMPT 308-3 Computability and Complexity
CMPT 404-3 Cryptography and Cryptographic Protocols
CMPT 405-3 Design and Analysis of Computing Algorithms
CMPT 406-3 Computational Geometry
CMPT 407-3 Computational Complexity
CMPT 408-3 Theory of Computer Networks/Communications
CMPT 409-3 Special Topics in Theoretical Computing Science
MACM 300-3 Introduction to Formal Languages and Automata with Applications