Master of Science in Computer Science concentration in Computer Networks

CNSS - Logo

The Master of Science in Computer Science concentration in Computer Networks provides students with a broad foundation in information technology (IT), and an in-depth understanding of computer data communication and modern networking. The five core courses include a comprehensive, introductory networking course that covers digital communications, local area, wide area, wireless, and other network technologies. The core also includes courses in databases, math for IT, strategic IT, software development, and systems analysis and design. The Computer Networks concentration courses provide students with a comprehensive understanding of network design and implementation, network performance analysis and management, network security, and the latest networking technology. The program is designed to empower students with extensive knowledge and hands-on experience to analyze, design, procure, manage, and implement cutting-edge computer networking solutions and technologies.

Students who complete the Computer Science master’s degree concentration in Computer Networks will be able to demonstrate:

  • Advanced knowledge of computer language theory, software design, as well as data bases, networks, or security.
  • Proficiency in algorithms, operating systems, computer language usage, software development, and the management of data, networks, or security.
  • Competence sufficient to investigate continually emerging new software technologies, applications, and approaches.
  • Advanced knowledge of data communication protocols and networks; of issues involved in multi-access media, including wired and wireless; performance analysis of networks; and management of large networks.
  • Proficiency in data communication protocols and networks, including error control and flow control, distributed synchronization, error detection and correction, and forwarding and techniques to implement it.
  • Competence sufficient to design, specify, and develop data transfer protocols for specific purposes; design, specify, plan, and define networks of any size; and analyze, evaluate, and select network technologies.

A total of 40 credits is required.

Core Curriculum

(Five courses/20 credits)

Discusses basic methods for designing and analyzing efficient algorithms emphasizing methods used in practice. Topics include sorting, searching, dynamic programming, greedy algorithms, advanced data structures, graph algorithms (shortest path, spanning trees, tree traversals), matrix operations, string matching, NP completeness.   [ 4 cr. ]

Section Type Instructor Location Days Times
A1 IND Belyaev MCS B25 M 6:00 pm – 8:45 pm
C1 IND Belyaev CAS 226 W 6:00 pm – 8:45 pm

Overview of operating system characteristics, design objectives, and structures. Topics include concurrent processes, coordination of asynchronous events, file systems, resource sharing, memory management, security, scheduling and deadlock problems.   [ 4 cr. ]

Section Type Instructor Location Days Times
C1 IND Zhang STH B20 W 6:00 pm – 8:45 pm

Theory of finite automata and regular expressions and properties of regular sets. Context- free grammars, context-free languages, and pushdown automata. Turing machines, undecidability problems, and the Chomsky hierarchy. Introduction to computational complexity theory and the study of NP-complete problems. Prerequisite: MET CS 248 or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
B1 IND Naidjate CAS 237 T 6:00 pm – 8:45 pm

Techniques for the construction of reliable, efficient, and cost-effective software. Requirement analysis, software design, programming methodologies, testing procedures, software development tools, and management issues. Students plan, design, implement, and test a system in a group project. Laboratory course. Prereq: MET CS 342 and at least one 500-level computer programming-intensive computer science course; or instructor's consent.   [ 4 cr. ]

Section Type Instructor Location Days Times
D1 IND Zhang MCS B25 R 6:00 pm – 8:45 pm

And one of the following:

This course provides a robust understanding of networking. It teaches the fundamentals of networking systems, their architecture, function and operation and how those fundamentals are reflected in current network technologies. Students will learn the principles that underlie all networks and the application of those principles (or not) to current network protocols and systems. The course explains how layers of different scope are combined to create a network. There will be a basic introduction to Physical Media, the functions that make up protocols, such as error detection, delimiting, lost and duplicate detection; and the synchronization required for the feedback mechanisms: flow and retransmission control, etc. Students will be introduced to how these functions are used in current protocols, such as Ethernet, WiFi, VLANs, TCP/IP, wireless communication, routing, congestion management, QoS, network management, security, and the common network applications as well as some past applications with unique design solutions. Prereq: MET CS 575 and MET CS 201 or MET CS 231 or MET CS 232. Or instructor's consent. Restrictions: This course may not be taken in conjunction with MET CS 625 or MET CS 425 (undergraduate). Only one of these courses can be counted towards degree requirements.  [ 4 cr. ]

