Master of Science in Software Development

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 master’s degree in Software Development will be able to demonstrate:

  • The ability to understand and analyze business and technical requirements.
  • The confidence to work comfortably with a software development and project team.
  • A high degree of competence in producing applications that satisfy requirements.
  • The skills to produce secure, robust, and reliable designs and code.
  • The capability to manage and participate in multi-location, multi-language development projects.

MS in Software Development Program Options

Available on campus and in the following formats:

Official transcripts of previous academic work, three letters of recommendation, personal statement, and résumé are required as part of the application.

A maximum of two graduate-level courses (8 credits) taken at Metropolitan College before acceptance into the program may be applied toward the degree.

Visit the online application to get started.

Academic Standing

A minimum passing grade for a course in the graduate program is a C (2.0) but an average grade of B (3.0) must be maintained to be in good academic standing and to be eligible to graduate.

Prerequisite

Applicants to the program are required to have a bachelor’s degree from a regionally accredited institution and must satisfy the following prerequisite:

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.   [ 4 cr. ]

Sum1 2017
Section Type Instructor Location Days Times
SO1 IND Shahossini ARR
Fall 2017
Section Type Instructor Location Days Times
O1 IND Shahossini ARR

If college-level credit or professional experience are not in evidence, the Admissions Committee will determine if the prerequisite course will need to be taken.

A total of 32 credits is required.

Core Curriculum

(Six courses/24 credits)

This course covers the concepts of the object-oriented approach to software design and development using the Python programming language. 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 capable of applying software engineering principles to design and implement Python applications that can be used in conjunction with analytics and big data. Prerequisite: MET CS 200 Fundamentals of Information Technology or MET CS 300 Foundations of Modern Computing or instructor's Consent. Not recommended for students without a programming background.   [ 4 cr. ]

Sum1 2017
Section Type Instructor Location Days Times
SC1 IND Aleksandrov MCS B23 T 6:00 pm – 9:30 pm
SO1 IND Ultrino ARR
Fall 2017
Section Type Instructor Location Days Times
A1 IND Aleksandrov CAS 428 M 6:00 pm – 8:45 pm
C1 IND Lu STH B20 W 6:00 pm – 8:45 pm
O1 IND Ultrino ARR
O2 IND Ultrino ARR

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.  [ 4 cr. ]

Section Type Instructor Location Days Times
A1 IND Lee MCS B33 M 6:00 pm – 8:45 pm

Comprehensive coverage of object-oriented programming with cooperating classes. Implementation of polymorphism with inheritance and interfaces and in Java library containers. Programming with exceptions, stream input/output and graphical AWT and Swing components. Threads, sockets, datagrams and database connectivity are also covered in this course. Prerequisite: MET CS 342 or equivalent knowledge of Java. Or MET CS 521 and MET CS 526. Or instructor's consent. For graduates only.   [ 4 cr. ]

Section Type Instructor Location Days Times
B1 IND Hadavi MCS B33 T 6:00 pm – 8:45 pm

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 cr. ]

Sum1 2017
Section Type Instructor Location Days Times
SEL IND Alt-Simmons FLR 109 S 9:00 am – 12:00 pm
Fall 2017
Section Type Instructor Location Days Times
O1 IND Alt-Simmons ARR
BHA IND Alt-Simmons M 6:00 pm – 8:45 pm

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 341, MET CS 342, MET CS 520, or MET CS 521. Or instructor's consent.  [ 4 cr. ]

Sum1 2017
Section Type Instructor Location Days Times
SO1 IND Braude ARR
Fall 2017
Section Type Instructor Location Days Times
D1 IND Teymourian CAS 201 R 6:00 pm – 8:45 pm

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.   [ 4 cr. ]

Sum1 2017
Section Type Instructor Location Days Times
SC1 IND Guadagno FLR 264 R 6:00 pm – 9:30 pm
SEL IND Guadagno FLR 264 R 6:00 pm – 9:30 pm
SO1 IND Polnar ARR
Fall 2017
Section Type Instructor Location Days Times
D1 IND Guadagno FLR 109 R 6:00 pm – 8:45 pm
E1 IND Guadagno FLR 109 R 6:00 pm – 8:45 pm
O1 IND Braude ARR
O2 IND Polnar ARR

General Electives

(Two courses/8 credits)

Select two from the following list:

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 cr. ]

Section Type Instructor Location Days Times
O1 IND Kalathur ARR

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. Prereq: MET CS 520 or 521. Or instructor's consent.   [ 4 cr. ]

Section Type Instructor Location Days Times
C1 IND Elentukh FLR 264 W 6:00 pm – 8:45 pm
E1 IND Elentukh FLR 264 W 6:00 pm – 8:45 pm

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: Only for MS CIS. 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 cr. ]

Sum1 2017
Section Type Instructor Location Days Times
BCL IND Parrott U 8:00 am – 3:30 pm
SC1 IND Matthews FLR 109 W 6:00 pm – 9:30 pm
SEL IND Matthews FLR 109 W 6:00 pm – 9:30 pm
SO1 IND Mansur ARR
Fall 2017
Section Type Instructor Location Days Times
C1 IND Maiewski CAS 222 W 6:00 pm – 8:45 pm
D1 IND Matthews FLR 266 R 6:00 pm – 8:45 pm
E1 IND Matthews FLR 266 R 6:00 pm – 8:45 pm
O1 IND Mansur ARR
O2 IND Farr ARR

This course will be divided into two parts. The first part, two thirds of the course, covers the principles and problems associated with mobile device applications, using as examples Google Android, iPhone, and other platforms such as Nokia. The last third is an in depth coverage of the open source Android development platform. Issues covered will include Mobile Hardware and Cell Networks, Architectures, Operating Systems, Languages, Development Environments and Simulators, User Interfaces, Location-based Services, Storing and Retrieving Data. Students will accomplish the following. (1) Learn the unique set of problems and challenges in developing mobile applications compared with desktop applications; (2) Learn the platform, tools, technology and process for developing mobile applications using Google Android and the Apple iPhone platforms as the main examples; (3) Write applications for the platforms covered, simulate them, and test them on the mobile hardware where possible; and (4) Work collaboratively with fellow students on their projects. Prereq: MET CS 342 OR MET CS 520 or MET CS 521. Or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
B1 IND Zhang CAS B27 T 6:00 pm – 8:45 pm
O1 IND Zhang ARR

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 cr. ]

Section Type Instructor Location Days Times
A1 IND Staff FLR 264 M 6:00 pm – 8:45 pm
E1 IND Staff FLR 264 M 6:00 pm – 8:45 pm

Students interested in taking electives outside of the stated requirements should contact the Department of Computer Science for approval.

Degree requirements for the online MS in Software Development can be viewed here.

To view a full list of Computer Science courses offered by Metropolitan College, visit the Computer Science & IT Graduate Courses page.