Online Master of Science in Software Development Degree
The MS in Software Development constitutes preparation for one of the largest and fastest-growing professions: software developer. It recognizes the ubiquitous and growing need for new and evolving software. The degree program is founded on the principle that developers must be thoroughly practiced in understanding new requirements in diverse fields and, acting as team members or leaders, fully competent to deliver secure, reliable software.
Students who complete the online master’s degree in Software Development will be able to demonstrate:
- Advanced knowledge of computer language theory, software design, as well as databases, networks, or security.
- Proficiency in algorithms, operating systems, computer language usage, software development, and the management of data, networks, or security.
- Competence sufficient to investigate continually emerging new software technologies, applications, and approaches.
Awards & Accreditations
Newsweek magazine ranked Boston University’s online programs #4 in the nation in its 2023 survey.
Why Choose BU’s Master of Science in Software Development?
- In 2024, the MSSD ranked #8 among the Best Online Master's in Computer Information Technology Programs (U.S. News & World Report).
- The MSSD is one of the only software development graduate degrees in the United States.
- Metropolitan College’s Software Development program prepares students to excel in an agile environment, where the creation of software is a process that involves multiple stakeholders.
- Students benefit from a supportive online network, with courses developed and taught by PhD-level full-time faculty and professionals with hands-on expertise in the industry.
- Small course sections ensure that students get the attention they need, while case studies and real-world projects ensure that they gain in-depth, practical experience with the latest technologies.
Meet Dr. Eric Braude, Associate Professor of Computer Science and Director of Digital Learning program.
Career Outlook
Software Developers, Quality Assurance Analysts, and Testers
25% increase in jobs through 2032
$130,160 median annual pay in 2023
Computer and Information Research Scientists
23% increase in jobs through 2032
$145,080 median annual pay in 2023
Bureau of Labor Statistics, U.S. Department of Labor, Occupational Outlook Handbook (visited July 29, 2024)
Best Technology Jobs, 2024 U.S. News & World Report
- #1 Software Developer
- #2 IT Manager
- #3 Information Security Analyst
- #4 Data Scientist
- #5 Web Developer
- #6 Computer Systems Analyst
- #7 Computer Network Architect
- #8 Database Administrator
- #9 Computer Support Specialist
- #10 Computer Systems Administrator
- #11 Computer Programmer
Tuition & Financial Assistance
Money Matters
Boston University Metropolitan College (MET) offers competitive tuition rates that meet the needs of part-time students seeking an affordable education. These rates are substantially lower than those of the traditional, full-time residential programs yet provide access to the same high-quality BU education. To learn more about current tuition rates, visit the MET website.
Financial Assistance
Comprehensive financial assistance services are available at MET, including scholarships, graduate loans, and payment plans. There is no cost to apply for financial assistance, and you may qualify for a student loan regardless of your income. Learn more.
Curriculum
Boston University’s online Master of Science in Software Development consists of eight courses (32 credits).
Courses
Core Courses
(Five courses/20 credits)
METCS521 Information Structures with Python
This course covers the concepts of the object-oriented approach to software design and development using Python. It includes a detailed discussion of programming concepts starting with the fundamentals of data types, control structures methods, classes, arrays and strings, and proceeding to advanced topics such as inheritance and polymorphism, creating user interfaces, exceptions and streams. Upon completion of this course students will be able to apply software engineering principles to design and implement Python applications that can be used in with analytics and big data. Effective Fall 2021, this course fulfills a single unit in each of the following BU Hub areas: Quantitative Reasoning II, Creativity/Innovation, Critical Thinking.
Prerequisite: Programming experience in any language. Or Instructor's consent. [4 credits]
METCS526 Data Structures and Algorithms
This course covers and relates fundamental components of programs. Students use various data structures to solve computational problems, and implement data structures using a high-level programming language. Algorithms are created, decomposed, and expressed as pseudocode. The running time of various algorithms and their computational complexity are analyzed. Prerequisite: MET CS300 and either MET CS520 or MET CS521, or instructor's consent. [4 credits]
METCS622 Advanced Programming Techniques
Polymorphism, containers, libraries, method specifications, large-scale code management, use of exceptions, concurrent programming, functional programming, programming tests. Java will be used to illustrate these concepts. Students will implement a project or projects of their own choosing, in Java, since some concepts are expressible only in Java. Prerequisite: MET CS 342 or equivalent knowledge of Java. Or MET CS 521 and MET CS 526. Or instructor's consent. Effective Fall 2020, this course fulfills a single unit in each of the following BU Hub areas: Quantitative Reasoning II, Creativity/Innovation, Critical Thinking. [4 credits]
METCS665 Software Design and Patterns
Graduate Prerequisites: (METCS341 or METCS342 and METCS565) or consent of the instructor - Software design principles, the object-oriented paradigm, unified modeling language; creational, structural, and behavioral design patterns; OO analysis and design; implementation of semester project. Laboratory course. Prereq: (MET CS 526 or MET CS 622) and one of the following (MET CS 341, MET CS 342, MET CS 520, or MET CS 521). Or instructor's consent. [4 credits]
Plus one of the following:
METCS673 Software Engineering
Undergraduate Prerequisites: MET CS342 and at least one 500-level computer programming-intensive sc ience course (or instructor's consent). MET CS 564 or MET CS 565 are r ecommended. - Overview of techniques and tools to develop high quality software. Topics include software development life cycle such as Agile and DevOps, requirements analysis, software design, programming techniques, refactoring, testing, as well as software management issues. This course features a semester-long group project where students will design and develop a real world software system in groups using Agile methodology and various SE tools, including UML tools, project management tools, programming frameworks, unit and system testing tools , integration tools and version control tools.
Prereq: This is a capstone course to be taken after at least two programming intensive courses toward the end of a program of study. Familiarity with OO design concepts and proficiency in at least one high-level programming language is required. Or, Instructor's consent. Familiarity with web or mobile application development preferred.
Effective Fall 2020, this course fulfills a single unit in each of the following BU Hub areas: Digital/Multimedia Expression, Oral and/or Signed Communication, Teamwork/Collaboration. [4 credits]
METCS682 Information Systems Analysis and Design
Undergraduate Prerequisites: Basic programming knowledge or instructor's consent. - Object-oriented methods of information systems analysis and design for organizations with data- processing needs. System feasibility; requirements analysis; database utilization; Unified Modeling Language; software system architecture, design, and implementation, management; project control; and systems-level testing. Prerequisite: Basic programming knowledge or instructor's consent. [4 credits]
Electives
(Three courses/12 credits)
When choosing electives, students should make sure that they have all prerequisites required by the selected course or, instructor’s consent. Choose three from the following list:
METCS601 Web Application Development
Prerequisites: WAD 100 - Learn essential front-end development skills, starting with foundational JavaScript techniques, such as DOM manipulation and event handling, and advancing to interactive web technologies like HTML's Drag and Drop, Canvas, and SVG. You will be exposed to asynchronous operations, including AJAX, the Fetch API, and Web Workers, and learn to craft responsive designs using Flexbox, CSS Grid, and advanced CSS selectors. A comprehensive exploration of TypeScript and its main feature, static typing, and capabilities will also be covered. The course concludes with a comprehensive dive into ReactJS, covering its core architectural concepts, component-based structure, and state management techniques [4 credits]
METCS602 Server-Side Web Development
The Server-Side Web Development course concentrates primarily on building web applications using PHP/MySQL and Node.js/MongoDB. The course is divided into various modules covering in depth the following topics: PHP, MySQL, Object oriented PHP, PHP MVC, Secure Web applications, Node.js and MongoDB. Along with the fundamentals underlying these technologies, several applications will be showcased as case studies. Students work with these technologies starting with simple applications and then examining real world complex applications. At the end of this course, students would have mastered the web application development on the server-side. Prerequisite: MET CS 601. Or instructor's consent. [4 credits]
METCS633 Software Quality, Testing, and Security Management
Theory and practice of security and quality assurance and testing for each step of the software development cycle. Verification vs. validation. Test case design techniques, test coverage criteria, security development and verification practices, and tools for static and dynamic analysis. Standards. Test-driven development. QA for maintenance and legacy applications. From a project management knowledge perspective, this course covers the methods, tools and techniques associated with the following processes -- Plan Quality, Perform Quality Assurance, and Perform Quality Control. [4 credits]
METCS634 Agile Software Development
This course provides students with a comprehensive overview of the principles, processes, and practices of agile software development. Students learn techniques for initiating, planning and executing on software development projects using agile methodologies. Students will obtain practical knowledge of agile development frameworks and be able to distinguish between agile and traditional project management methodologies. Students will learn how to apply agile tools and techniques in the software development lifecycle from project ideation to deployment, including establishing an agile team environment, roles and responsibilities, communication and reporting methods, and embracing change. We also leverage the guidelines outlined by the Project Management Institute for agile project development as a framework in this course. [4 credits]
METCS664 Artificial Intelligence
Graduate Prerequisites: MET CS 248 and MET CS 341 or MET CS 342. - Study of the ideas and techniques that enable computers to behave intelligently. Search, constraint propagations, and reasoning. Knowledge representation, natural language, learning, question answering, inference, visual perception, and/or problem solving. Laboratory course. Prereq: MET CS 341, MET CS 342, MET CS 520 or MET CS 521. Or instructor's consent. [4 credits]
METCS669 Database Design and Implementation for Business
Undergraduate Prerequisites: Restrictions: Only for MS CIS. This course may not be taken in conjunc tion with MET CS 469 (undergraduate) or MET CS 579. Only one of these courses can be counted towards degree requirements. - Students learn the latest relational and object-relational tools and techniques for persistent data and object modeling and management. Students gain extensive hands- on experience using Oracle or Microsoft SQL Server as they learn the Structured Query Language (SQL) and design and implement databases. Students design and implement a database system as a term project. Restrictions: This course may not be taken in conjunction with MET CS 469 (undergraduate) or MET CS 579. Only one of these courses can be counted towards degree requirements. [4 credits]
METCS677 Data Science with Python
Students will learn major Python tools and techniques for data analysis. There are weekly assignments and mini projects on topics covered in class. These assignments will help build necessary statistical, visualization and other data science skills for effective use of data science in a variety of applications including finance, text processing, time series analysis and recommendation systems. In addition, students will choose a topic for a final project and present it on the last day of class. Prerequisite: MET CS 521 or equivalent. Or, instructor's consent. [4 credits]
METCS683 Mobile Application Development with Android
Graduate Prerequisites: (METCS342) or instructor's consent. - This course discusses the principles and issues associated with mobile application development using Android as the development platform. Topics covered will include Android application components (Activities, Services, Content Providers and Broadcast Receivers), ICC (Inter-component Communication), UI design, data storage, asynchronous processing, 2D graphics, and Android security. Students will develop their own apps in Java and/or Kotlin using Android Studio in their semester-long projects. Prior knowledge of Java programming is required. Prerequisite: MET CS 342 OR MET CS 520 OR MET CS 521. Or instructor's consent. [4 credits]
METCS701 Rich Internet Application Development
Undergraduate Prerequisites: MET CS 520 or MET CS 601 and programming experience, or instructor's c onsent - The Rich Internet Application (RIA) Development course concentrates primarily on building rich client web applications in the browser for desktop and mobile devices. The course is divided into various modules covering in depth the following technologies: HTML5, AngularJS, and Ionic framework. Along with the fundamentals underlying these technologies, several applications will be showcased as case studies. Students work with these technologies starting with simple applications and then examining real world complex applications. At the end of this course, students would have mastered the latest and widely used RIA methodologies. Course Prerequisites: METCS520 (Information Structures) and METCS601 (Web Application Development), or instructor's consent. [4 credits]
METCS763 Secure Software Development
Graduate Prerequisites: MET TC 250 or MET CS 248 or MET OM 501. - Overview of techniques and tools to develop secure software. Focus on the application security. Topics include secure software development processes, threat modeling, secure requirements and architectures, vulnerability and malware analysis using static code analysis and dynamic analysis tools, vulnerabilities in C/C++ and Java programs, Crypto and secure APIs, vulnerabilities in web applications and mobile applications, and security testing. Hands-on lab and programming exercises using current tools are provided and required. Prerequisite: At least two 500- level (or above) programming-intensive computer science courses; or instructor's consent. [4 credits]
METCS767 Advanced Machine Learning and Neural Networks
Graduate Prerequisites: MET CS 521; MET CS 622, MET CS 673 or MET CS 682; MET CS 677 strongly recommended; or consent of instructor. - Theories and methods for learning from data. The course covers a variety of approaches, including Supervised and Unsupervised Learning, Regression, k-means, KNN’s, Neural Nets and Deep Learning, Recurrent Neural Nets, Rule-learning, Adversarial Learning, Bayesian Learning, and Genetic Algorithms. The underpinnings are covered: perceptrons, backpropagation, attention, and transformers. Each student focuses on two of these approaches and creates a term project. [4 credits]
Students interested in taking electives outside of the stated requirements should contact the Department of Computer Science for approval.
Admission & Prerequisite Information
Admissions
Visit the Metropolitan College Graduate application page to learn more and apply.
Prerequisites
Applicants are not required to have a degree in computer science for entry to a program within the Department of Computer Science. Upon review of your application, the department will determine if the completion of prerequisite coursework will be required, based on your academic and professional background. The following prerequisite courses may be required:
METCS300 Introduction to Software Development
This course introduces basic concepts in discrete mathematics, computer systems and programming that are necessary for modern computing systems. It also develops analytic and logical thinking and prepares students to take graduate-level courses in software development degree. This course first reviews the basic concepts in discrete mathematics including logic, sets, functions, relations and combinatorics. Then it discusses the fundamental concepts in computer systems such as computer organization, basic OS concepts, CPU scheduling, memory management, process management and synchronization. Concurrently with the above mathematics and systems studies, programming concepts are introduced and practiced throughout the whole course using Python. Restriction: Not for CS undergraduate students [4 credits]
A maximum of two graduate-level courses (8 credits) taken at Metropolitan College before acceptance into the program may be applied towards the degree.
Eric Braude
Associate Professor and Director of Digital Learning, Computer Science
PhD, Columbia University; MS, University of Miami; MS, University of Illinois; BS, University of Natal (South Africa)
Lou Chitkushev
Associate Dean, Academic Affairs; Associate Professor, Computer Science; Director, Health Informatics and Health Sciences
PhD, Boston University; MS, Medical College of Virginia; MS, BS, University of Belgrade
John Day
Lecturer, Computer Science
MSEE, BSEE, University of Illinois
View all Faculty
Stu Jacobs
Lecturer, Computer Science
MS, Southern Connecticut State University; BS, University of Wisconsin, Madison
Suresh Kalathur
Assistant Professor, Computer Science; Director, Analytics
PhD, Brandeis University; MS, Indian Institute of Technology; BS, Regional Engineering College (Warangal, India)
Vijay Kanabar, PMP
Associate Professor, Computer Science and Administrative Sciences; Director, Project Management
PhD, University of Manitoba (Canada); MS, Florida Institute of Technology; MBA, Webber College; BS, University of Madras (India)
Jae Young Lee
Assistant Professor, Computer Science; Coordinator, Databases
PhD, MS, University of Texas at Arlington; BS, Seoul National University (Korea)
Robert Schudy
Associate Professor Emeritus, Computer Science
PhD, MS, University of Rochester; BA, University of California San Diego
Victor Shtern
Associate Professor Emeritus, Computer Science
PhD, Leningrad Aluminum Institute (Russia); MS, Leningrad Institute of Technology; MBA, Boston University
Anatoly Temkin
Assistant Professor Emeritus, Computer Science
PhD, Kazan University (Russia); MS, Moscow University
Guanglan Zhang
Associate Professor and Chair, Computer Science; Coordinator, Health Informatics
PhD, MEng, Nanyang Technological University, Singapore; BS, Luoyang Institute of Technology
Yuting Zhang
Assistant Professor, Computer Science; Coordinator, Information Security
PhD, Boston University; MS, BS University of Science and Technology Beijing
Tanya Zlateva
Dean, Metropolitan College; Professor of the Practice, Computer Science and Education; Director, Information Security
PhD, Dresden University of Technology (Germany); MS, Dresden University of Technology; BS, Dresden University of Technology
Getting Started
To learn more or to contact an enrollment advisor before you get started, request information using the button below and tell us a little about yourself. Someone will be in touch to answer any questions you may have about the program and detail the next steps in earning your degree. You can also start your application or register for a course at Metropolitan College.