Computer Science

  • 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.
  • 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 625; or instructor's consent.
  • MET CS 699: Data Mining
    Data mining and investigation is a key goal behind any data warehouse effort. The course provides an introduction to concepts behind data mining, text mining, and web mining. Algorithms will be tested on data sets using the Weka Data mining software and Microsoft SQL Server 2005 (Business Intelligence Development Studio). 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. 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 and MET CS 566; 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