Curriculum: Align Computer Science — Online Canada
Align Bridge Coursework
Students are required to take all bridge courses unless otherwise determined by the program.
A grade of B or higher is required in each course.
| Code | Title | Hours |
| Fundamentals | ||
| CS 5001 and CS 5003 | Intensive Foundations of Computer Science and Recitation for CS 5001 | 4 |
| Discrete Structures | ||
| CS 5002 | Discrete Structures | 4 |
| Object-Oriented Design | ||
| CS 5004 and CS 5005 | Object-Oriented Design and Recitation for CS 5004 | 4 |
| Additional ALIGN courses | ||
| CS 5008 and CS 5009 | Data Structures, Algorithms, and Their Applications within ComputerSystems and Recitation for CS 5008 | 4 |
Core Requirements
| Code | Title | Hours |
| CS 5800 | Algorithms | 4 |
| CS 7980 | Research Capstone | 4 |
Breadth Areas
Select three courses from two of the three following breadth areas:
| Code | Title | Hours |
| Select three courses from two of the three following breadth areas: | 12 | |
| Artificial Intelligence and Data Science | ||
| CS 5100 | Foundations of Artificial Intelligence | |
| CS 5150 | Game Artificial Intelligence | |
| CS 5200 | Database Management Systems | |
| CS 5330 | Pattern Recognition and Computer Vision | |
| CS 6120 | Natural Language Processing | |
| CS 6140 | Machine Learning | |
| CS 6200 | Information Retrieval | |
| CS 6220 | Data Mining Techniques | |
| CS 6240 | Large-Scale Parallel Data Processing | |
| CS 7140 | Advanced Machine Learning | |
| Systems and Software | ||
| CS 5400 | Principles of Programming Language | |
| CS 5500 | Foundations of Software Engineering | |
| CS 5520 | Mobile Application Development | |
| CS 5600 | Computer Systems | |
| CS 5610 | Web Development | |
| CS 5700 | Fundamentals of Computer Networking | |
| CS 6410 | Compilers | |
| CS 6510 | Advanced Software Development | |
| CS 6650 | Building Scalable Distributed Systems | |
| Theory and Security | ||
| CS 6760 | Privacy, Security, and Usability | |
| CS 7805 | Complexity Theory | |
| CY 5770 | Software Vulnerabilities and Security | |
| CY 6740 | Network Security |
Electives
Complete 8 semester hours from the following:
| Code | Title | Hours |
| 8 | ||
| CS 5097 | Mixed Reality | |
| CS 5170 | Artificial Intelligence for Human-Computer Interaction | |
| CS 5180 | Reinforcement Learning and Sequential Decision Making | |
| CS 5310 | Computer Graphics | |
| CS 5335 | Robotic Science and Systems | |
| CS 5340 | Computer/Human Interaction | |
| CS 5350 | Computational Geometry | |
| CS 5360 | Noninteractive Computer Graphics | |
| CS 5540 | Game Programming | |
| CS 5963 | Topics | |
| CS 5964 | Projects for Professionals | |
| CS 5976 | Directed Study | |
| CS 6130 | Affective Computing | |
| CS 6350 | Empirical Research Methods | |
| CS 6640 | Operating Systems Implementation | |
| CS 6954 | Co-op Work Experience – Half-Time | |
| CS 6955 | Co-op Work Experience Abroad – Half-Time | |
| CS 6964 | Co-op Work Experience | |
| CS 6965 | Co-op Work Experience Abroad | |
| CS 6983 | Topics in Computer Science | |
| CS 7150 | Deep Learning | |
| CS 7170 | Seminar in Artificial Intelligence | |
| CS 7180 | Special Topics in Artificial Intelligence | |
| CS 7200 | Statistical Methods for Computer Science | |
| CS 7240 | Principles of Scalable Data Management: Theory, Algorithms, and Database Systems | |
| CS 7250 | Information Visualization: Theory and Applications | |
| CS 7260 | Visualization for Network Science | |
| CS 7270 | Seminar in Database Systems | |
| CS 7280 | Special Topics in Database Management | |
| CS 7290 | Special Topics in Data Science | |
| CS 7295 | Special Topics in Data Visualization | |
| CS 7300 | Empirical Research Methods for Human Computer Interaction | |
| CS 7332 | Machine Learning with Graphs | |
| CS 7340 | Theory and Methods in Human Computer Interaction | |
| CS 7375 | Seminar in Human-Computer Interaction | |
| CS 7380 | Special Topics in Graphics/Image Processing | |
| CS 7400 | Intensive Principles of Programming Languages | |
| CS 7430 | Formal Specification, Verification, and Synthesis | |
| CS 7470 | Seminar in Programming Languages | |
| CS 7480 | Special Topics in Programming Language | |
| CS 7485 | Special Topics in Formal Methods | |
| CS 7575 | Seminar in Software Engineering | |
| CS 7580 | Special Topics in Software Engineering | |
| CS 7600 | Intensive Computer Systems | |
| CS 7680 | Special Topics in Computer Systems | |
| CS 7610 | Foundations of Distributed Systems | |
| CS 7670 | Seminar in Computer Systems | |
| CS 7675 | Master’s Research | |
| CS 7680 | Special Topics in Computer Systems | |
| CS 7770 | Seminar in Computer Networks | |
| CS 7775 | Seminar in Computer Security | |
| CS 7800 | Advanced Algorithms | |
| CS 7805 | Complexity Theory | |
| CS 7810 | Foundations of Cryptography | |
| CS 7840 | Foundations and Applications of Information Theory | |
| CS 7870 | Seminar in Theoretical Computer Science | |
| CS 7880 | Special Topics in Theoretical Computer Science | |
| CS 7990 | Thesis | |
| CS 8674 | Master’s Project | |
| CS 8982 | Readings | |
| CY 5001 | Cybersecurity: Technologies, Threats, and Defenses | |
| CY 5010 | Cybersecurity Principles and Practices | |
| CY 5130 | Computer System Security | |
| CY 6120 | Software Security Practices | |
| DS 5110 | Essentials of Data Science | |
| DS 5230 | Unsupervised Machine Learning and Data Mining |
Program Credit/GPA Requirements
36-44 total semester hours required
Minimum 3.000 GPA required
* Please note: this curriculum is for marketing purposes only, and is subject to change.