Master of Science in Computer Science

CNSS - LogoThe Master of Science (MS) in Computer Science program is intended for computer professionals and for people who wish to move into the computer field from other areas of study.

Students who complete the master’s degree in Computer Science will be able to demonstrate:

  • Advanced knowledge of computer language theory, software design, as well as data bases, 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.

Concentrations

Students may choose to pursue one of the following concentrations:

Appreciating the converging nature of management skills and technology, the Computer Science department has a special relationship with Metropolitan College’s Administrative Sciences and Actuarial Science departments. Degree candidates in either program may apply 8 credits from one degree toward a second degree in one of these disciplines, thereby reducing their work by two courses. Students must be accepted by both departments, but they may request that application materials such as references and transcripts be forwarded from the first program to the second.

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.

Prerequisites

Applicants to the program are required to have a bachelor’s degree from an accredited institution and a background in areas such as programming, discrete mathematics, and computer systems. If college-level credit or professional experience is not in evidence, the Admissions Committee will determine which, if any, of the following prerequisite courses will need to be taken. Students who complete the program’s prerequisites at Boston University can earn an undergraduate Certificate in Computer Science. Contact Undergraduate Student Services at 617-353-2980 or metuss@bu.edu for more information.

Java Programming Track

This course covers the elements of object-oriented programming and the Java Programming Language. Primitive data types, control structures, methods, classes, arrays and strings, inheritance and polymorphism, interfaces, creating user interfaces, applets, exceptions and streams. Laboratory course.   [ 4 cr. ]

Section Type Instructor Location Days Times
B1 IND KCB 106 T 6:00 pm – 9:00 pm

Fundamentals of logic (the laws of logic, rules of inferences, quantifiers, proofs of theorems), Fundamental principles of counting (permutations, combinations), set theory, relations and functions, graphs, trees and sorting, shortest path and minimal spanning trees algorithms. Monoids and Groups.   [ 4 cr. ]

Section Type Instructor Location Days Times
A1 IND MCS B19 M 6:00 pm – 9:00 pm

This course covers data structures using the Java Programming Language. Topics include data abstraction, encapsulation, information hiding, and the use of recursion, creation and manipulation of various data structures: lists, queues, tables, trees, heaps, and graphs, and searching and sorting algorithms. Laboratory course.   [ 4 cr. ]

Section Type Instructor Location Days Times
A1 IND CAS 233 M 6:00 pm – 9:00 pm

Computer organization with emphasis on processors, memory, and input/output. Includes pipelining, ALUs, caches, virtual memory, parallelism, measuring performance, and basic operating systems concepts. Discussion of assembly language instruction sets and programming as well as internal representation of instructions. Prereq: MET CS 231 or MET CS 232; or instructor's consent  [ 4 cr. ]

Section Type Instructor Location Days Times
D1 IND KCB 107 R 6:00 pm – 9:00 pm

C++ Programming Track

Covers the elements of object-oriented programming and the C++ language. Data types, control structures, functions, library functions, classes, inheritance, and multiple inheritance. Use of constructors, destructors, function and operator overloading, reference parameters and default values, friend functions, input and output streams, templates, and exceptions. Laboratory course.   [ 4 cr. ]

Section Type Instructor Location Days Times
A1 IND KCB 104 M 6:00 pm – 9:00 pm

Fundamentals of logic (the laws of logic, rules of inferences, quantifiers, proofs of theorems), Fundamental principles of counting (permutations, combinations), set theory, relations and functions, graphs, trees and sorting, shortest path and minimal spanning trees algorithms. Monoids and Groups.   [ 4 cr. ]

Section Type Instructor Location Days Times
A1 IND MCS B19 M 6:00 pm – 9:00 pm

Covers data structures, using the C++ language. Topics include data abstraction, encapsulation, the use of recursion, creation and manipulation of various data structures; bags, lists, queues, tables, trees, heaps and graphs, and searching and sorting algorithms. Laboratory course.   [ 4 cr. ]

Section Type Instructor Location Days Times
C1 IND MCS B19 W 6:00 pm – 9:00 pm

Computer organization with emphasis on processors, memory, and input/output. Includes pipelining, ALUs, caches, virtual memory, parallelism, measuring performance, and basic operating systems concepts. Discussion of assembly language instruction sets and programming as well as internal representation of instructions. Prereq: MET CS 231 or MET CS 232; or instructor's consent  [ 4 cr. ]

