Computer Science Graduate Major (MEng, MS, PhD)

MEng

Course List
Code Title Credits
Required Coursework  
ENGR 520 MENG INTRODUCTION TO PORTFOLIO 1 1
ENGR 521 MENG PORTFOLIO COMPLETION 2 1
Required Core 3  
Select at least two courses each out of three topic areas + 18-24
Electives  
Courses chosen by the student which may include up to 6 credits from the following: 21-27

CS 501

RESEARCH ++  

CS 505

READING AND CONFERENCE ++  

CS 506

PROJECTS ++  

CS 510

OCCUPATIONAL INTERNSHIP 5  
Total Hours 6 45

++

For MEng, if CS 501CS 505 or CS 506 is listed on a student's Program of Study, the student must address and discuss this experience in their final portfolio or final exam presentation.

MS (Project)

Course List
Code Title Credits
Required Core 3  
Select at least two courses each out of three topic areas + 18-24
Electives  
Courses chosen by the student which may include up to 6 credits from the following: 3-18

CS 501

RESEARCH  

CS 505

READING AND CONFERENCE  

CS 506

PROJECTS  

CS 510

OCCUPATIONAL INTERNSHIP 5  
Thesis/Project Support Courses  
A coherent set of three or more courses giving preparation and support for the student’s thesis or project 3, 4 3-12
Project  
CS 506 PROJECTS 6
Total Hours 6 45

MS (Thesis)

Course List
Code Title Credits
Required Core 3  
Select at least two courses each out of three topic areas + 18-24
Electives  
Courses chosen by the student which may include up to 6 credits from the following: 0-15

CS 501

RESEARCH  

CS 505

READING AND CONFERENCE  

CS 506

PROJECTS  

CS 510

OCCUPATIONAL INTERNSHIP 5  
Thesis/Project Support Courses  
A coherent set of three or more courses giving preparation and support for the student’s thesis or project 3, 4 3-12
Thesis  
CS 503 COMPUTER SCIENCE MS THESIS 9
Total Hours 6 45

PhD

Course List
Code Title Credits
Required Core 3  
Select at least two courses each out of three topic areas + 18-24
Thesis/Project Support Courses  
A coherent set of four or more courses giving preparation and support for the student’s dissertation 3, 4 6-16
Theory  
CS 515 ALGORITHMS AND DATA STRUCTURES 4
CS 517 THEORY OF COMPUTATION 4
Electives  
Courses chosen by the student which may include up to 15 credits from the following: 0-40

CS 501

RESEARCH  

CS 505

READING AND CONFERENCE  

CS 506

PROJECTS  

CS 510

OCCUPATIONAL INTERNSHIP 5  

CS 601

RESEARCH  

CS 605

READING AND CONFERENCE  
Thesis  
CS 603 COMPUTER SCIENCE PHD THESIS 36-76
Total Hours 6 108

Topic Areas+

