
Master of Science (MSc) in Computer Science
Total Credits: ~30-36 credits
Core Courses
1. CSCI5101 - Advanced Algorithms
- Credits: 3
- Prerequisites: CSCI1202 (Programming II), CSCI2101 (Data Structures) or equivalent undergraduate coursework
- Description: In-depth study of algorithm design, analysis, and optimization techniques, including approximation algorithms and complexity theory.
2. CSCI5201 - Distributed Systems
- Credits: 3
- Prerequisites: CSCI2301 (Operating Systems), CSCI2101 (Data Structures)
- Description: Principles of distributed computing, synchronization, consensus algorithms, and cloud computing architectures.
3. CSCI5301 - Machine Learning
- Credits: 3
- Prerequisites: CSCI2201 (Algorithms), CSCI5201 (Distributed Systems), or instructor approval
- Description: Foundations of machine learning algorithms, statistical modeling, neural networks, and applications in data analysis.
4. CSCI5401 - Advanced Databases
- Credits: 3
- Prerequisites: CSCI2401 (Database Systems) or equivalent undergraduate course
- Description: Complex database design, NoSQL, data warehousing, and big data management.
5. CSCI5501 - Software Architecture
- Credits: 3
- Prerequisites: CSCI2501 (Software Engineering) or equivalent
- Description: Design principles for large-scale software systems, architectural patterns, and system integration
6. CSCI5601 - Advanced Cybersecurity
- Credits: 3
- Prerequisites: CSCI2801 (Cybersecurity Fundamentals) or related coursework
- Description: Deep dive into cryptography, network security, threat detection, and security protocols.
7. CSCI5701 - Research Methods in Computing
- Credits: 3
- Prerequisites: Graduate standing or instructor approval
- Description: Scientific research methodologies, data analysis, research ethics, and technical writing.
8. CSCI5801 - Graduate Seminar
- Credits: 2
- Prerequisites: Graduate standing
- Description: Presentations of current research, critical review, and discussion of emerging topics in computing.
9. CSCI5901 - Master's Thesis / Project
- Credits: 6
- Prerequisites: Successful completion of coursework and qualifying research proposal
- Description: Independent research project culminating in a thesis or applied project, demonstrating mastery in a specialized area.
Prerequisites & Electives
Prerequisites Overview:
- Foundational undergraduate courses in programming, algorithms, data structures, operating systems, and databases.
- Research methods coursework or equivalent experience.
- Progression through core courses and approval for thesis research.
Elective Courses (Examples):
- Deep Learning & Neural Networks
- Natural Language Processing
- Cloud Computing & Virtualization
- Blockchain Technologies
- Advanced Topics in Cybersecurity
- Data Science & Big Data Analytics
- Human-Computer Interaction
- Software Testing & Verification
Electives allow specialization and deeper expertise aligned with research interests or industry needs.
Program Structure & Flow
- Core Courses: Cover fundamental advanced topics in algorithms, systems, and security.
- Electives: Selected based on research focus or professional development areas.
- Research & Thesis: Conduct original research or develop a significant software project, culminating in a thesis or comprehensive project report.