Section Type Instructor Location Days Times
D1 IND KCB 107 R 6:00 pm – 9:00 pm

Students who do not have any programming experience are strongly encouraged to take MET CS 201 Introduction to Programming before the prerequisite programming sequences in C++ or Java.

A total of 40 credits is required.

Core Curriculum

(Five courses/20 credits)

Discusses basic methods for designing and analyzing efficient algorithms emphasizing methods used in practice. Topics include sorting, searching, dynamic programming, greedy algorithms, advanced data structures, graph algorithms (shortest path, spanning trees, tree traversals), matrix operations, string matching, NP completeness.   [ 4 cr. ]

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

Overview of operating system characteristics, design objectives, and structures. Topics include concurrent processes, coordination of asynchronous events, file systems, resource sharing, memory management, security, scheduling and deadlock problems.   [ 4 cr. ]

Section Type Instructor Location Days Times
D1 IND MCS B33 R 6:00 pm – 9:00 pm
BHA IND M 6:00 pm – 9:00 pm

Theory of finite automata and regular expressions and properties of regular sets. Context- free grammars, context-free languages, and pushdown automata. Turing machines, undecidability problems, and the Chomsky hierarchy. Introduction to computational complexity theory and the study of NP-complete problems. Prerequisite: MET CS 248.   [ 4 cr. ]

Section Type Instructor Location Days Times
C1 IND CGS 515 W 6:00 pm – 9:00 pm

Techniques for the construction of reliable, efficient, and cost-effective software. Requirement analysis, software design, programming methodologies, testing procedures, software development tools, and management issues. Students plan, design, implement, and test a system in a group project. Laboratory course. Prereq: MET CS 342 and at least one 500-level computer programming-intensive computer science course; or instructor's consent.   [ 4 cr. ]

Section Type Instructor Location Days Times
A1 IND EPC 204 M 6:00 pm – 9:00 pm

And one of the following:

Overview of data communication and computer networks, including network hardware and software, as well as reference models, example networks, data communication services and network standardization. The OSI and the Internet (TCP/IP) network models are discussed. The course covers each network layer in details, starting from the Physical layer to towards the Application layer, and includes an overview of network security topics. Other topics covered include encoding digital and analog signals, transmission media, protocols. circuit, packet, message, switching techniques, internetworking devices, topologies. LANs/WANs, Ethernet, IP, TCP, UDP, and Web applications. Labs on network analysis. Prereq: MET CS 575 and MET CS 201 or MET CS 231 or MET CS 232. Or instructor's consent. Restrictions: This course may not be taken in conjunction with MET CS 625 or MET CS 425 (undergraduate). Only one of these courses can be counted towards degree requirements.  [ 4 cr. ]

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

This course provides a theoretical yet modern presentation of database topics ranging from Data and Object Modeling, relational algebra and normalization to advanced topics such as how to develop Web-based database applications. Other topics covered - relational data model, SQL and manipulating relational data; applications programming for relational databases; physical characteristics of databases; achieving performance and reliability with database systems; object-oriented database systems. Prereq: MET CS 231 or MET CS 232; or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
B1 IND MCS B21 T 6:00 pm – 9:00 pm

Students who have completed courses on core curriculum subjects as part of their undergraduate degree program or have relevant work-related experience may request permission from the Department of Computer Science to replace the corresponding core courses with graduate-level computer science electives. Please refer to the MET CS Academic Policies Manual for further details.

General Electives

(Five courses/20 credits)

Students who are not choosing a concentration must select five General Electives. At least three courses must be at the 600 level or above. When choosing electives, students should make sure that they have all prerequisites required by the selected course.

In-depth exploration of the C# programming language and Visual Studio .NET for development, debugging, and deployment of applications. Programming in C# encompassing the following topics: Device I/O handling, .NET Framework application development classes such as window forms, splitters, views, controls, dialogs, resources, such as menus, tool bars, bitmaps, and status bars. Custom controls, visual inheritance, SDI, MDI, and extending the Visual Studio .NET interface. File I/O for reading and storing binary and textual information. Data services for manipulating SQL-databases using ADO.NET. Graphics Services (GDI+) for 2D-vector graphics, imaging, and text rendering, including the new features of gradients, anti-aliasing, double buffering techniques, zooming, off-screen image processing and rendering. Communication services: TCP and UDP sockets, broadcast, unicast, and multicast sockets. Utilizing idle time processing, timers, and threading for building responsive GUI applications. Laboratory course. Prereq: MET CS 341 and MET CS 342; or instructor's consent.   [ 4 cr. ]

