Master of Science

The Master's curriculum is designed with these goals in mind:

  • The core courses provide a solid foundation in the fundamental principles of computer science.
  • The 500-level electives give exposure to a variety of Computer Science subject areas.
  • The 600-level advanced courses give exposure to research topics of current interest and provide in-depth knowledge.

Master's Program Courses

A student must take a total of 33 credits from the following courses (subject to the stipulations listed below):

Core: All four courses (12 credits – 3 credits each)

  • CSC520 — Foundations of Computer Science
  • CSC530 — Data Structures
  • CSC540 — Programming Languages
  • CSC560 — Analysis of Algorithms

Electives: At least four 500-level electives (at least 12 credits – 3 credits each)

  • CSC525 — Operating Systems
  • CSC535 — Networks and Data Communications
  • CSC545 — Database System Concepts
  • CSC555 — Software Engineering
  • CSC565 — Compiler Design
  • CSC570 — Computer Architecture
  • CSC573 — Graphics and User Interfaces
  • CSC575 — Artificial Intelligence
  • CSC581 — Topics in Computer Science
  • CSC582 — Topics in Information Systems
  • CSC583 — Topics in Computer Security
  • CSC584 — Topics in Web Technology
  • CSC585 — User Interfaces in Java
  • CSC586 — System Administration and Security
  • CSC587 — Web Services using XML and SOAP
  • CSC588 — Wireless Programming and Security
  • CSC589 — UML and Pattern Design

Advanced: At least two 600-level (at least 6 credits – 3 credits each)

  • CSC600 — Advanced Seminar
  • CSC603 — Advanced Seminar in Computer Security
  • CSC604 — Advanced Seminar in Web Technology
  • CSC605 — Internship
  • CSC610 — Independent Research
  • CSC620 — Master's Thesis
Those writing a master's thesis need to follow the guidelines spelled out in the Master's Thesis Guidelines Document (PDF).

Stipulations

  1. The four core courses must be completed within the first six courses taken and the core must be completed before any 600-level course can be taken.
  2. At least one and no more than two Advanced Seminar courses must be taken.
  3. The CSC600 course is a vehicle for offering new advanced topics in Computer Science and can be taken twice with different topics.
  4. A student who elects to do a master's thesis must take the Independent Research (CSC610) and Thesis courses (CSC620) in successive semesters.