Computer Science
View courses in
- Computer Science
- All Departments
- Actuarial Science
- Administrative Sciences
- Advertising
- Anthropology
- Arts Administration
- Astronomy
- Biochemistry
- Biology
- Chemistry
- City Planning
- Computer Science
- Criminal Justice
- Gastronomy
- Health Communication
- History
- Humanities
- Interdisciplinary Studies
- Linguistics
- Management
- Mathematics, Statistics
- Physics
- Political Science
- Psychology
- Urban Affairs
-
MET CS 662: Computer Language Theory
Prerequisites: MET CS 566 or consent of instructor. Theory of finite automata, 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. -
MET CS 664: Artificial Intelligence
Prerequisites: MET CS 248 and MET CS 342. - Study of the ideas and techniques that enable computers to behave intelligently. Search, constraint propagations, and reasoning. Knowledge representation, natural language, learning, question answering, inference, visual perception, and/or problem solving. Laboratory course. -
MET CS 665: Software Design and Patterns
Prerequisites: METCS342 and METCS565 or consent of instructor - Software design principles, the object-oriented paradigm, unified modeling language; creational, structural, and behavioral design patterns; OO analysis and design; software architectures and frameworks; code refactoring. Laboratory course. -
MET CS 669: Database Design and Implementation for Business
Learn the latest relational and object-relational tools and techniques for persistent data and object modeling and management. You will gain extensive hands-on experience using Oracle or Microsoft SQL Server as you learn the Structured Query Language (SQL) and design and implement databases. You will design and implement a database system as a term project. Restrictions: This course may not be taken in conjunction with MET CS 469 (undergraduate) or MET CS 579. Only one of these courses can be counted towards degree requirements. -
MET CS 673: Software Engineering
Prerequisites: At least two programming-intensive courses. Or consent of instructor. Familiarity with OO design concepts and proficiency in at least one high-level programming language is required. Familiarity with web or mobile application development preferred. A comprehensive overview of the entire software development lifecycle, emphasizing modern software architectures, methodologies, practices, and tools. Key topics include agile principles and methodologies such as Scrum and XP, DevOps concepts and practices, CI/CD pipeline, modern software architectures including microservices, REST, and MVC, design patterns, refactoring, software testing, secure software development, and software project management. This course features a semester-long group project where students will design, develop, build, and deploy a real-world software system, applying Agile methodology, DevOps pipeline, and various software tools. This course is better taken as a capstone course towards the end of your program study. 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. -
MET CS 674: Database Security
The course provides a strong foundation in database security and auditing by utilizing Oracle scenarios and step-by-step examples. The following topics are covered: security, profiles, password policies, privileges, roles, Virtual Private Databases, and auditing. The course also covers advanced topics such as SQL injection, database management, and security issues, such as securing the DBMS, enforcing access controls, and related issues. -
MET CS 682: Information Systems Analysis and Design
Prerequisites: Basic programming knowledge or consent of instructor. - Object-oriented methods of information systems analysis and design for organizations with data- processing needs. System feasibility; requirements analysis; database utilization; Unified Modeling Language; software system architecture, design, and implementation, management; project control; and systems-level testing. -
MET CS 683: Mobile Application Development with Android
Prerequisites: MET CS 342 OR MET CS 520 OR MET CS 521. Or consent of instructor. - Learn the principles, techniques, and issues associated with modern 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), declarative UI design, data storage, asynchronous processing, Android sensing, 2D graphics, and Android security. You will use Kotlin as the main language for Android development and the latest Jetpack APIs. You will also develop your own app in Kotlin using Android Studio as your semester-long project. -
MET CS 684: Enterprise Cybersecurity Management
This course covers important topics that students need to understand in order to effectively manage a successful cybersecurity and privacy program, including governance, risk management, asset classification and incidence response. Students are first introduced to cybersecurity & privacy policy frameworks, governance, standards, and strategy. Risk tolerance is critical when building a cybersecurity and privacy program that supports business goals and strategies. Risk management fundamentals and assessment processes will be reviewed in depth including the methodology for identifying, quantifying, mitigating and controlling risks. Asset classification and the importance of protecting Intellectual Property (IP) will prepare students to understand and identify protection mechanisms needed to defend against malicious actors, including industry competitors and nation states. Incident Response programs will cover preparation and responses necessary to triage incidents and respond quickly to limit damage from malicious actors. -
MET CS 685: Network Design and Management
Prerequisites: METCS535 or METCS625 or consent of instructor. Explore network design and management principles as you work through specific design areas within a Content Delivery Network (CDN). You will start with an in-depth understanding of customer needs and requirements gathering as it relates to today’s implementation of Voice, Video, and Data services delivered via a CDN. This design will encompass transmission and modulation techniques such as payload structure for Optical and multi-GigaBit Ethernet circuits. The FCAPS Network Management model will also be implemented in a real world architecture. -
MET CS 688: Web Mining and Graph Analytics
Prerequisites: MET CS 544, or MET CS 555 or equivalent knowledge, or instructor's consent. - The Web Mining and Graph Analytics course covers the areas of web mining, machine learning fundamentals, text mining, clustering, and graph analytics. This includes learning fundamentals of machine learning algorithms, how to evaluate algorithm performance, feature engineering, content extraction, sentiment analysis, distance metrics, fundamentals of clustering algorithms, how to evaluate clustering performance, and fundamentals of graph analysis algorithms, link analysis and community detection based on graphs. Laboratory Course. -
MET CS 689: Designing and Implementing a Data Warehouse
Prerequisites: CS 579 or CS 669 or consent of the instructor - 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. -
MET CS 690: Network and Cloud Security
Prerequisites: (MET CS 535 or MET CS 625) and (MET CS 595 or MET CY 100) or consent of instructor. This course is designed to provide students with a comprehensive understanding of the fundamental concepts, principles, technologies, and best practices to secure both computer networks and clouds. Topics include an overview of network threats, SSL/TLS, Kerberos, PKI, IPsec, DNSsec, SSH, Firewall, IDS, VPD, electronic mail security, wireless network security, Blockchain, TOR, Cloud architecture, an overview of cloud threats, architecture protection, and data protection in Cloud, IAM, security best practices, etc. Upon the completion of the course, students are expected to know the threats and vulnerabilities that networks and cloud systems face, along with the strategies and tools used to mitigate those risks. Hands-on labs based on existing tools are provided and required. -
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. -
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. -
MET CS 696: Biometrics
MET LB 100 and MET LB 104 lab, or equivalent knowledge, or consent of instructor. 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. -
MET CS 697: Special Topics in Computer Science
This course, Special Topics in Computer Science, changes from semester to semester. More than one CS697 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. -
MET CS 698: Cryptography
Prerequisites: (MET CS 248 or MET LB 101 ) and MET CS 566. Or consent of instructor - Students explore the main concepts and principles of cryptography, with the main emphasis on public key cryptography. The course 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. -
MET CS 699: Data Mining
Prerequisites: MET CS 521, MET LB 103 and MET LB 104; and either MET CS 579 or MET CS 669; or consent of instructor. - Study basic concepts and techniques of data mining. Topics include data preparation, classification, performance evaluation, association rule mining, regression and clustering. You will learn underlying theories of data mining algorithms in the class and practice those algorithms through assignments and a semester-long class project using R. After finishing this course, you will be able to independently perform data mining tasks to solve real-world problems. -
MET CS 763: Secure Software Development
Prerequisites: At least two programming-intensive or software development courses or consent of instructor. You should be proficient in at least one high-level programming language. Completion of MET CS 673 is preferred. - An overview of techniques and tools to develop secure software. You will focus on the application of security with topics including secure software development processes, DevSecOps, threat modeling, secure requirements and architectures, vulnerability and malware analysis using static code analysis and dynamic analysis tools, and vulnerabilities in C/C ++ and Java programs, Crypto and secure APIs, vulnerabilities in web applications and mobile applications, and security testing will also be covered. You will complete the required hands-on lab and programming exercises using current tools.