This course empowers students to reduce the energy use, waste, and other environmental impacts of IT systems while reducing life cycle costs, thereby improving competitive advantage. Students learn how to measure computer power usage, minimize power usage, procure sustainable hardware, design green data centers, recycle computer equipment, configure computers to minimize power, use virtualization to reduce the number of servers, and other green technologies. Students also learn how to make green IT an integral part of organizational culture and planning, to foster long-term sustainable information technology. The course is executed through a combination of lectures, guest lectures, field trips, assignments, labs, case studies, and a term project.   [ 4 cr. ]

This course is primarily the study of design of graphic algorithms. At the end of the course you can expect to be able to write programs to model, transform and display 3- dimensional objects on a 2-dimensional display. The course starts with a brief survey of graphics devices and graphics software. 2-d primitives such as lines and curves in 2- d space are studied and a number of algorithms to draw them on a rectangular surface are introduced, followed by a study of polygons, scan conversion and other fill methods. Attributes of the primitives are studied as well as filtering and aliasing. Geometric transformations in 2 dimensions are introduced in homogeneous coordinates, followed by the viewing pipeline, which includes clipping of lines, polygons and text. Hierarchical graphics modeling is briefly studied. The graphics user interface is introduced and various input functions and interaction modes are examined. 3-d graphics is introduced through object representations through polygonal methods, spline techniques, and octrees. This is followed by 3-d transformations and the 3-d viewing pipeline. The course ends with a study of algorithms to detect the visible surfaces of a 3-d object in both the object space and the image space. Laboratory Course. Prereq: MET CS 248 and MET CS 341 or MET CS 342. Or instructor's consent.   [ 4 cr. ]

The goal of this course is to provide students with the mathematical and practical background required in the field of data analytics. Starting with an introduction to probability and statistics, the R tool is introduced for statistical computing and graphics. Different types of data are investigated along with data summarization techniques and plotting. Data populations using discrete, continuous, and multivariate distributions are explored. Errors during measurements and computations are analyzed in the course. Confidence intervals and hypothesis testing topics are also examined. The concepts covered in the course are demonstrated using R. Laboratory Course. Prereq: MET CS 546 or equivalent knowledge, or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
O1 IND ARR

This course provides an overview of the statistical tools most commonly used to process, analyze, and visualize data. Topics include simple linear regression, multiple regression, logistic regression, analysis of variance, and survival analysis. These topics are explored using the statistical package R, with a focus on understanding how to use and interpret output from this software as well as how to visualize results. In each topic area, the methodology, including underlying assumptions and the mechanics of how it all works along with appropriate interpretation of the results, are discussed. Concepts are presented in context of real world examples. Recommended Prerequisite: MET CS 544 or equivalent knowledge, or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
B1 IND KCB 104 T 6:00 pm – 9:00 pm

This course presents financial algorithms used in applications of computer science in financial decision analysis, risk management, data mining and market analysis, and other modern business processes. The course covers theoretical background on probabilistic methods used for financial decision making and their application in number of fields such as financial modeling, venture capital decision making, operational risk measurement and investment science. Number of financial applications and algorithms are being presented for portfolio risk analysis, modeling real options, venture capital decision making, etc. The course concludes with algorithms for financial risk assessment and presents the security concepts and challenges of financial information systems.   [ 4 cr. ]

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

This course is designed for IT professionals, and those training to be IT professionals, who are preparing for careers in healthcare-related IT (Health Informatics). This course provides a high-level introduction into basic concepts of biomedicine and familiarizes students with the structure and organization of American healthcare system and the roles played by IT in that system. The course introduces medical terminology, human anatomy and physiology, disease processes, diagnostic modalities, and treatments associated with common disease processes. IT case studies demonstrate the key roles of health informatics and how IT tools and resources help medical professionals integrate multiple sources of information to make diagnostic and therapeutic decisions.  [ 4 cr. ]

Section Type Instructor Location Days Times
C1 IND YAW 440 W 6:00 pm – 9:00 pm
E1 IND YAW 440 W 6:00 pm – 9:00 pm
O1 IND ARR

