Computer Science

  • 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 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.
  • 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.
  • 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.
  • MET CS 811: 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.
  • MET CS 893: Agile and Advanced Software Engineering Methods
    Builds on previous design and programming courses and introduces students to the technological, social, and pragmatic aspects of developing open source software through direct involvement in an open source project. Students learn to use the tools, techniques, and strategies of open source developers. They become familiar with the open source movement, its philosophy, history and licensing issues. This is a project-based laboratory course. Students are directly involved with and integrated into an open source project. They are expected to be active participants in the project and contribute to the project in various ways.

Back to full list of Courses