Section Type Instructor Location Days Times
B1 IND Day PSY B55 T 6:00 pm – 8:45 pm

This course provides a theoretical yet modern presentation of database topics ranging from Data and Object Modeling, relational algebra and normalization to advanced topics such as how to develop Web-based database applications. Other topics covered - relational data model, SQL and manipulating relational data; applications programming for relational databases; physical characteristics of databases; achieving performance and reliability with database systems; object-oriented database systems. Prereq: MET CS 231 or MET CS 232; or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
A1 IND Lee CAS B25B M 6:00 pm – 8:45 pm

Students who have completed courses on core curriculum subjects as part of their undergraduate degree program or have relevant work-related experience may request permission from the Department of Computer Science to replace the corresponding core courses with graduate-level computer science electives. Please refer to the MET CS Academic Policies Manual for further details..

Concentration Requirements

In addition to the MS in Computer Science core curriculum (20 credits), students pursuing a concentration in Computer Networks must also satisfy the following requirements:

Required Computer Networks Courses

(Four courses/16 credits)

The purpose of this course is to provide students with a deeper understanding of Media-specific Technologies not only so that they will be able to use the ones covered in this course, but more importantly be able to analyze and evaluate new technologies. This course applies the principles from CS 535 to understand the engineering that lead to them as well as the special problems that confront network technologies that operate directly over the physical media. These Media specific layers have three problems to solve: the usual one of multiple users of a common resource, accommodating the particular characteristics of the media, and providing (to the degree possible) a media- independent service to the layers above. While CS 535 provides a high-level view of some of these technologies, in this course, they are considered in much greater detail as to how these technologies address their requirements and take advantage of the assumptions made. The emphasis is on those technologies that are either representative of a type or take a unique perspective on the problem. Hence, the traditional data link protocols, such as HDLC, modern Ethernet (primarily VLANs), WiFi (802.11) represent the first type, while media technologies, such as DOCSIS, RFIDs, IoT, and cellular mobile networks are representative of the second. The course will consider how these technologies solve mobility, routing, congestion, QoS (multi-media), security, etc. A major project is part of this course. Prereq: MET CS 231 or MET CS 232 and either MET CS 625 or MET CS 535; or instructor's consent.   [ 4 cr. ]

Section Type Instructor Location Days Times
A1 IND Day MCS B19 M 6:00 pm – 8:45 pm

. This course will cover contemporary integrated network management based on FCAPS (Fault, Configuration, Administration, Performance, and Security management) model. The introduction to the course will be an overview of data transmission techniques and networking technologies. The middle part of the course will be on Network Management Model, SNMP versions 1, 2 and 3, and MIBs. In the second part of the course, particular focus and emphasis will be given to current network management issues: various wireless networks technologies (WLAN, WiFi, WiMax), Voice-over-IP, Peer-to-Peer Networks, networking services, Identity Management, and Services Oriented Architecture Management. Prereq: MET CS 535 or MET CS 625. or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
O1 IND Goulding ARR

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.  [ 4 cr. ]

Section Type Instructor Location Days Times
B1 IND Matthews PHO 201 T 6:00 pm – 8:45 pm

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.   [ 4 cr. ]


(One course/4 credits)

Choose one additional course from the following general electives:

This course is primarily the study of design of graphic algorithms. At the end of the course you can expect to be able to write programs to model, transform and display 3- dimensional objects on a 2-dimensional display. The course starts with a brief survey of graphics devices and graphics software. 2-d primitives such as lines and curves in 2- d space are studied and a number of algorithms to draw them on a rectangular surface are introduced, followed by a study of polygons, scan conversion and other fill methods. Attributes of the primitives are studied as well as filtering and aliasing. Geometric transformations in 2 dimensions are introduced in homogeneous coordinates, followed by the viewing pipeline, which includes clipping of lines, polygons and text. Hierarchical graphics modeling is briefly studied. The graphics user interface is introduced and various input functions and interaction modes are examined. 3-d graphics is introduced through object representations through polygonal methods, spline techniques, and octrees. This is followed by 3-d transformations and the 3-d viewing pipeline. The course ends with a study of algorithms to detect the visible surfaces of a 3-d object in both the object space and the image space. Laboratory Course. Prereq: MET CS 248 and MET CS 341 or MET CS 342. Or instructor's consent.   [ 4 cr. ]