This course presents the technological fundamentals and integrated clinical applications of modern Biomedical IT. The first part of the course covers the technological fundamentals and the scientific concepts behind modern medical technologies, such as digital radiography, CT, nuclear medicine, ultrasound imaging, etc. It also presents various medical data and patient records, and focuses on various techniques for processing medical images. This part also covers medical computer networks and systems and data security and protection. The second part of the course focuses on actual medical applications that are used in health care and biomedical research.   [ 4 cr. ]

Section Type Instructor Location Days Times
O1 IND ARR

Electronic Health Records (EHRs) are application systems that automate the activities of healthcare clinicians including physicians, nurses, physician assistants, and healthcare administrative staff. Use of EHRs is increasing rapidly due to the systems' benefits and federal government programs to deploy EHRs. This increased use of EHRs has many challenges including complex data, high security requirements, integration to multiple application systems, a distributed user base, and broad impact on how these users work.   [ 4 cr. ]

Section Type Instructor Location Days Times
A1 IND PSY B53 M 6:00 pm – 9:00 pm
E1 IND PSY B53 M 6:00 pm – 9:00 pm

In this course we will study the fundamental and design applications of various biometric systems based on fingerprints, voice, face, hand geometry, palm print, iris, retina, and other modalities. Multimodal biometric systems that use two or more of the above characteristics will be discussed. Biometric system performance and issues related to the security and privacy aspects of these systems will also be addressed.   [ 4 cr. ]

This course focuses on building core competencies in web design and development. It begins with a complete immersion into HTML essentially XHTML and Dynamic HTML (DHTML). Students are exposed to Cascading Style Sheets (CSS), as well as Dynamic CSS. The fundamentals of JavaScript language including object-oriented JavaScript is covered comprehensively. AJAX with XML and JSON are covered, as they are the primary means to transfer data from client and server. Prereq: For CIS Students: MET CS 200 Fundamentals of Information Technology, or instructor's consent. For CS and TC Students: MET CS 231 or MET CS 232, or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
B1 IND FLR 267 T 6:00 pm – 9:00 pm
E1 IND FLR 267 T 6:00 pm – 9:00 pm
O1 IND ARR

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 ARR

This course provides students with a comprehensive overview of the principles, processes, and practices of software project management. Students learn techniques for planning, organizing, scheduling, and controlling software projects. There is substantial focus on software cost estimation and software risk management. Students will obtain practical project management skills and competencies related to the definition of a software project, establishment of project communications, managing project changes, and managing distributed software teams and projects.   [ 4 cr. ]

Section Type Instructor Location Days Times
D1 IND FLR 264 R 6:00 pm – 9:00 pm
E1 IND FLR 264 R 6:00 pm – 9:00 pm
O1 IND ARR

Many of today's software systems are developed by geographically distributed teams. The course examines software engineering in this context, from the project and program management perspective. The term project consists of in-process submissions that are thoroughly reviewed, including among peers, together with a working system prototype. No programming background is required. Prereq: MET CS 520 or MET CS 521, and MET CS 682. Or instructor's consent.  [ 4 cr. ]

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

This course presents the concepts and fundamental design principles of computer networks and Internet that have contributed to the modern networks technologies. It will also present an overview of new trends in networks and Internet/Intranet with design of real campus networks. Topics include design principles for network topology and optimization of network elements. Design of network architecture is also covered, including the fundamentals of Internet applications (HTTP, FTP, DNS), TCP and UDP protocols and implementations, congestion control and traffic engineering, multimedia networking, and security in computer networks. Prereq: MET CS 231 or MET CS 232 and either MET CS 625 or MET CS 535; or instructor's consent.   [ 4 cr. ]

This course provides a comprehensive introduction to building state-of-the-art Web sites, Web applications, Web services, and Web-connected devices with Microsoft technologies, with an emphasis on server-side technologies, cross-platform (Windows, OS X, Linux) methodologies, and how they interplay with today's client-side script. Server-side technologies covered include the C# programming language, the ASP.NET system for developing web sites and web apps, REST-based and SOAP-based web services, ADO.NET and LINQ for data access, Model View Controller (MVC) and Model- View-ViewModel (MVVM) architectures and frameworks like Windows Communication Framework (WCF). This class requires some programming experience in either Java, C#, or C++. Programming will be based on Microsoft Visual Studio or Microsoft Code, available through BU's MSDNAA. A copy of the software will be provided to students. Prereq: MET CS 232, or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
C1 IND CAS B20 W 6:00 pm – 9:00 pm

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 248 and MET CS 341 or MET CS 342; or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
D1 IND KCB 104 R 6:00 pm – 9:00 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. ]

