Self-Directed Master's in Computer Science Curriculum

Course Structure

Duration: 18-24 months (part-time, evenings/weekends)
Format: Concept-focused with practical implementation
Background: Assumes 20 years software development experience
Goal: Fill theoretical gaps and provide CS academic foundation


Core Requirements (Months 1-12)

All MS students take these regardless of specialization

1. Algorithms and Complexity Analysis (Months 1-2)

Goal: Understand algorithmic thinking and complexity analysis beyond day-to-day programming

Topics:

Practical Focus:

Key Resource: Algorithm Design by Kleinberg and Tardos
Project: Implement a graph algorithm library with performance analysis

2. Computer Systems (Months 3-4)

Goal: Understand the hardware/software interface and system performance

Topics:

Practical Focus:

Key Resource: Computer Systems: A Programmer's Perspective by Bryant and O'Hallaron
Project: Build a system monitoring tool that demonstrates understanding of OS concepts

3. Data Structures and Database Systems (Months 5-6)

Goal: Theoretical foundations of data organization and management

Topics:

Practical Focus:

Key Resource: Database System Concepts by Silberschatz, Korth, Sudarshan
Project: Build a mini-database with indexing and basic query optimization

4. Software Engineering Theory (Months 7-8)

Goal: Academic perspective on software development lifecycle

Topics:

Practical Focus:

Key Resource: Software Architecture in Practice by Bass, Clements, Kazman
Project: Architecture analysis and redesign of an existing system

5. Programming Languages (Months 9-10)

Goal: Understand language design principles and implementation

Topics:

Practical Focus:

Key Resource: Programming Language Pragmatics by Scott
Project: Build an interpreter for a small functional language

6. Computer Networks (Months 11-12)

Goal: Understanding distributed systems and network programming

Topics:

Practical Focus:

Key Resource: Computer Networks by Tanenbaum and Wetherall
Project: Implement a distributed key-value store with consensus


Electives (Months 13-18)

Choose 3 courses based on interests and career goals

Option A: Machine Learning

Focus: Practical ML with conceptual understanding

Topics:

Project: End-to-end ML system for a real-world problem

Option B: Information Security

Focus: Security principles and implementation

Topics:

Project: Security audit and hardening of a web application

Option C: Human-Computer Interaction

Focus: User-centered design and interface principles

Topics:

Project: Complete UX redesign of an existing application

Option D: Computer Graphics

Focus: 3D graphics and visualization

Topics:

Project: 3D graphics application or game engine component

Option E: Artificial Intelligence

Focus: AI algorithms and reasoning

Topics:

Project: AI system for game playing or problem solving

Option F: High-Performance Computing

Focus: Parallel and distributed computing

Topics:

Project: Parallel implementation of a computationally intensive algorithm


Capstone Experience (Months 19-24)

Option 1: Research Project

Work on a novel problem in your area of interest

Option 2: Industry Collaboration

Partner with a company on a real-world problem

Option 3: Open Source Contribution

Make significant contributions to an established project


Study Approach

Leveraging Your Experience

Learning Methods

Assessment Strategy


Recommended Resources

Core Textbooks

Online Resources

Practical Platforms


Timeline Flexibility

Accelerated Path (12-15 months):

Extended Path (24-30 months):

Maintenance Phase (Ongoing):


Success Metrics

Knowledge Indicators

Practical Outcomes

Career Impact