The goal of this course is to provide Computer Information Systems students with the mathematical fundamentals required for successful quantitative analysis of problems in the field of business computing. The first part of the course introduces the mathematical prerequisites for understanding probability and statistics. Topics include combinatorial mathematics, functions, and the fundamentals of differentiation and integration. The second part of the course concentrates on the study of elementary probability theory, discrete and continuous distributions. Prereq: Academic background that includes the material covered in a standard course on college algebra or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
A1 IND Gorlin FLR 109 M 6:00 pm – 8:45 pm
E1 IND Gorlin FLR 109 M 6:00 pm – 8:45 pm
O1 IND Temkin ARR
O2 IND Temkin ARR
BCL IND Parrott ROOM U 8:00 am – 3:30 pm

Organization of programming languages, especially the run-time behavior of programs. Discussion of imperative (Pascal, C), object-oriented (C++, Smalltalk, Java), functional (Lisp), logic (Prolog), and concurrent programming. Laboratory course.   [ 4 cr. ]

This course presents financial algorithms used in applications of computer science in financial decision analysis, risk management, data mining and market analysis, and other modern business processes. The course covers theoretical background on probabilistic methods used for financial decision making and their application in number of fields such as financial modeling, venture capital decision making, operational risk measurement and investment science. Number of financial applications and algorithms are being presented for portfolio risk analysis, modeling real options, venture capital decision making, etc. The course concludes with algorithms for financial risk assessment and presents the security concepts and challenges of financial information systems.   [ 4 cr. ]

Section Type Instructor Location Days Times
C1 IND Mehta FLR 133 W 6:00 pm – 8:45 pm

This course is designed for IT professionals, and those training to be IT professionals, who are preparing for careers in healthcare-related IT (Health Informatics). This course provides a high-level introduction into basic concepts of biomedicine and familiarizes students with the structure and organization of American healthcare system and the roles played by IT in that system. The course introduces medical terminology, human anatomy and physiology, disease processes, diagnostic modalities, and treatments associated with common disease processes. IT case studies demonstrate the key roles of health informatics and how IT tools and resources help medical professionals integrate multiple sources of information to make diagnostic and therapeutic decisions.  [ 4 cr. ]

This course presents the technological fundamentals and integrated clinical applications of modern Biomedical IT. The first part of the course covers the technological fundamentals and the scientific concepts behind modern medical technologies, such as digital radiography, CT, nuclear medicine, ultrasound imaging, etc. It also presents various medical data and patient records, and focuses on various techniques for processing medical images. This part also covers medical computer networks and systems and data security and protection. The second part of the course focuses on actual medical applications that are used in health care and biomedical research.   [ 4 cr. ]

Electronic Health Records (EHRs) are application systems that automate the activities of healthcare clinicians including physicians, nurses, physician assistants, and healthcare administrative staff. Use of EHRs is increasing rapidly due to the systems' benefits and federal government programs to deploy EHRs. This increased use of EHRs has many challenges including complex data, high security requirements, integration to multiple application systems, a distributed user base, and broad impact on how these users work.   [ 4 cr. ]

Section Type Instructor Location Days Times
O1 IND Levinger ARR

In this course we will study the fundamental and design applications of various biometric systems based on fingerprints, voice, face, hand geometry, palm print, iris, retina, and other modalities. Multimodal biometric systems that use two or more of the above characteristics will be discussed. Biometric system performance and issues related to the security and privacy aspects of these systems will also be addressed.   [ 4 cr. ]

Section Type Instructor Location Days Times
A1 IND Djordjevic FLR 266 M 6:00 pm – 8:45 pm