Section Type Instructor Location Days Times
D1 IND PSY B53 R 6:00 pm – 9:00 pm

The Java Enterprise Edition (Java EE) architecture is explored starting with the presentation layer which includes the servlets and Java Server Pages (JSP). Java Server Faces (JSF) are briefly covered. The business layer is examined using the enterprise java beans (EJB). The persistence layer is studied through the Java Persistence API (JPA) and the Hibernate framework. Java based web services are explored using JAX- WS (SOAP based) and JAX-RS (REST based) APIs. The Spring framework is compared as an alternative architecture. Prereq: MET CS 565; or instructor's consent.  [ 4 cr. ]

Teaches students how to develop complex applications based on the UNIX/POSIX standard. Topics include UNIX standardization and implementation, shell programming, system calls, library function, process control and relationships, signals, file and terminal input/output, and interprocess communication. Laboratory course. Prereq: MET CS 575; or instructor's consent.  [ 4 cr. ]

The course provides a strong foundation in database security and auditing. This course utilizes Oracle scenarios and step-by-step examples. The following topics are covered: security, profiles, password policies, privileges and roles, Virtual Private Databases, and auditing. The course also covers advanced topics such as SQL injection, database management security issues such as securing the DBMS, enforcing access controls, and related issues. Prereq: MET CS 579 or MET CS 669; or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
A1 IND CGS 527 M 6:00 pm – 9:00 pm
E1 IND CGS 527 M 6:00 pm – 9:00 pm
O1 IND 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 instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
B1 IND CAS B27 T 6:00 pm – 9:00 pm

This course enables IT professional leaders to identify emerging security risks and implement highly secure networks to support organizational goals. Discussion of methodologies for identifying, quantifying, mitigating and controlling risks. Students implement a comprehensive IT risk management plans (RMP) that identify alternate sites for processing mission-critical applications, and techniques to recover infrastructure, systems, networks, data and user access. The course also discusses related topics such as: disaster recovery, handling information security; protection of property, personnel and facilities; protection of sensitive and classified information, privacy issues, and criminal terrorist and hostile activities.  [ 4 cr. ]

Section Type Instructor Location Days Times
D1 IND FLR 265 R 6:00 pm – 9:00 pm
E1 IND FLR 265 R 6:00 pm – 9:00 pm
O1 IND ARR

. This course will cover contemporary integrated network management based on FCAPS (Fault, Configuration, Administration, Performance, and Security management) model. The introduction to the course will be an overview of data transmission techniques and networking technologies. The middle part of the course will be on Network Management Model, SNMP versions 1, 2 and 3, and MIBs. In the second part of the course, particular focus and emphasis will be given to current network management issues: various wireless networks technologies (WLAN, WiFi, WiMax), Voice-over-IP, Peer-to-Peer Networks, networking services, Identity Management, and Services Oriented Architecture Management. Prereq: MET CS 535 or MET CS 625. or instructor's consent.  [ 4 cr. ]

The Web Analytics and Mining course covers the areas of web analytics, text mining, web mining, and practical application domains. The web analytics part of the course studies the metrics of web sites, their content, user behavior, and reporting. Google analytics tool is used for collection of web site data and doing the analysis. The text mining module covers the analysis of text including content extraction, string matching, clustering, classification, and recommendation systems. The web mining module studies how web crawlers process and index the content of web sites, how search works, and how results are ranked. Application areas mining the social web and game metrics will be extensively investigated. Laboratory Course. Prerequisites: MET CS 544, or MET CS 555 or equivalent knowledge, or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
C1 IND SHA 111 W 6:00 pm – 9:00 pm
O1 IND ARR

This course surveys state-of-the art technologies in DW and Big Data. It describes logical, physical and semantical foundation of modern DW infrastructure. Students will create a cube using OLAP and implement decision support benchmarks on Hadoop/Spark vs Vertica database. Upon successful completion, students will be familiar with tradeoffs in DW design and architecture. Prereq: MET CS 579 or MET CS 669 and either MET CS 520 or MET CS 521. Or instructor's consent.   [ 4 cr. ]