Course List
Code Title Credits
Theoretical Computer Science  
CS 514 ALGORITHMS: DESIGN, ANALYSIS, AND IMPLEMENTATION 4
CS 515 ALGORITHMS AND DATA STRUCTURES (required for PhD so not eligible as topic area course) 4
CS 517 THEORY OF COMPUTATION (required for PhD so not eligible as topic area course) 4
CS 520 GRAPH THEORY WITH APPLICATIONS TO COMPUTER SCIENCE 3
CS 523 ADVANCED ALGORITHMS 4
CS 527 ERROR-CORRECTING CODES 4
CS 529 SELECTED TOPICS IN THEORETICAL COMPUTER SCIENCE 1-5
Artificial Intelligence  
AI 530 BIG IDEAS IN AI 3
AI 531 ARTIFICIAL INTELLIGENCE 4
AI 533 INTELLIGENT AGENTS AND DECISION MAKING 4
AI 534 MACHINE LEARNING 4
AI 535 DEEP LEARNING 4
AI 536 PROBABILISTIC GRAPHICAL MODELS 4
AI 537 COMPUTER VISION I 3
AI 539 SELECTED TOPICS IN ARTIFICIAL INTELLIGENCE 5
AI 637 COMPUTER VISION II 4
Computer Systems  
CS 540 DATABASE MANAGEMENT SYSTEMS 4
CS 544 OPERATING SYSTEMS II 4
CS 546 NETWORKS IN COMPUTATIONAL BIOLOGY 3
CS 549 SELECTED TOPICS ON DATA SCIENCE & SYSTEMS 1-5
CS 570 HIGH PERFORMANCE COMPUTER ARCHITECTURE 4
CS 572 COMPUTER ARCHITECTURE 4
CS 575 INTRODUCTION TO PARALLEL PROGRAMMING 4
CS 576 ADVANCED COMPUTER NETWORKING 4
CS 578 CYBER-SECURITY 4
CS 579 TOPICS IN COMPUTER ARCHITECTURE AND PARALLEL PROCESSING 1-5
ECE 573 MICROCONTROLLER SYSTEM DESIGN 4
ECE 574 VLSI SYSTEM DESIGN 4
ECE 577 MULTIMEDIA SYSTEMS 4
Programming Languages  
CS 581 PROGRAMMING LANGUAGES I 4
CS 582 PROGRAMMING LANGUAGES II 4
CS 583 ADVANCED FUNCTIONAL PROGRAMMING 4
CS 585 DOMAIN-SPECIFIC LANGUAGES 4
CS 589 SELECTED TOPICS IN PROGRAMMING LANGUAGES 1-5
Software Engineering  
CS 560 DATA-DRIVEN SOFTWARE ENGINEERING 4
CS 561 SOFTWARE ENGINEERING METHODS 4
CS 562 SOFTWARE PROJECT MANAGEMENT 4
CS 563 SOFTWARE MAINTENANCE AND EVOLUTION 4
CS 569 SELECTED TOPICS IN SOFTWARE ENGINEERING 1-5
Human Computer Interaction  
CS 564 FIELD STUDIES IN SE AND HCI 4
CS 565 HUMAN-COMPUTER INTERACTION 4
CS 567 LABORATORY STUDIES IN SE AND HCI 4
CS 568 INCLUSIVE DESIGN (HCI) 4
ROB 567 HUMAN ROBOT INTERACTION 4
Computer Vision and Graphics  
CS 550 INTRODUCTION TO COMPUTER GRAPHICS 4
CS 551 COMPUTER GRAPHICS 4
CS 552 COMPUTER ANIMATION 4
CS 553 SCIENTIFIC VISUALIZATION 4
CS 554 GEOMETRIC MODELING IN COMPUTER GRAPHICS 4
CS 555 NUMERICAL MODELING 4
CS 557 COMPUTER GRAPHICS SHADERS 4
CS 559 SELECTED TOPICS IN COMPUTER GRAPHICS AND VISION 1-5
An alternate topic area approved by the program committee  

Prerequisite and Corequisite Coursework

All graduate students in Computer Science must achieve a B grade (or equivalent) in the following courses, or courses deemed equivalent to these courses by the program director, and must be taken either prior to or during your graduate studies:

Course List
Code Title Credits
CS 321 INTRODUCTION TO THEORY OF COMPUTATION 3
CS 325 ANALYSIS OF ALGORITHMS 4
CS 444 OPERATING SYSTEMS II 4
or CS 472 COMPUTER ARCHITECTURE
CS 381 PROGRAMMING LANGUAGE FUNDAMENTALS 4
or CS 480 TRANSLATORS

1

Students must register for ENGR 520 in the first term of the graduate program unless given direct written permission from the department

2

ENGR 521 must be completed in the term in which the degree should be awarded. If a student fails to meet a different degree requirement in the term which they complete ENGR 521 with a passing grade [C or higher], the passing grade will remain valid for one subsequent term, excluding summer term. If the passing grade in ENGR 521 becomes invalid, it must be retaken and a passing grade [C or higher] received to graduate. A student may not attempt ENGR 521 more than twice; failure to complete it in two attempts will result in automatic dismissal from the MEng program in Computer Science. ENGR 521 may not be taken during the summer term without direct written permission from the department

3

At least a 3.0 GPA must be achieved over these six courses

4

The selection of courses will be made in consultation with, and must be approved by, the student’s major professor and committee. These courses may be used to satisfy two, in one area, out of the six courses in the Required Core

5

If CS 510 is listed on a student’s Program of Study, the student must address and discuss this experience in their final portfolio or final exam presentation

6

Total credits may increase if additional credits in the Prerequisite or Corequisite Coursework area are needed