Computer Science

  • 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 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 701: Rich Internet Application Development
    Undergraduate Prerequisites: MET CS 520 or MET CS 601 and programming experience, or instructor's c onsent - 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 763: Secure Software Development
    Prerequisites: MET CS 248 or consent of instructor - Overview of techniques and tools to develop secure software. Focus on the application of 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.
  • MET CS 766: Deep Reinforcement Learning
    Prerequisites: MET CS 577 or consent of instructor. - This course focuses on reinforcement learning, covering fundamental concepts and advanced techniques. It begins with an introduction to reinforcement learning and key concepts, such as exploitation versus exploration and Markov Decision Processes. As the course progresses, it delves into state transition diagrams, the Bellman equation, and solutions to the Multi-Armed Bandits problem. Students will explore challenges and methods related to control and prediction. Then, they learn tabular methods, including Monte Carlo, Dynamic Programming, Temporal Difference Learning, SARSA, and Q-Learning. Afterwards, the course also extends into reviewing neural network concepts, covering convolutional and recurrent neural networks, and moves on to approximation methods for both discrete and continuous spaces, including DQN and its variants. Policy gradient methods, actor-critic methods. Finally, ethical considerations in AI and safety issues are also discussed.
  • MET CS 767: Advanced Machine Learning and Neural Networks
    Prerequisites: MET CS 521 and at least one of MET CS 577, MET CS 622, MET CS 673 or MET CS 682; or consent of instructor. Theories and methods for learning from data. The course covers a variety of approaches, including Supervised and Unsupervised Learning, Regression, k-means, KNN's, Neural Nets and Deep Learning, Transformers, Recurrent Neural Nets, Adversarial Learning, Bayesian Learning, and Genetic Algorithms. The underpinnings are covered: perceptron's, backpropagation, attention, and transformers. Each student creates a term project.
  • MET CS 775: Advanced Networking
    Prerequisites: MET CS 535 or consent of instructor - 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.
  • MET CS 777: Big Data Analytics
    Prerequisite: (MET CS 521 & MET CS 544 & MET CS 555) or MET CS 577 or consent of instructor. An introduction to large-scale data analytics, focusing on both the foundational concepts and practical tools used in the field. Big Data analytics involves extracting meaningful, non-trivial insights from vast and complex datasets. You will explore key software tools and programming techniques commonly used by data scientists working with distributed systems. You will also learn core technologies for storing and processing large volumes of data, with a particular emphasis on cluster computing frameworks that follow the MapReduce paradigm, including Hadoop MapReduce and Apache Spark. Through hands-on assignments and projects, you will gain practical experience by implementing data processing algorithms and running them on real-world cloud platforms such as Amazon Web Services (AWS) and Google Cloud, utilizing educational credits and accounts provided for the course.
  • MET CS 779: Advanced Database Management
    Graduate Prerequisites: (METCS579 OR METCS669) or consent of the instructor - 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
    Prerequisites: MET CS 580 or consent of instructor. This course studies health care data and information, health care information systems (HCIS), and explores the challenges of managing information technology (IT). You will learn the architecture, design, and user requirements of information systems in health care, with a focus on IT aspects of Health Informatics, specifically the design, development, operation, and management of HCIS. The first part of the course introduces foundational concepts, including information processing needs and information management in health care environments. Next, you will engage in a detailed examination of HCIS, including hospital process modeling, architecture, quality assessment, and applicable tools. The course concludes by addressing the management of HCIS and related issues, and the extension of these topics to other healthcare organizations. Throughout the course, you will gain hands-on experience by participating in a term project focused on HCIS research and development.
  • MET CS 782: IT Strategy and Management
    Prerequisites: MET CS 682 or instructor's consent. Restrictions: Only for MS CIS students. - Explore and analyze contemporary and emerging information technology and its management. You will learn to identify information technologies that offer strategic value to organizations and acquire skills to manage their successful implementation. The course highlights the application of IT solutions to address business needs. This advanced Master's (700) level course assumes students understand IT systems equivalent to those taught in METCS 682.
  • MET CS 783: Enterprise Architecture
    Graduate Prerequisites: (METCS682) or strategic IT experience or instructor's consent - 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 787: AI and Cybersecurity
    Prerequisites: MET CS 577 or consent of instructor. This course provides an in-depth exploration of the critical intersection between Artificial Intelligence (AI) and cybersecurity, focusing on two interconnected themes: protecting AI systems from vulnerabilities and harnessing the power of AI to tackle cybersecurity challenges. As AI becomes a cornerstone of modern technology, ensuring the security of AI-powered systems against adversarial attacks, backdoor attacks, and model theft is essential. Simultaneously, AI offers transformative capabilities for malware detection, intrusion prevention, and malware analysis. Through a combination of theoretical foundations, hands-on exercises, and real-world case studies, students will delve into topics such as adversarial machine learning, backdoor injection and defense, IP protection, and privacy-preserving AI. They will also learn how to design and implement AI-driven tools for identifying and mitigating cyber threats in dynamic environments. The course emphasizes practical applications, encouraging students to build resilient AI systems and utilize advanced AI techniques to enhance system security and detect emerging threats. Hands-on labs based on existing tools are provided and required.
  • MET CS 788: Generative AI
    Prerequisites: MET CS 577, Python programming, mathematics required for machine learning, and familiarity with neural networks. Or consent of instructor. - The first part of the course covers statistical concepts required for generative artificial intelligence. We review regressions and optimization methods as well as traditional neural network architectures, including perceptron and multilayer perceptron. Next, we move to Convolutional Neural Networks and Recurrent Neural Networks and close this part with Attention and Transformers. The second part of the course focuses on generative neural networks. We start with traditional self-supervised learning algorithms (Self Organized Map and Restricted Boltzmann Machine), then explore Auto Encoder architectures and Generative Adversarial Networks and move toward architectures that construct generative models, including recent advances in NLP, including LLMs, and Retrieval Augmented Methods. Finally, we describe the Neural Radiance Field, 3D Gaussian Splatting, and text-2-image models.
  • MET CS 789: Cryptography
    Prerequisites: (MET CS 248 & MET CS 566) or consent of instructor - The course covers the main concepts and principles of cryptography, with the main emphasis 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.
  • MET CS 790: Computer Vision in AI
    Prerequisites: MET CS 566 or instructor's consent. - Students enrolled in this course will gain comprehensive insights into fundamental and advanced concepts within the dynamic realm of computer vision. The curriculum will focus on cutting-edge applications of deep neural networks in computer vision. Through hands-on experiences and practical exercises, students will learn to leverage computer vision and machine learning techniques to solve real-world challenges. This course not only equips students with theoretical knowledge but empowers them to apply these concepts effectively, fostering a deep understanding of how computer vision can be harnessed to address complex problems in diverse industries.
  • MET CS 793: Special Topics in Computer Science
    The course changes from semester to semester. More than one special topics course 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 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
    Prerequisites: MET CS 789 or consent of instructor - 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.
  • MET CS 810: MS Thesis 1
    This is the first course of the two-part thesis option available to Master’s degree program candidates in the Department of Computer Science. You must have completed at least four courses toward your degree and have a grade point average (GPA) of 3.7 or higher. You are responsible for finding a thesis advisor and a principal reader within the department. Please refer to the Department for further details on the application process. Both MET CS 810 Master’s Thesis 1 and MET CS 811 Master’s Thesis 2 must be completed within 12 months.