This course focuses on building core competencies in web design and development. It begins with a complete immersion into HTML essentially XHTML and Dynamic HTML (DHTML). Students are exposed to Cascading Style Sheets (CSS), as well as Dynamic CSS. The fundamentals of JavaScript language including object-oriented JavaScript is covered comprehensively. AJAX with XML and JSON are covered, as they are the primary means to transfer data from client and server. Prereq: For CIS Students: MET CS 200 Fundamentals of Information Technology, or instructor's consent. For CS and TC Students: MET CS 231 or MET CS 232, or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
B1 IND Sheehan FLR 266 T 6:00 pm – 8:45 pm
E1 IND Sheehan FLR 266 T 6:00 pm – 8:45 pm

Comprehensive coverage of object-oriented programming with cooperating classes. Implementation of polymorphism with inheritance and interfaces and in Java library containers. Programming with exceptions, stream input/output and graphical AWT and Swing components. Threads, sockets, datagrams and database connectivity are also covered in this course. Prerequisite: MET CS 342 or equivalent knowledge of Java. Or MET CS 521 and MET CS 526. Or instructor's consent. For graduates only.   [ 4 cr. ]

Section Type Instructor Location Days Times
B1 IND Tizio SHA 210 T 6:00 pm – 8:45 pm

This course provides students with a comprehensive overview of the principles, processes, and practices of software project management. Students learn techniques for planning, organizing, scheduling, and controlling software projects. There is substantial focus on software cost estimation and software risk management. Students will obtain practical project management skills and competencies related to the definition of a software project, establishment of project communications, managing project changes, and managing distributed software teams and projects.   [ 4 cr. ]

Section Type Instructor Location Days Times
D1 IND Heda FLR 267 R 6:00 pm – 8:45 pm
E1 IND Heda FLR 267 R 6:00 pm – 8:45 pm

Theory and practice of security and quality assurance and testing for each step of the software development cycle. Verification vs. validation. Test case design techniques, test coverage criteria, security development and verification practices, and tools for static and dynamic analysis. Standards. Test-driven development. QA for maintenance and legacy applications. From a project management knowledge perspective, this course covers the methods, tools and techniques associated with the following processes -- Plan Quality, Perform Quality Assurance, and Perform Quality Control. Prereq: MET CS 520 or 521. Or instructor's consent.   [ 4 cr. ]

Section Type Instructor Location Days Times
O1 IND Elentukh ARR

Study of the ideas and techniques that enable computers to behave intelligently. Search, constraint propagations, and reasoning. Knowledge representation, natural language, learning, question answering, inference, visual perception, and/or problem solving. Laboratory course. Prereq: MET CS 248 and MET CS 341 or MET CS 342; or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
BHA IND Nourai ROOM W 6:00 pm – 8:45 pm

Software design principles, the object-oriented paradigm, unified modeling language; creational, structural, and behavioral design patterns; OO analysis and design; implementation of semester project. Laboratory course. Prereq: MET CS 341, MET CS 342, MET CS 520, or MET CS 521. Or instructor's consent.  [ 4 cr. ]

The Java Enterprise Edition (Java EE) architecture is explored starting with the presentation layer which includes the servlets and Java Server Pages (JSP). Java Server Faces (JSF) are briefly covered. The business layer is examined using the enterprise java beans (EJB). The persistence layer is studied through the Java Persistence API (JPA) and the Hibernate framework. Java based web services are explored using JAX- WS (SOAP based) and JAX-RS (REST based) APIs. The Spring framework is compared as an alternative architecture. Prereq: MET CS 565; or instructor's consent.  [ 4 cr. ]

The course provides a strong foundation in database security and auditing. This course utilizes Oracle scenarios and step-by-step examples. The following topics are covered: security, profiles, password policies, privileges and roles, Virtual Private Databases, and auditing. The course also covers advanced topics such as SQL injection, database management security issues such as securing the DBMS, enforcing access controls, and related issues. Prereq: MET CS 579 or MET CS 669; or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
C1 IND Wolfe FLR 267 W 6:00 pm – 8:45 pm
E1 IND Wolfe FLR 267 W 6:00 pm – 8:45 pm
O1 IND Carroll ARR