Section Type Instructor Location Days Times
B1 IND SHA 111 T 6:00 pm – 9:00 pm

This course will cover advanced network security issues and solutions. The main focus on the first part of the course will be on Security basics, i.e. security services, access controls, vulnerabilities, threats and risk, network architectures and attacks. In the second part of the course, particular focus and emphasis will be given to network security capabilities and mechanisms (Access Control on wire-line and wireless networks), IPsec, Firewalls, Deep Packet Inspection and Transport security. The final portion of the course will address Network Application security (Email, Ad-hoc, XML/SAML and Services Oriented Architecture security. As part of our course review we will explore a number of Network Use Cases. Prereq: MET CS 535 or MET CS 625; Familiarity with OSI and TCP/IP protocol stack; Background-familiarity with binary numbers, prime numbers, binary- hexadecimal-decimal conversions, etc; Familiarity with computer programming concepts; or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
C1 IND HAR 210 W 6:00 pm – 9:00 pm
E1 IND HAR 210 W 6:00 pm – 9:00 pm

Provides a comprehensive understanding of digital forensics and investigation tools and techniques. Learn what computer forensics and investigation is as a profession and gain an understanding of the overall investigative process. Operating system architectures and disk structures are discussed. Studies how to set up an investigator's office and laboratory, as well as what computer forensic hardware and software tools are available. Other topics covered include importance of digital evidence controls and how to process crime and incident scenes, details of data acquisition, computer forensic analysis, e-mail investigations, image file recovery, investigative report writing, and expert witness requirements. Provides a range of laboratory and hands-on assignments either in solo or in teams. With rapid growth of computer systems and digital data this area has grown in importance.  [ 4 cr. ]

Section Type Instructor Location Days Times
E1 IND FLR 109 S 9:00 am – 12:00 pm
O1 IND ARR

Overview of mobile forensics investigation techniques and tools. Topics include mobile forensics procedures and principles, related legal issues, mobile platform internals, bypassing passcode, rooting or jailbreaking process, logical and physical acquisition, data recovery and analysis, and reporting. Provides in-depth coverage of both iOS and Android platforms. Laboratory and hands-on exercises using current tools are provided and required.  [ 4 cr. ]

The course provides an in-depth presentation of security issues in computer systems, networks, and applications. Formal security models are presented and illustrated on operating system security aspects, more specifically memory protection, access control and authentication, file system security, backup and recovery management, intrusion and virus protection mechanisms. Application level security focuses on language level security and various security policies; conventional and public keys encryption, authentication, message digest and digital signatures. Internet and intranet topics include security in IP, routers, proxy servers, and firewalls, application- level gateways, Web servers, file and mail servers. Discussion of remote access issues, such as dial-up servers, modems, VPN gateways and clients. Prereq: MET CS 625; or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
A1 IND YAW 322 M 6:00 pm – 9:00 pm
E1 IND YAW 322 M 6:00 pm – 9:00 pm
BHA IND T 6:00 pm – 9:00 pm

Data mining and investigation is a key goal behind any data warehouse effort. The course provides an introduction to concepts behind data mining, text mining, and web mining. Algorithms will be tested on data sets using the Weka Data mining software and Microsoft SQL Server 2005 (Business Intelligence Development Studio). Prereq: MS CS Prerequisites: MET CS 579; or instructor's consent. MS CIS Prerequisites: MET CS 669 and MET CS 546; or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
D1 IND FLR 109 R 6:00 pm – 9:00 pm
E1 IND FLR 109 R 6:00 pm – 9:00 pm
O1 IND 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, jQuery UI & Mobile, and AngularJS. 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. (MET CS 520 or MET CS 521) and MET CS 601. Or instructor's consent.  [ 4 cr. ]

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

This course provides a comprehensive understanding of network forensic analysis principles. Within the context of forensics security, network infrastructures, topologies, and protocols are introduced. Students understand the relationship between network forensic analysis and network security technologies. Students will learn to identify network security incidents and potential sources of digital evidence and demonstrate the ability to perform basic network data acquisition and analysis using computer based applications and utilities. Students will also identify potential applications for the integration of network forensic technologies and demonstrate the ability to accurately document network forensic processes and analysis. Prereq: MET CS 625 and MET CS 695; or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
E1 IND FLR 264 S 1:00 pm – 4:00 pm

This course provides an introduction to the advanced digital forensic topic relating to malicious software (malware), which represents an increasing information security threat to computer systems and networks. Students will review software engineering design fundamentals and reverse engineering techniques utilized to conduct static and dynamic forensic analysis on computer systems and networks. Students will learn about the importance of forensic principles, legal considerations, digital evidence controls, and documentation of forensic procedures. This course will incorporate demonstrations and laboratory exercises to reinforce practical applications of course instruction and will require an independent research paper related to the course topic. Prereq: MET CS 693 and MET CS 703; or instructor's consent.  [ 4 cr. ]

Cloud computing leverages the World Wide Web to fulfill computing needs. It packages applications, computing power, and storage as a metered service similar to a utility. This model is designed to supplant the traditional mechanism of desktop computing in many cases. This course will cover the origin, theory, enabling technology, and hands-on labs for key concepts in cloud computing. Students will: (1) Learn the unique set of problems and challenges in developing cloud computing applications; (2) Learn the platform, tools, technology and processes for developing cloud computing applications using Hadoop as the main example; and (3) Propose, develop, and run applications for the platforms covered. Prereq: MET CS 231 or MET CS 232; or instructor's consent.  [ 4 cr. ]

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. Prereq: MET CS 566; or instructor's consent. It is also recommended that students enroll in this class only after taking the core courses for MS in Computer Science.  [ 4 cr. ]

Section Type Instructor Location Days Times
D1 IND HAR 228 R 6:00 pm – 9:00 pm

Theory and practice of quality assurance and testing for each step of the software development cycle. Verification vs. validation. Test case design techniques, test coverage criteria, and tools for static and dynamic analysis. Standards. Test-driven development. QA for maintenance and legacy applications. Experimental approaches. Prereq: MET CS 673; or instructor's consent.  [ 4 cr. ]

This course covers advanced aspects of database management systems including advanced normalization and denormalization, query optimization, object-oriented and object-relational databases, data warehousing, data mining, distributed databases, XML, XSL, and databases for web applications. There is extensive coverage of SQL and database instance tuning. Students learn about the advanced object- relational features in DBMS such as Oracle, including navigational query, BLOBs, abstract data types, and methods. Prereq: MET CS 579 or MET CS 669; or instructor's consent.   [ 4 cr. ]

Section Type Instructor Location Days Times
C1 IND FLR 267 W 6:00 pm – 9:00 pm
E1 IND FLR 267 W 6:00 pm – 9:00 pm

This course presents the details of information processing in hospitals, hospital information systems (HIS), and more broadly health information systems. It presents the architecture, design, and user requirements of information systems in health care environment. It focuses on Information Technology aspects of Health Informatics specifically addressing the design, development, operation, and management of HIS. The first part of this course covers the introductory concepts including information processing needs, and information management in health care environment. The second part covers detailed description of HIS including hospital process modeling, architecture, quality assessment, and applicable tools. The final part of the course covers management of HIS and related issues and extension of this topic to other health care organizations. The course will have a term project providing students a hands-on experience in design and research of HIS. Prereq: MET CS 580; or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
C1 IND MCS B23 W 6:00 pm – 9:00 pm
E1 IND MCS B23 W 6:00 pm – 9:00 pm

This course builds upon the strong technical foundation of our MSCIS and MSCS curricula, by providing students with the CIO-level management perspective and skills of an enterprise architect, in the context of the technologies that implement those architectures. Our Ross, Weil, and Robertson text provides much of the management content of the course, and the online and classroom content provide both management and technical skills. Students learn that enterprise architectures are best developed incrementally, by system development projects that are aligned with strategic goals and the enterprise architecture. The online content therefore includes many real enterprise system development case studies, showing how these enterprise systems contributed to and helped define the overall enterprise architecture. The course also includes a number of realistic enterprise architecture assignments and an incremental term project with components spanning the course, to provide students with hands on enterprise architecture experience. The course provides students with the understanding and skills needed to define and implement successful enterprise architectures that provide real value to organizations, such as substantially reducing IT costs while improving performance, agility and alignment of information technology to business goals. Prereq: MET CS 682. Or strategic IT experience. Or instructor's consent. 4 credits.  [ 4 cr. ]

Section Type Instructor Location Days Times
B1 IND FLR 264 T 6:00 pm – 9:00 pm
E1 IND FLR 264 T 6:00 pm – 9:00 pm
O1 IND ARR

The course covers the main concepts and principles of cryptography with the main emphasis put on public key cryptography. It begins with the review of integers and a thorough coverage of the fundamentals of finite group theory followed by the RSA and ElGamal ciphers. Primitive roots in cyclic groups and the discrete log problem are discussed. Baby-step Giant-step and the Index Calculus probabilistic algorithms to compute discrete logs in cyclic groups are presented. Naor -- Reingold and Blum -- Blum -- Shub Random Number Generators as well as Fermat, Euler and Miller-Rabin primality tests are thoroughly covered. Pollard's Rho, Pollard's and Quadratic Sieve factorization algorithms are presented. The course ends with the coverage of some oblivious transfer protocols and zero-knowledge proofs. There are numerous programming assignments in the course. Prereq: MET CS 248 and MET CS 566; or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
B1 IND CGS 515 T 6:00 pm – 9:00 pm

This course builds on the material covered in CS 789 Cryptography. It begins with the coverage of commutative rings, finite fields, rings of polynomials, and finding of the greatest common divisor in the ring of polynomials. Irreducible polynomials are discussed. Field extensions and fields Fᴩ [x]/P are thoroughly covered. The main emphasis is put on elliptic curves over Fᴩ and F₂ and the ElGamal cipher on elliptic curves is presented. Block ciphers DES and double and triple DES are introduced. AES and WHIRLPOOL block ciphers and modes of operation are covered. The course continues with the introduction of message integrity and message authentication. In the last part of the course cryptographic hash functions SHA-512 and WHIRLPOOL as well as various digital signatures are introduced. Finally, entity authentication and key management issues are discussed. Prereq: MET CS 789; or instructor's consent.  [ 4 cr. ]

Electives other than those listed must be approved by an advisor and often include:

Builds on previous design and programming courses and introduces students to the technological, social, and pragmatic aspects of developing open source software through direct involvement in an open source project. Students learn to use the tools, techniques, and strategies of open source developers. They become familiar with the open source movement, its philosophy, history and licensing issues. This is a project-based laboratory course. Students are directly involved with and integrated into an open source project. They are expected to be active participants in the project and contribute to the project in various ways.  [ 4 cr. ]

Contemporary software engineering takes several distinct and rapidly changing forms. First, Agile methods are based on the need for flexibility while applications are being built. Agile methods constitute a radical departure from pre-existing methods: They rely on newly developed technologies such as test-driven development, XUnit, and refactoring. A second form is the emergence of open-source development. This course teaches the architectural and operational implications of open source development and explores its relationship with agile methods. The course will also discuss aspect-oriented programming, the decomposition of applications into onshore and offshore components, design for security, and formal methods. Laboratory course.  [ 4 cr. ]

Master’s Thesis Option in Computer Science

(8 credits)

Students majoring in Computer Science may elect a thesis option, to be completed within 12 months. This option is available to Master of Science in Computer Science candidates who have completed at least seven courses toward their degree and have a GPA of 3.7 or higher. Students are responsible for finding a thesis advisor and a principal reader within the department. The advisor must be a full-time faculty member; the principal reader may be part-time faculty with a PhD (unless waived by department).

This thesis must be completed within 12 months. Students majoring in Computer Science may elect a thesis option. This option is available to Master of Science in Computer Science candidates who have completed at least seven courses toward their degree and have a GPA of 3.7 or higher. Students are responsible for finding a thesis advisor and a principal reader within the department. The advisor must be a full-time faculty member; the principal reader may be part-time faculty member with a doctorate. Permission must be obtained by the department. 4cr.  [ 4 cr. ]

This thesis must be completed within 12 months. Students majoring in Computer Science may elect a thesis option. This option is available to Master of Science in Computer Science candidates who have completed at least seven courses toward their degree and have a GPA of 3.7 or higher. Students are responsible for finding a thesis advisor and a principal reader within the department. The advisor must be a full-time faculty member; the principal reader may be part-time faculty member with a doctorate. Permission must be obtained by the department. 4cr.  [ 4 cr. ]

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