---
source_url: "https://global.yu.edu/ms-software-development"
title: Master’s in Software Development - earn online or in NYC
mirrored_at: 2026-08-13T03:07:54.623Z
host: global.yu.edu
cited_in_42a: true
mirror_canonical: "https://index.42a.ai/global.yu.edu/ms-software-development"
---

> **Original source:** https://global.yu.edu/ms-software-development

### Open Lab

All core curriculum Open Lab courses are required as prerequisites to the specialization tracks. The Open Lab (OL) encompasses the core fundamentals and pre-requisites that every software developer needs to know, including:

  

-   Essential concepts and behind-the-scenes workings of system programming
-   Tools and resources
-   Procedural programming languages
-   Agile software development methodologies
-   Professional skills (effort optimization, accurate time estimation)
-   Software development traps & pitfalls
-   Soft skills (personal effectiveness, interpersonal skills, communication)
-   Technology research skills
-   Software development as an individual and as part of a team

### Courses:

-   Linux Development Environment and Tools 1
-   Foundations of Procedural Programming
-   Implementations of Applied Data Structures 1
-   Fundamentals of System Programming
-   Linux Development Environment and Tools 2
-   Algorithm Interfaces and Implementations
-   Implementations of Applied Data Structures 2
-   Cyber Threat Landscape and System Programming
-   Open Lab Final Project

### Specialization Tracks

After completion of all the Open Lab courses, students select one of the following specialization tracks:

-   Real Time Embedded System Programming (RD) track
-   Full Stack Frontend and Backend Software Development (FS) track

The following are fundamentals common to both tracks:

-   Advanced system programming
-   Object Oriented Programming (OOP)
-   Distributed systems
-   Networking & network software development
-   Design patterns
-   Building user-friendly interfaces
-   Multi-tier architecture
-   Debugging complex systems
-   Project architecture & design
-   UML
-   Testing strategies
-   Asynchronous communication
-   Client / server
-   Event-driven development
-   Code refactoring
-   S.O.L.I.D. principles
-   Strictly layered systems / layered architecture
-   Real-world software engineering practices
-   Separation of Concerns (SoC)
-   Backward compatibility
-   Quality-driven development
-   Dynamic programming
-   Technical presentation

### Real Time Embedded System Programming (RD) track

The RD track provides a ‘bottom-up’ approach to learning – with in-depth theory and an array of under-the-hood technologies and respective skills that are relevant for a wide range of software development disciplines. C++ is serves as the primary framework for learning programming and procedural languages, facilitating independent and efficient learning across all systems and languages. Topics covered include systems, networks, architectures & topologies, environments, frameworks, professional tools, coding styles, development environments, the software development lifecycle (SDLC), as well as additional programming languages and implementation techniques.

  

### Courses:

-   Introduction to File System
-   Object Oriented Programming, C++ Internals and Applied C++
-   Networking and IPC
-   Implementations of Design Patterns
-   Final Project – Infrastructure
-   Final Project – NBD Application and Communication
-   Final Project – Embedded
-   Methods and Applications of Interviews

### Full Stack Frontend and Backend Software Development (FS) track

The FS track provides a ‘top-down’ approach to learning, with a comprehensive exposure to the technologies, tools and trends of back-end Web development and Web services. Java serves as the framework for learning programming and procedural languages, facilitating independent and efficient learning across all systems and languages. Topics covered include specialized and best programming practices, multiple types of system development, databases, APIs, languages, UI/UX basics, networks, and cloud computing.

  

### Courses:

-   Object Oriented Programming, Java Internals and Applied Java 1
-   Object Oriented Programming, Java Internals and Applied Java 2
-   Implementations of Design Patterns
-   Applied Backend Development
-   Applied Databases
-   Introduction to Frontend Development
-   Final Project
-   Methods and Applications of Interviews

For a full description of program courses download the [MS Software Development Syllabus](https://global.yu.edu/hubfs/YU_Global_MS_Software_Dev_Syllabus.pdf?hsLang=en).