Computer Science

  • 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 695: Cybersecurity
    This course introduces fundamental concepts, principles of cybersecurity and their use in the development of security mechanisms and policies. Topics include basic risk assessment and management; basic legal and ethics issues, various cyber attacks, defense methods and tools; security principles, models and components; different crypto protocols, techniques and tools, including symmetric and asymmetric encryption algorithms, hashing, public key infrastructure, and how they can be used; security threats and defense to hardware, operating systems, networks and applications in modern computing environments. Hands-on labs using current tools are provided and required. Prerequisite: METCS535 or METCS625 or instructor's consent.
  • MET CS 697: Special Topics in Computer Science
    The course MET CS 697 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.

    Fall 2020: Topic: IoT Security
    This course overviews the security issues in IoT. We will learn the IoT architecture, the interaction among the three major components of IoT, mobile, IoT device and cloud, and general threats in IoT. For each component, we will study the platform architecture, existing threats and countermeasures. Regarding mobile, we will discuss its platform architecture, followed by the security model and the common threats. Regarding IoT devices, we will focus on protocol (OAuth and MQTT) analysis and firmware analysis. Regarding cloud, we will first overview its cornerstone, virtualization and its security issues, and then discuss existing challenges in building trusted cloud platform. Finally, case studies of connect vehicle and smart home will be discussed. The course aims to provide foundations for students to understand the threats, vulnerabilities and defense mechanisms in IoT. Hands on lab exercises are included. Prereq: MET CS 695. Or, instructor's consent. The students are expected to have background on operating system internals and security fundamentals. This course is not a programming-intensive course. However, hands-on labs will be assigned. Students can also choose programming-intensive project.
  • MET CS 699: Data Mining
    This course aims to study basic concepts and techniques of data mining. The topics include data preparation, classification, performance evaluation, association rule mining, ?regressions and clustering. We will discuss basic data mining algorithms in the class, and students will practice data mining techniques using Python or R. Prereq: CS 521, and CS 546 and either CS 579 or CS 669. Or instructor's consent.
  • 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.
  • MET CS 767: Advanced Machine Learning and Neural Networks
    Formerly titled CS767 Machine Learning
    Theories and methods for learning from data. The course covers a variety of approaches, including Supervised and Unsupervised Learning, Neural Nets and Deep Learning, Adversarial Learning, Bayesian Learning, and Genetic Algorithms. 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.
  • MET CS 775: Advanced Networking
    This seminar course provides a strong foundation in networking and Internet architecture, data transfer protocols, including TCP, SCTP, QUIC, and IPv6, and a deep look at network resource allocation with an emphasis on protocol- independent hardware for Deep Packet Inspection (DPI) and congestion management. The course goes into greater depth of current topics such as: naming and addressing, synchronization, congestion management and resource allocation (routing) and how they manifest in different environments. There will be assigned readings from the professor that require considerable class participation, both in presenting material and discussing it.

    Prereq: MET CS 535 OR MET CS 625,or instructor's consent required.
  • MET CS 777: Big Data Analytics
    This course is an introduction to large-scale data analytics. Big Data analytics is the study of how to extract actionable, non-trivial knowledge from massive amount of data sets. This class will focus both on the cluster computing software tools and programming techniques used by data scientists, as well as the important mathematical and statistical models that are used in learning from large-scale data processing. On the tools side, we will cover the basics systems and techniques to store large-volumes of data, as well as modern systems for cluster computing based on Map-Reduce pattern such as Hadoop MapReduce, Apache Spark and Flink. Students will implement data mining algorithms and execute them on real cloud systems like Amazon AWS, Google Cloud or Microsoft Azure by using educational accounts. On the data mining models side, this course will cover the main standard supervised and unsupervised models and will introduce improvement techniques on the model side.
    Prerequisite: MET CS 521, MET CS 544 and MET CS 555. Or, MET CS 677. Or, Instructor's consent.
  • 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.
  • 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.
  • MET CS 782: IT Strategy and Management
    This course describes and compares contemporary and emerging information technology and its management. Students learn how to identify information technologies of strategic value to their organizations and how to manage their implementation. The course highlights the application of I.T. to business needs. CS 782 is at the advanced Masters (700) level, and it assumes that students understand IT systems at the level of CS 682 Systems Analysis and Design. Students who haven't completed CS 682 should contact their instructor to determine if they are adequately prepared. Prereq: MET CS 682, or instructor's consent.
  • 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.
  • 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.
  • MET CS 793: Special Topics in Computer Science
    Fall 2023 Topic: Generative AI

    This course focuses on recent advances in generative AI. It starts by reviewing statistics and regression models related to generative models, then common deep learning methods described. Later, models for designing new content, such as images, music, or text, will be explored, including GAN, VAE, Autoregressive and Diffusion Models. MLP, CNN, RNN, and Transformer models covered in CS 767 are reviewed. Students should be fluent in Python programming and CS 555 and CS 677
  • MET CS 795: Directed Study
    Prereq: Consent of advisor. Requires prior approval of student-initiated proposal. Independent study on special projects under faculty guidance.
  • 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.
  • MET CS 810: Master's Thesis in Computer Science
    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.