Computer Science

  • MET CS 701: Advanced Web Application Development
    The Advanced Web Application Development course builds upon its predecessor MET CS 601 Web Application Development and concentrates primarily on building rich client web applications in the browser. The course covers the following modules in depth: ActionScript 3.0 Flex 3/4, WPF, and Silverlight. Along with the fundamentals underlying these technologies, several applications will be showcased as case studies. Students obtain hands-on exposure 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 Web application development methodologies.
  • 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.
  • 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.
  • MET CS 732: Advanced Game Graphics
    This is the second class in the four-course Certificate in Multimedia and Video Game Engineering. It assumes an understanding of computer graphics. The course is an update and re-orientation of MET CS 732, an existing course that has not been offered for at least five years. The first half of this course applies the basics of computer graphics covered in CS 532. It extends these by exploring lighting, texture, and rendering algorithms. The second half explores geometrical techniques for 3D representation and their application to intersection and collision.
  • MET CS 733: Real-Time Multimedia Simulation
    This class examines core game engine techniques that form the basis for most modern computer games. Students will implement two games of their own, one built from scratch and the other using the OGRE 3D Rendering Engine. Topics covered include Windows & DirectX Programming, Game Engine Architectures, User Input, Sound, an introduction to 3D Games Architectures, Animation, Path Planning & Movement Control, Performance Optimization, and Networked Multiplayer Games.
  • MET CS 734: Artificial Intelligence for Video Games
    The course explains the basic role of Artificial Intelligence (AI) in game play. It covers languages and scripting that enable AI. AI is used in planning the paths of game-owned assets. The course shows how AI moves the story and its characters forward. The second half of the course shows how game programs can learn responses and generate plans and movements based on players? actions. These ideas are applied to traditional video games, action games, strategy games, role-playing games, and other genres.
  • MET CS 751: Web Services
    Architecture of Web Services; review of XML Shemas; SOAP (Simple Object Access Protocol); WSDL (Web Services Description Language); UDDI (Universal Description, Discovery, and Integration); Web Services in .NET; Sun and Apache tools; Company-specific Web Service API?s; Java API?s for XML Messaging; Java Application Servers; review of Security, transactions, and business process languages (e.g. BPEL) among Web Services.
  • 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.
  • MET CS 767: Fuzzy, Expert, Genetic, and Neural Systems
    Theories and methods for automating the solution of problems with inexact specifications, input, models, or output (e.g., text checkers, help desks). Expert systems, fuzzy methods, neural net architectures, and genetic algorithms are examined and compared. Algorithms and a term project are implemented using shells and C++ or Java. Laboratory course.
  • MET CS 770: Object-Oriented Analysis and Design
    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
    This course covers the theory and practice of quality assurance and testing for each step of the software development cycle. It introduces, defines, and contrasts the two pillars of software quality: Verification and Validation. The course covers test case design techniques, test coverage criteria, and tools for static and dynamic analysis. IEEE standards for test design and documentation are included. The course explains test-driven development and its relation with validation in the small and the large. QA for maintenance and legacy applications are covered. The course explores experimental and contemporary approaches to quality such as those inherent in agile development.
  • MET CS 775: Advanced Networking
    In-depth coverage of the architecture, interfaces, protocols, and technologies of high-speed broadband networks. Topics include broadband wide-area network (WAN) technologies such as gigabit routers with IP switching, MPLS, ATM and Frame Relay; broadband LAN technologies: Fast Ethernet and Ethernet Switching, Gigabit Ethernet, and FDDI; broadband access technologies: DSL and Cable modems, as well as discussion of network performance, congestion control and traffic management, provision of different levels of quality of service (QoS),resource reservation, unicast and multicast routing, and multimedia compression and security in broadband networks. Students are required to complete a research project in one of the advanced Internet technologies. Labs on network performance analysis.
  • 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 database programming in Oracle's PL/SQL language, including triggers, stored procedures, and methods. By the end of the course, students should understand the basic concepts in all of these advanced database topics. Students define independent advanced database term projects, which may be related to their work or other interests. The students prepare reports and audio-video presentations for their classmates using PowerPoint and Impatica. 4 cr
  • MET CS 780: Database Administration
    This course prepares students to perform day-to-day administration of a database system. While most of the examples in this course are based on Oracle database administration, the course also covers the differences in administering Microsoft SQL Server and MySQL and examples. The course covers administration on Windows, Linux, and Unix platforms. The course is conducted in the MET computer laboratories, where students will use virtualizations of Oracle and MSSQL on virtualized platforms to perform exercises and gain experience administering databases. Students will also have the opportunity to install these virtualizations on their own PCs. Students interested in obtaining Oracle's Oracle Certified Professional (OCP) Database certification will find this course very relevant. A database management course comparable to MET CS579 or CS669, or consent of the instructor, is the prerequisite for this course.
  • MET CS 782: IT Strategy and Management
    This course provides an overview of contemporary information systems technology (IT) management. It explains the relevant issues of effective management of information services activities and highlights the areas of greatest potential application of the technology. No assumptions are made concerning the reader's experience with IT, but it is assumed that the reader has some course work or work experience in administration of management.
  • MET CS 783: Enterprise Architecture
    A review of Enterprise architecture, traditional and internet-based open distributed systems with emphasis on Enterprise Integration. System Modeling with IBM's Rhapsody. XML Schema. SOA and Web Services. Messaging Systems and JMS. Enterprise Service Bus. Identity and Access Management. Single Sign-On and LDAP. Caching and In-Memory Databases. J2EE frameworks (Spring). Object Relational Mapping (Hibernate). Business Process Management. Workflow Management and BPEL. Integration with Mainframes (zOS).
  • 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. This course serves a prerequisite to CS 799 Advanced Cryptography.
  • 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.

Back to full list of Courses