View courses in
- Computer Science
- All Departments
- Actuarial Science
- Administrative Sciences
- Art History
- Arts Administration
- Biomedical Laboratory & Clinical Sciences
- City Planning
- Computer Science
- Criminal Justice
- Earth Sciences
- English Composition & Literature
- Health Communication
- Interdisciplinary Studies
- Mathematics, Statistics
- Political Science
- Urban Affairs
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
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: Enterprise Information 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.
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: MS CS Prerequisites: MET CS 579; or instructor's consent. MS CIS Prerequisites: MET CS 669 and MET CS 546; 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 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.
MET CS 713: Advanced Digital Forensics
This course provides an introduction to the advanced digital forensic topic relating to malicious software (malware), which represents an increasing information security threat to computer systems and networks. Students will review software engineering design fundamentals and reverse engineering techniques utilized to conduct static and dynamic forensic analysis on computer systems and networks. Students will learn about the importance of forensic principles, legal considerations, digital evidence controls, and documentation of forensic procedures. This course will incorporate demonstrations and laboratory exercises to reinforce practical applications of course instruction and will require an independent research paper related to the course topic. Prereq: MET CS 693 and MET CS 703; or instructor's consent.
MET CS 755: Cloud Computing
Cloud computing leverages the World Wide Web to fulfill computing needs. It packages applications, computing power, and storage as a metered service similar to a utility. This model is designed to supplant the traditional mechanism of desktop computing in many cases. This course will cover the origin, theory, enabling technology, and hands-on labs for key concepts in cloud computing. Students will: (1) Learn the unique set of problems and challenges in developing cloud computing applications; (2) Learn the platform, tools, technology and processes for developing cloud computing applications using Hadoop as the main example; and (3) Propose, develop, and run applications for the platforms covered. Prereq: MET CS 231 or MET CS 232; or instructor's consent.
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. Prereq: MET CS 566; or instructor's consent. It is also recommended that students enroll in this class only after taking the core courses for MS in Computer Science.
MET CS 770: Object-Oriented Analysis and Design
Graduate Prerequisites: Fluency in at least one object-oriented language (C++, or Java, or SmallTalk, or Object-Oriented Visual Basic); and MET CS 605, or MET CS 665, or MET CS 673; or consent of the instructor
The object-oriented paradigm is key to the predictable development of reliable software-intensive systems. Object-oriented methods consist of languages, distribution, analysis and design. Languages change and so does distribution (the manner in which processing is distributed). Basic to Object-Orientation, however, are Analysis and Design, which have remained remarkably stable. The course emphasizes ways to retain the goals of the object paradigm, the exploitation of use cases, the construction of sequence diagrams, the selection of classes, the relationships among them, and their utilization to implement systems. The course covers the relationship of GUI's to classes, and relates OO Analysis and Design to refactoring.
MET CS 773: Software Quality Management
Theory and practice of quality assurance and testing for each step of the software development cycle. Verification vs. validation. Test case design techniques, test coverage criteria, and tools for static and dynamic analysis. Standards. Test-driven development. QA for maintenance and legacy applications. Experimental approaches. Prereq: MET CS 673; or instructor's consent.
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.
MET CS 779: Advanced Database Management
This course covers advanced aspects of database management systems including advanced normalization and denormalization, query optimization, object- oriented and object-relational databases, data warehousing, data mining, distributed databases, XML, XSL, and databases for web applications. There is extensive coverage of SQL and database instance tuning. Students learn about the advanced object- relational features in DBMS such as Oracle, including navigational query, BLOBs, abstract data types, and methods. Students learn about unstructured "big data" databases and gain hands-on experience with MongoDB and Spark, which are integrated into the course web site. 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. Our Ross, Weil, and Robertson text provides much of the management content of the course, and the online and classroom content provide both management and technical skills. Students learn that enterprise architectures are best developed incrementally, by system development projects that are aligned with strategic goals and the enterprise architecture. The online content therefore includes many real enterprise system development case studies, showing how these enterprise systems contributed to and helped define the overall enterprise architecture. The course also includes a number of realistic enterprise architecture assignments and an incremental term project with components spanning the course, to provide students with hands on enterprise architecture experience. The course provides students with the understanding and skills needed to define and implement successful enterprise architectures that provide real value to organizations, such as substantially reducing IT costs while improving performance, agility and alignment of information technology to business goals. Prereq: MET CS 682. Or strategic IT experience. Or instructor's consent. 4 credits.
MET CS 789: Cryptography
Undergraduate Prerequisites: MET CS 248 and MET CS 566.
Graduate Prerequisites: MET CS 248 and MET CS 566; or consent of the instructor
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 795: Directed Study
Prereq: Consent of advisor. Requires prior approval of student-initiated proposal. Independent study on special projects under faculty guidance.
MET CS 796: Directed Study
Prereq: consent of the instructor. Requires prior approval of student-initiated proposal. Independent study on special projects under faculty guidance. variable 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.