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:
Admission & Prerequisite Information
MET prioritizes the review and admission of applications submitted earlier in the rolling admission process. You are encouraged to submit your application as soon as possible and no later than the priority application deadlines for each term.
Applicants must have an earned bachelor’s degree, in any field of study, from a regionally accredited college/university (or the international equivalent) prior to enrollment at Metropolitan College. The following materials are required for a complete application:
- Completed Application for Graduate Admission and application fee
- All college transcripts
- Personal statement
- Three letters of recommendation
- Official English proficiency exam results (International students)
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:
MET CS 300 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. [ 4 cr. ]Fall 2019
A maximum of two graduate-level courses (8 credits) taken at Metropolitan College before acceptance into the program may be applied towards the degree.
Degree Requirements—On Campus
A total of 32 credits is required. 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.
(Six courses/24 credits)
MET CS 521 Information Structures with Python
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 300, or instructor's consent. [ 4 cr. ]Fall 2019
|A1||IND||Lu||BRB 122||M||6:00 pm – 8:45 pm|
|A2||IND||Pinsky||SAR 104||W||6:00 pm – 8:45 pm|
|A3||IND||Pinsky||STH B20||R||12:30 pm – 3:15 pm|
|A4||IND||Aleksandrov||SHA 202||R||6:00 pm – 8:45 pm|
|A1||IND||Lu||PSY B53||M||6:00 pm – 8:45 pm|
|A2||IND||TBA||EPC 207||M||6:00 pm – 8:45 pm|
|A3||IND||Pinsky||STH B19||W||2:30 pm – 5:15 pm|
|A4||IND||Pinsky||CAS B20||W||6:00 pm – 8:45 pm|
MET CS 526 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 cr. ]Fall 2019
|A1||IND||Lee||CAS B06A||M||6:00 pm – 8:45 pm|
|A1||IND||Lee||KCB 102||T||6:00 pm – 8:45 pm|
MET CS 622 Advanced Programming Techniques
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. [ 4 cr. ]Fall 2019
|A1||IND||Rawassizadeh||KCB 103||W||6:00 pm – 8:45 pm|
|A1||IND||Rawassizadeh||KCB 104||T||6:00 pm – 8:45 pm|
MET CS 634 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 cr. ]Fall 2019
|A1||IND||Heda||EPC 203||W||6:00 pm – 8:45 pm|
MET CS 665 Software Design and Patterns
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 cr. ]Fall 2019
|A1||IND||Teymourian||SHA 206||T||6:00 pm – 8:45 pm|
|A1||IND||Orsini||CAS 222||W||6:00 pm – 8:45 pm|
MET CS 682 Information Systems Analysis and Design
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. ]Fall 2019
|A1||IND||Guadagno||SHA 202||T||6:00 pm – 8:45 pm|
|A2||IND||Guadagno||HAR 212||R||6:00 pm – 8:45 pm|
|E1||IND||Guadagno||HAR 212||R||6:00 pm – 8:45 pm|
|A1||IND||Guadagno||STH B02B||W||6:00 pm – 8:45 pm|
|A2||IND||Guadagno||CAS 324||R||6:00 pm – 8:45 pm|
|E1||IND||Guadagno||STH B02B||W||6:00 pm – 8:45 pm|
(Two courses/8 credits)
Select two from the following list:
MET CS 602 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 cr. ]Fall 2019
|A1||IND||Sheehan||CAS 220||W||6:00 pm – 8:45 pm|
|A1||IND||Sheehan||CGS 323||R||6:00 pm – 8:45 pm|
MET CS 633 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 cr. ]Fall 2019
|A1||IND||Elentukh||CGS 323||W||6:00 pm – 8:45 pm|
|E1||IND||Elentukh||CGS 323||W||6:00 pm – 8:45 pm|
MET CS 669 Database Design and Implementation for Business
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. Prerequisite: MET CS 200 or MET CS 622. Or, instructor's consent. [ 4 cr. ]Fall 2019
|A1||IND||Maiewski||CAS 324||W||6:00 pm – 8:45 pm|
|A2||IND||Russo||SHA 206||W||6:00 pm – 8:45 pm|
|A3||IND||Matthews||CGS 113||R||6:00 pm – 8:45 pm|
|E1||IND||Matthews||CGS 113||R||6:00 pm – 8:45 pm|
|A1||IND||Matthews||KCB 102||M||6:00 pm – 8:45 pm|
|A2||IND||Maiewski||SHA 202||W||6:00 pm – 8:45 pm|
|A3||IND||Russo||PSY B53||W||6:00 pm – 8:45 pm|
MET CS 677 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 cr. ]Fall 2019
|A1||IND||Pinsky||MET 122||M||6:00 pm – 8:45 pm|
|A2||IND||Kalathur||EPC 207||M||6:00 pm – 8:45 pm|
|A1||IND||Pinsky||STH B19||M||6:00 pm – 8:45 pm|
|A2||IND||Kalathur||CAS B06A||T||6:00 pm – 8:45 pm|
MET CS 683 Mobile Application Development with Android
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 cr. ]Fall 2019
|A1||IND||Zhang||SOC B63||T||6:00 pm – 8:45 pm|
|BHA||IND||Staff||ROOM||T||6:00 pm – 8:45 pm|
MET CS 701 Rich Internet Application Development
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. ]Fall 2019
|A1||IND||Tizio||CAS B06B||M||6:00 pm – 8:45 pm|
MET CS 763 Secure Software Development
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 cr. ]
|A1||IND||Zhang||PSY B41||T||6:00 pm – 8:45 pm|
MET CS 767 Machine Learning
Theories and methods for automating and representing knowledge with an emphasis on learning from input/output data. The course covers a wide variety of approaches, including Supervised Learning, Neural Nets and Deep Learning, Reinforcement Learning, Expert Systems, Bayesian Learning, Fuzzy Rules, Genetic Algorithms, and Swarm Intelligence. Each student focuses on two of these approaches and creates a term project. Laboratory course. Prerequisite: MET CS 521 and either MET CS 622, MET CS 673 or MET CS 682. MET CS 677 is strongly recommended. Or, instructor's consent. [ 4 cr. ]Fall 2019
|A1||IND||Braude||CGS 515||R||6:00 pm – 8:45 pm|
|A1||IND||Braude||EPC 206||W||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.
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.