This course will be divided into two parts. The first part, two thirds of the course, covers the principles and problems associated with mobile device applications, using as examples Google Android, iPhone, and other platforms such as Nokia. The last third is an in depth coverage of the open source Android development platform. Issues covered will include Mobile Hardware and Cell Networks, Architectures, Operating Systems, Languages, Development Environments and Simulators, User Interfaces, Location-based Services, Storing and Retrieving Data. Students will accomplish the following. (1) Learn the unique set of problems and challenges in developing mobile applications compared with desktop applications; (2) Learn the platform, tools, technology and process for developing mobile applications using Google Android and the Apple iPhone platforms as the main examples; (3) Write applications for the platforms covered, simulate them, and test them on the mobile hardware where possible; and (4) Work collaboratively with fellow students on their projects. Prereq: MET CS 342 OR MET CS 520 or MET CS 521. Or instructor's consent.  [ 4 cr. ]

This course enables IT professional leaders to identify emerging security risks and implement highly secure networks to support organizational goals. Discussion of methodologies for identifying, quantifying, mitigating and controlling risks. Students implement a comprehensive IT risk management plans (RMP) that identify alternate sites for processing mission-critical applications, and techniques to recover infrastructure, systems, networks, data and user access. The course also discusses related topics such as: disaster recovery, handling information security; protection of property, personnel and facilities; protection of sensitive and classified information, privacy issues, and criminal terrorist and hostile activities.  [ 4 cr. ]

Section Type Instructor Location Days Times
D1 IND Burgoyne SHA 210 R 6:00 pm – 8:45 pm
E1 IND Burgoyne SHA 210 R 6:00 pm – 8:45 pm

This course surveys state-of-the art technologies in DW and Big Data. It describes logical, physical and semantic foundation of modern DW infrastructure. Students will create a cube using OLAP and implement decision support benchmarks on Hadoop/Spark vs Vertica database. Upon successful completion, students will be familiar with tradeoffs in DW design and architecture. Prereq: MET CS 579 or MET CS 669 and either MET CS 520 or MET CS 521. Or instructor's consent.   [ 4 cr. ]

Section Type Instructor Location Days Times
O1 IND Wolfe ARR

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.  [ 4 cr. ]

Section Type Instructor Location Days Times
O1 IND Navarro ARR

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.  [ 4 cr. ]

Section Type Instructor Location Days Times
C1 IND Lee CAS B20 W 6:00 pm – 8:45 pm
E1 IND Lee CAS B20 W 6:00 pm – 8:45 pm

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.  [ 4 cr. ]

Section Type Instructor Location Days Times
O1 IND Kalathur ARR

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.  [ 4 cr. ]

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.  [ 4 cr. ]

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.  [ 4 cr. ]

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.  [ 4 cr. ]

Section Type Instructor Location Days Times
B1 IND Teymourian CAS 201 T 6:00 pm – 8:45 pm

Overview of techniques and tools to develop secure software. Focus on the application 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.   [ 4 cr. ]

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.  [ 4 cr. ]

Section Type Instructor Location Days Times
AT IND Braude SCI 115 W 6:00 pm – 8:45 pm
C1 IND Braude SCI 115 W 6:00 pm – 8:45 pm

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.   [ 4 cr. ]

Section Type Instructor Location Days Times
D1 IND Polnar FLR 264 R 6:00 pm – 8:45 pm
E1 IND Polnar FLR 264 R 6:00 pm – 8:45 pm
O1 IND Polnar ARR

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.  [ 4 cr. ]

Section Type Instructor Location Days Times
O1 IND Schudy ARR
BHA IND Nizzari ROOM M 6:00 pm – 8:45 pm

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.  [ 4 cr. ]

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.  [ 4 cr. ]

Electives other than those listed must be approved by an advisor and often include:

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.  [ 4 cr. ]

Contemporary software engineering takes several distinct and rapidly changing forms. First, Agile methods are based on the need for flexibility while applications are being built. Agile methods constitute a radical departure from pre-existing methods: They rely on newly developed technologies such as test-driven development, XUnit, and refactoring. A second form is the emergence of open-source development. This course teaches the architectural and operational implications of open source development and explores its relationship with agile methods. The course will also discuss aspect-oriented programming, the decomposition of applications into onshore and offshore components, design for security, and formal methods. Laboratory course.  [ 4 cr. ]

View all Computer Science & IT graduate courses.