Academic Catalog 2022–2023

jump to navigation

Master of Science in Computer Science


The mission of the M.S. in Computer Science program is to provide students with the ability to integrate the theory and practice of computing in the representation, processing, and use of information while upholding tradition of the liberal arts education.

Program Objectives

The M.S. in Computer Science seeks to:

  1. prepare graduates for computer science related careers with advanced knowledge and expertise in the computing field
  2. prepare graduates for postgraduate studies with the ability to conduct independent research in the computing field

Learning Outcomes

Students graduating with an M.S. in Computer Science shall have the ability to:

  1. apply advanced concepts in algorithmic design and analysis, and in other main areas in the field
  2. demonstrate understanding of current technology trends as well as future disciplines and emerging research areas
  3. search, analyse, and synthesize information from computing-related literature,
  4. identify and address research problems
  5. effectively communicate their technical and research work orally and in writing


Graduation requires 30 credits, distributed as follows:

  •  Core Requirements (3 credits)
  • Project or Thesis Option (3 or 6 credits)
  • Concentration Electives (21 or 24 credits)

Core Requirements (3 credits):

  • CSC611 Design & Analysis of Algorithms (3 cr.)
  • CSC600 Graduate Seminar (0 cr.)

Project or thesis option (3 or 6 credits):

Concentration Electives (21 or 24 credits):

The following courses are categorized into concentration areas for advising purposes. Students may choose courses from any areas they wish. Students taking the Thesis option must complete 21 credits from the electives; students taking the Project option must complete 24 credits.

A. Algorithms & Theory

  • CSC612 Foundations of Computer Science (3 cr.)
  • CSC613 Computational Methods in Biology (3 cr.)
  • CSC614 Meta-Heuristics (3 cr.)
  • CSC615 Machine Learning (3 cr.)
  • CSC616 Cryptography & Data Security (3 cr.)
  • CSC647 Parallel Algorithms & Programming (3 cr.)
  • CSC650 Advanced Computer Graphics (3 cr.)
  • CSC660 Artificial Intelligence: Principles & Techniques (3 cr.)

B. Systems

  • CSC621 Transaction Processing Systems (3 cr.)
  • CSC622 Distributed Systems (3 cr.)
  • CSC623 Knowledge-Based Systems (3 cr.)
  • CSC624 Data Mining (3 cr.)
  • CSC625 Discrete Event Simulation (3 cr.)

C. Hardware & Networks

  • CSC631 High Performance Computer Architecture (3 cr.)
  • CSC632 ULSI Testing (3 cr.)
  • CSC633 Embedded Systems (3 cr.)
  • CSC634 Network Programming (3 cr.)
  • CSC636 Networks Security (3 cr.)
  • CSC637 Pervasive Computing & Wireless Networking (3 cr.)

D. Software Engineering

  • CSC690 Search-Based Software Engineering (3 cr.)
  • CSC691 Advanced Software Engineering (3 cr.)
  • CSC694 Software Quality Assurance & Testing (3 cr.)
  • CSC696 Human-Computer Interaction (3 cr.)
  • CSC697 Managing Software Development (3 cr.)

E. Other

  • CSC688 Advanced Topics in Computer Science (3 cr.)