Ready to Excel in High-Growth Technology Roles?
The Master of Science in Computer Science (MSCS) at Boston University’s Metropolitan College (MET) is designed to help you compete for positions in high-growth technology areas. The MSCS provides the skills necessary for challenging jobs as software developers, information security analysts, network administrators, database developers, data analysts, IT project managers, and health informatics professionals.
The MSCS degree program offers optional concentrations in:
Program at a Glance
- On Campus
- Part-Time or Full-Time Study
- 40 Credits
- 18–24 Months to Completion
- 17 Core Faculty
- No GRE/GMAT
Develop In-Demand Computer Science Skills for Your Career
Amid growing demand for—and reliance upon—big data, cloud computing, machine learning information security, and networking, jobs in the computer science and information technology sector continue to grow at a faster rate than other occupations, with overall projected growth of 12 percent through 2028 and a median annual wage of more than $88K in 2019 (U.S. Bureau of Labor Statistics Occupation Outlook Handbook). Because of the specialized nature of the work, competition for talent is fierce.
To help you to master emerging software technologies, applications, and approaches, BU MET’s master’s in Computer Science curriculum develops advanced understanding and command of software design, and ensures that you become proficient in programming, algorithms, operating systems, databases, software development, and the management of data, networks, or security.
A National Center of Academic Excellence
Boston University has been designated a Center of Academic Excellence (CAE) in Cyber Defense and Research by the National Security Agency and Department of Homeland Security. Our information security programs are certified by the Committee on National Security Systems (CNSS).Learn More
Stay connected! Learn more about our program.Learn More
“One of the main reasons I have enjoyed and have been so impressed with the MET CS program so far is the practicality of the classes. The professors have a good mix of both academic and industry experience, making it a very well-rounded program.”—Tara Adams (MET’19), Product Manager, Paytronix Systems, Inc.
Explore Careers in Computer Science
Use the Career Insights tool to explore jobs that are the right fit for you. Filter by career area and job title or by industry sector to explore employment demand and average salaries. Select “Learn More” for a downloadable career report, or “Explore Other Options” to find the BU MET degree or certificate program that will prepare you for the job you want.
Why Choose BU MET’s Computer Science Master’s Program
- Recognized & Certified: Boston University is recognized by the National Security Agency and the Department of Homeland Security as a Center of Academic Excellence (CAE) in Cyber Defense and Research. BU MET’s information security programs are certified by the Committee on National Security Systems (CNSS).
- Active Learning Environment: BU MET’s computer science courses ensure you get the attention you need, while introducing case studies and real-world projects that emphasize technical and theoretical knowledge—combining in-depth, practical experience with the critical skills needed to remain on the forefront of the information technology field. In addition, BU’s Center for Reliable Information Systems and Cyber Security (RISCS) offers opportunities to collaborate and participate in research on system reliability and information security.
- Engaged Faculty: In BU MET’s Computer Science master’s program, you benefit from working closely with highly qualified faculty and industry leaders in a wide range of technology fields who are committed to teaching the latest technologies within the framework of ideas, concepts, and methods that drive innovation.
- Extensive Network: Study computer science alongside peers with solid IT and business experience, learn from faculty who have valuable contacts across several sectors, and benefit from an alumni community with strong professional connections.
- Student Support: Enjoy an exceptional student-to-instructor ratio, ensuring close interaction with faculty mentors and access to support.
- Valuable Resources: Make use of Boston University’s extensive resources, including the Center for Career Development, Educational Resource Center, Fitness & Recreation Center, IT Help Centers, Mugar Memorial Library, Center for Antiracist Research, Howard Thurman Center for Common Ground, George Sherman Union, Rafik B. Hariri Institute for Computing and Computational Science & Engineering, and many others.
- Flexible Options: Study at the pace that works for you, evenings on campus with courses that begin fall, spring, and summer.
- Track Record: Learn from the best—BU MET’s Department of Computer Science was established in 1979 and is the longest-running computer science department at BU. Over its four decades, the department has played an important role in the emergence of IT at the University and throughout the region.
- Merit Scholarships: All applicants are automatically considered, and admitted students are nominated based on eligibility.
Master the Tools to Excel in Computer Science
Offered through BU MET’s Department of Computer Science, the Master of Science in Computer Science (MSCS) is intended for computer professionals and for people who wish to move into the computer field from other areas of study. Our faculty consists of academic leaders who are engaged in innovative research and skilled industry experts with firsthand experience in data analytics, machine learning, AI, computer networks, cybersecurity, IT project management, and software development.
Computer Science Concentration Options
BU MET’s MS in Computer Science degree program offers concentrations in:
Graduate with Expertise
Metropolitan College’s Computer Science master’s degree will equip you with:
- Advanced knowledge of computer language theory and software design, as well as databases, networks, and 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.
BU MET graduate certificate programs can serve as building blocks to a master’s degree. To be eligible for the degree, you must apply for admission and be accepted into the degree program. Connect with a graduate admissions advisor at email@example.com to learn more about this option.
The following graduate certificate programs have courses that may be applied to the master’s degree:
- Advanced Information Technology
- Computer Networks
- Data Analytics
- Database Management & Business Intelligence
- Digital Forensics
- Health Informatics
- Information Security
- IT Project Management
- Medical Information Security & Privacy
- Software Engineering
- Web Application Development
Master’s in Computer Science Curriculum
A total of 40 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.
(Five courses/20 credits)
MET CS 566 Analysis of Algorithms
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. Prereq: MET CS248 and either MET CS341 or MET CS342. Or METCS 521 and METCS 526. Or instructor's consent. [ 4 cr. ]
|A1||IND||Orsini||CGS 505||T||6:00 pm – 8:45 pm|
|A2||IND||Belyaev||COM 215||R||6:00 pm – 8:45 pm|
MET CS 575 Operating Systems
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. Prereq: MET CS472, and MET CS231 or MET CS232, or instructor's consent. [ 4 cr. ]
|A1||IND||Nourai||CAS 316||W||6:00 pm – 8:45 pm|
MET CS 662 Computer Language Theory
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 or instructor's consent. [ 4 cr. ]
|A1||IND||Naidjate||CAS 114B||T||6:00 pm – 8:45 pm|
|A2||IND||Naidjate||NIP 320||W||6:00 pm – 8:45 pm|
MET CS 673 Software Engineering
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: At least two 500 level or above programming intensive courses. Or instructor's consent. Students should be familiar with object oriented design concepts and proficient in at least one high level programming language before taking this class. 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 cr. ]
|A1||IND||Zhang||CAS B06B||W||6:00 pm – 8:45 pm|
And one of the following*:
MET CS 535 Computer Networks
This course provides a robust understanding of networking. It teaches the fundamentals of networking systems, their architecture, function and operation and how those fundamentals are reflected in current network technologies. Students will learn the principles that underlie all networks and the application of those principles (or not) to current network protocols and systems. The course explains how layers of different scope are combined to create a network. There will be a basic introduction to Physical Media, the functions that make up protocols, such as error detection, delimiting, lost and duplicate detection; and the synchronization required for the feedback mechanisms: flow and retransmission control, etc. Students will be introduced to how these functions are used in current protocols, such as Ethernet, WiFi, VLANs, TCP/IP, wireless communication, routing, congestion management, QoS, network management, security, and the common network applications as well as some past applications with unique design solutions. 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. ]
|A1||IND||Day||NIP 320||T||6:00 pm – 8:45 pm|
MET CS 579 Database Management
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. Restrictions: This course may not be taken in conjunction with MET CS 469 (undergraduate) or MET CS 669. Refer to your Department for further details. [ 4 cr. ]
|A1||IND||Russo||CAS B27||M||6:00 pm – 8:45 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.
(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.
MET CS 532 Computer Graphics
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. ]
MET CS 544 Foundations of Analytics with R
The goal of this course is to provide students with the mathematical and practical background required in the field of data analytics. Probability and statistics concepts will be reviewed as well as the R tool 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 CS546 and (MET CS520 or MET CS521), or equivalent knowledge, or instructor's consent. [ 4 cr. ]
|A1||IND||Zhang||PHO 906||M||8:00 am – 10:45 am|
|A2||IND||Kalathur||LAW AUD||M||6:00 pm – 8:45 pm|
MET CS 555 Data Analysis and Visualization with R
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. ]
|A1||IND||Alizadehshab||MET 101||M||6:00 pm – 8:45 pm|
|A2||IND||Alizadehshab||COM 107||T||6:00 pm – 8:45 pm|
MET CS 561 Financial Informatics
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. ]
|A1||IND||Mehta||NIP 320||W||6:00 pm – 8:45 pm|
MET CS 570 Biomedical Sciences and Health IT
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. ]
|A1||IND||Duke-Cohan||CAS 208||T||6:00 pm – 8:45 pm|
MET CS 580 Health Informatics
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. ]
|A1||IND||Zhang||CAS 318||W||6:00 pm – 8:45 pm|
MET CS 581 Electronic Health Records
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. ]
MET CS 599 Biometrics
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. ]
MET CS 601 Web Application Development
|A1||IND||Sheehan||HAR 324||T||6:00 pm – 8:45 pm|
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. ]
MET CS 622 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 cr. ]
|A1||IND||Rawassizadeh||CAS 323A||W||6:00 pm – 8:45 pm|
MET CS 632 Information Technology Project Management
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. Effective Fall 2020, this course fulfills a single unit in the following BU Hub area: Teamwork/Collaboration. [ 4 cr. ]
|A1||IND||Campbell||NIP 320||W||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. ]
MET CS 635 Network Media Technologies
The purpose of this course is to provide students with a deeper understanding of Media-specific Technologies not only so that they will be able to use the ones covered in this course, but more importantly be able to analyze and evaluate new technologies. This course applies the principles from CS 535 to understand the engineering that lead to them as well as the special problems that confront network technologies that operate directly over the physical media. These Media specific layers have three problems to solve: the usual one of multiple users of a common resource, accommodating the particular characteristics of the media, and providing (to the degree possible) a media- independent service to the layers above. While CS 535 provides a high-level view of some of these technologies, in this course, they are considered in much greater detail as to how these technologies address their requirements and take advantage of the assumptions made. The emphasis is on those technologies that are either representative of a type or take a unique perspective on the problem. Hence, the traditional data link protocols, such as HDLC, modern Ethernet (primarily VLANs), WiFi (802.11) represent the first type, while media technologies, such as DOCSIS, RFIDs, IoT, and cellular mobile networks are representative of the second. The course will consider how these technologies solve mobility, routing, congestion, QoS (multi-media), security, etc. A major project is part of this course. Prereq: MET CS 231 or MET CS 232 and either MET CS 625 or MET CS 535; or instructor's consent. [ 4 cr. ]
MET CS 664 Artificial Intelligence
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. ]
|A1||IND||Belyaev||CAS 213||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. ]
|A1||IND||Orsini||CAS 313||R||6:00 pm – 8:45 pm|
MET CS 674 Database Security
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. ]
|A1||IND||Zhang||FLR 152||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. ]
|A1||IND||Pinsky||HAR 212||R||8:00 am – 10:45 am|
|A2||IND||Pinsky||HAR 222||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. ]
MET CS 684 IT Security Policies and Procedures
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. ]
|A1||IND||Burgoyne||CAS 216||R||6:00 pm – 8:45 pm|
MET CS 685 Network Design and Management
. 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. ]
MET CS 688 Web Analytics and Mining
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. 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 will be extensively investigated. Laboratory Course. Prerequisites: MET CS 544, or MET CS 555 or equivalent knowledge, or instructor's consent. [ 4 cr. ]
|A1||IND||Rawassizadeh||CAS 114A||T||12:30 pm – 3:15 pm|
|A2||IND||Rawassizadeh||SHA 210||R||6:00 pm – 8:45 pm|
MET CS 689 Designing and Implementing a Data Warehouse
This course surveys state-of-the art technologies in DW and Big Data. It describes logical, physical and semantic 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. ]
MET CS 690 Network Security
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. ]
|A1||IND||Matthews||CAS 228||T||6:00 pm – 8:45 pm|
MET CS 693 Digital Forensics and Investigations
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. Prereq: Working knowledge of windows computers, including installing and removing software. Access to a PC meeting the minimum system requirements defined in the course syllabus. [ 4 cr. ]
MET CS 694 Mobile Forensics and Security
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. ]
|A1||IND||Zhang||BRB 113||R||6:00 pm – 8:45 pm|
MET CS 695 Enterprise Cyber Security
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 535 or MET CS 625. Or instructor's consent. [ 4 cr. ]
|A1||IND||Zhang||CGS 111B||M||6:00 pm – 8:45 pm|
MET CS 699 Data Mining
The goal of this course is to study basic concepts and techniques of data mining. The topics include data preparation, classification, performance evaluation, association rule mining, and clustering. We will discuss basic data mining algorithms in the class and students will practice data mining techniques using data mining software. Students will use Weka and SQL Server or Oracle. Prereq: CS 546 and either CS 579 or CS 669. Or instructor's consent. [ 4 cr. ]
|A1||IND||Lee||CGS 523||M||6:00 pm – 8:45 pm|
|A2||IND||Lee||CAS B27||W||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. ]
|A1||IND||Djordjevic||CGS 525||M||6:00 pm – 8:45 pm|
MET CS 703 Network Forensics
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. ]
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||CGS 111B||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. ]
|A1||IND||Alizadehshab||MET 122||W||6:00 pm – 8:45 pm|
MET CS 775 Advanced Networking
The purpose of this course is to provide a solid foundation for the networking practitioner. While CS 535 introduces the basic networking concepts, this course provides the deep understanding that the practitioner who may be developing or evaluating network products needs to know. Consequently, this course does a much 'deeper dive' into the topics that tend to be the most counter-intuitive such as naming and addressing, synchronization, congestion management and routing. Naming and addressing is the least understood topic in networking and the most important. This topic is not covered in any current textbooks. The student will explore why the necessary and sufficient condition for synchronization for reliable data transfer is to bound 3 timers and independent of message exchanges. This is not at all obvious and has deep implications for protocols. To engineer networks, it is important to understand the degree to which the behavior of error and flow control protocols can be modified and to what purposes. Congestion management is the second least understood topic in networking. The course emphasizes congestion avoidance as opposed to congestion control and explores the impact in different environments. Routing is the third least understood topic in networking. This course is most concerned with its role in resource allocation but also that "routing protocols" are really distributed database protocols. In addition, the course will consider the interactions among these topics and the necessity of keeping the system effects in perspective. Prereq: MET CS 535; or instructor's consent. [ 4 cr. ]
MET CS 779 Advanced Database Management
This course covers advanced aspects of database management including normalization and denormalization, query optimization, distributed databases, data warehousing, and big data. There is extensive coverage and hands on work with SQL, and database instance tuning. Course covers various modern database architectures including relational, key value, object relational and document store models as well as various approaches to scale out, integrate and implement database systems through replication and cloud based instances. Students learn about unstructured "big data" architectures and databases, and gain hands-on experience with Spark and MongoDB. Students complete a term project exploring an advanced database technology of their choice. Prereq: MET CS 579 or MET CS 669; or instructor's consent. [ 4 cr. ]
|A1||IND||Polnar||PSY B37||R||6:00 pm – 8:45 pm|
MET CS 781 Advanced Health Informatics
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. ]
MET CS 783 Enterprise Architecture
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. Current technologies and processes explored in the enterprise architecture context include blockchain, microservices, multimodal/analytic databases, DevOps, SAFe (Scaled Agile Framework), containers/Docker, and some leverage of AI techniques. We cover both the migration of legacy enterprise systems and de novo enterprise architecture development, vendor selection and management, cybersecurity in the enterprise, and complex system integration. Enterprise architecture decisions are presented in the context of the business goals and alignment that are critical for success, given globalization and the reality that "all companies are now technology companies." The course content is rich with case studies that illustrate practical application of enterprise architecture approaches and lessons learned. 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. Students develop the understanding and skills needed to define and implement successful enterprise architectures that provide real strategic and concrete value to organizations, such as substantially reducing IT costs while improving performance, agility and alignment of information technology to business goals. On-campus classrooms follow a "flipped classroom" format, where significant class time is devoted to in-class group workshops. Prereq: MET CS 682. Or strategic IT experience. Or instructor's consent. [ 4 cr. ]
|A1||IND||Yates||FLR 152||T||6:00 pm – 8:45 pm|
MET CS 789 Cryptography
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, or instructor's consent. [ 4 cr. ]
MET CS 793 Special Topics in Computer Science
The course MET CS 793 Special Topics in Computer Science changes from semester to semester. More than one CS793 can be offered in a given semester. Course descriptions for all sections are listed below. For more information, please contact MET Department of Computer Science. [ 4 cr. ]
MET CS 799 Advanced Cryptography
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. ]
The thesis option is 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).
Computer Science Faculty
View all Faculty
Associate Dean for Academic Affairs Associate Professor, Computer Science Director, Health Informatics and Health Sciences
Master Lecturer, Computer Science
Assistant Professor, Computer Science Director, Analytics
Associate Professor, Computer Science and Administrative Sciences Director, Project Management
Jae Young Lee
Assistant Professor, Computer Science Coordinator, Databases
Associate Professor of the Practice, Computer Science Coordinator, Software Development
Assistant Professor, Computer Science
Associate Professor Emeritus, Computer Science
Associate Professor Emeritus, Computer Science
Assistant Professor, Computer Science Coordinator, Programming Languages
Associate Professor, Computer Science Coordinator, Health Informatics
Assistant Professor, Computer Science
Assistant Professor, Computer Science Coordinator, Information Security
Dean, Metropolitan College & Extended Education Professor of the Practice, Computer Science and Education Director, Information Security