Computer Science

All courses, arranged by program, are listed in the catalog. Courses designated as “active” have been offered in the past three years. Courses designated as “inactive” have not been offered in the past three years and indicate the semester in which the course was last offered. If you cannot locate a specific course, try our advanced search link. Current class schedules, with posted days and times, may be found on the Registrar's Office website or by logging directly into iSiS.

91.500 Fundamental of Computer Science Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8132
Status Active

Mathematical topics necessary for graduate study in computer science in the areas of discrete mathematics, probability, linear algebra and proof techniques. Material may include topics such as: summations, sets, relations, functions, recurrences, graphs, trees, elementary combinatorics, basic axioms and laws of probability, discrete random variables, probability distributions, matrices, Boolean algebra, logarithms.

Pre/Co-Requisites: Pre-req: 92.131 Calculus I and 92.132 Calculus II.

91.502 Foundations of Computer Science Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8134
Status Active

An advanced introduction to theoretical computer science. This course will cover the fundamentals of automata, formal languages, and computability theory.

Pre/Co-Requisites: Pre-Req: 91.404 Analysis of Algorithms.

91.503 Algorithms Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8135
Status Active

Advanced algorithms and complexity analysis. Dynamic programming; greedy algorithms; amortized analysis; shortest path and network flow graph algorithms; NP-completeness; approximation algorithms; number-theoretic algorithms; string matching; computational geometry. Additional topics may include linear programming, parallel algorithms, fast Fourier transforms, polynomial, integer, and matrix algorithms. Readings may include conference and journal papers from the algorithms literature.Abstract types, lists, trees, graphs, sets; relevant algorithms and their worst and average case analyses; fast transforms; polynomial, integer, and matrix algorithms; NP-completeness.

Pre/Co-Requisites: Pre-Req: 91.404 Analysis of Algorithms.

91.504 Advanced Algorithms: Computational Geometry Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8136
Status Active

Advanced algorithms topics, such as design and analysis of geometric and combinatorial algorithms, computability andcomplexity.

Pre/Co-Requisites: Pre-Req: 91.503 Algorithms or Instructor permission.

91.508 Analysis Of Algorithms Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8138
Status Active

Topics in algorithm design and analysis; mapping and modeling; issues in complexity; lower bounds; models of parallel computation.

91.510 Computational Complexity Theory Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8139
Status Active

This course covers polynomial-time hierarchy and polynomial space, circuit complexity, structure of NP, probabilistic machines and complexity classes, complexity of counting, interactive proof systems, probabilistically checkable proofs, complexity of approximation problems, and average-case NP-completeness.

Pre/Co-Requisites: Pre-Reqs. 91.502 Foundations of CS, and 91.503 Algorithms.

91.513 Internet And Web Systems I Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8142
Status Active

This course is a survey of Web programming technologies. It begins with a discussion of what Web servers and clients are, how they interact, and how one sets them up. We then explore a wide variety of Web technologies including HTML, JavaScript, JavaServer Pages, Java Servlets, and XML and its many related technologies. Our goal in this course is to provide the basic understanding and knowledge of how the Internet and World Wide Web operate and the technical knowledge required to establish and maintain an Internet/Web site and to develop and introduce new capabilities and features on such sites.

91.514 Internet & Web Systems II Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8143
Status Active

A continuation of 91.513 with a focus on current topics and topics of special interest. Examples of recent topics include: The semantic Web and ontologies, Web services, Peer-to-peer networks, Information Search and Retrieval, Autonomous intelligent agents and Multi-modal presentations.

Pre/Co-Requisites: Pre-Req: 91.513 Internet & Web Systems I.

91.515 Operating Systems I Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8144
Status Active

This course provides insight into multiprocessing operating systems including processor memory, peripheral, and file systems management in batch, timesharing, real time, and distributed systems targeted for various hardware. Particular emphasis will be placed on techniques of virtual memory as well as the problems of concurrency in both centralized and distributed systems. An OS simulation is a required programming project. Some topics to be covered are process synchronization; high-Level mechanisms for concurrency; processor scheduling and system analysis; deadlock; virtual memory; distributed systems; computer security.

91.516 Operating Systems II Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8145
Status Active

The design and implementation of an interactive multiprocessing operating system to run on a bare hardware system. Separate teams manage the major subsystems with in-class design reviews to coordinate system integration. A functioning system is a class requirement.

Pre/Co-Requisites: Pre-Req: 91.515 Operating Systems I.

91.520 Digital Storage Architectures Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8149
Status Active

This course will focus on existing and proposed technologies for storing digital information. Both hardwre and software issues will be examined, beginning with device and controller organization and proceeding through aggregation techniques, interconnect architectures and host consideration. At each level, specific components will be evaluated with respect to critical storage criteria, such as bandwith and latency, fault tolerance, infrastructrure requirements and cost.

91.522 Object Oriented Analysis Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8151
Status Active

Object-oriented techniques for analysis, specification, and design. Static information models and state-based dynamic behavior models applied to rapid prototyping projects that both use and implement object-oriented CASE tools.

91.523 Software Engineering I Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8152
Status Active

Continuation of 91.522; a team-based project course that applies object-oriented methods to designing, implementing, and maintaining interactive and distributed software systems with emphasis on quality and reusability. (Undergraduates may substitute this course for 91.412.)

91.527 Human Computer Interaction Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8155
Status Active

The purpose of this class is to ground students in the basics of how humans interact with technology, and make students aware of the breadth of topic areas related to human-computer interaction (HCI). This course emphasizes theoretical constructs such as the Model-Human Processor, and includes seminal readings by the original researchers. Further, the course emphasizes techniques for understanding users' tasks, formulating users' requirements, and assessing proposed designs using heuristic evaluation. As part of understanding users' needs, students will consider social, organizational, and ethical perspectives on information technology. Students are also exposed to specialty topics in human-computer interaction such as multi-user computing, universal access to computer applications, and internationalizing interfaces. This course includes a project to design, develop, document, and orally present a prototype interface. At the end of the course students will be able to cite basic principles of human interaction and devise and carry out a usability engineering plan to aid in developing new human interfaces.

91.528 Evaluation of Human-Computer Interaction Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 30391
Status Active

This course is an introduction to methods used to evaluate the design of human-computer interaction (HCI). Students will apply examples of all three of the major types of HCI evaluation techniques: inspection, analytical, and empirical techniques. The course also covers HCI experiment design and data analysis, including threats to experimental validity. The course project consists of a formal usability test. This project requires students to learn principles of ethical treatment of human subjects, complete the University's Institutional Review Board applications and training for human-subject testing, conduct testing sessions, analyze data, recommend design changes, and document results in a professional manner. At course completion, students will have demonstrated skills for assessing the effectiveness of interface designs and will understand how evaluation fits into computer products' lifecycles.

91.530 Special Topics Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8156
Status Active

Topics of mutual interest to the instructor and student(s).

91.531 Design of Program Languages Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8157
Status Active

A one-semester course designed to provide students with hands-on understanding of the underlying concepts of programming languages, the principles of their design, and the fundamental methods for their implementation. An executable metalanguage such as Scheme or SML is used throughout the course, facilitating the design of high-level, concise interpreters that are easy to comprehend. The approach is analytical because the salient features of the imperative, functional, object-oriented, and logic programming paradigms are described in the executable meta-language.

Pre/Co-Requisites: Pre-Req: 91.301 Org Programming Languages or 91.406 Compiler Construction I.

91.534 Compiler Construction I Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8160
Status Active

This course implements a compiler for a complete language. Topics include grammars, syntax, elements of parsing and recursive descent, semantics, basic code generation, fast compilation runtime support. Programming project required.

91.540 Visual Analytics Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8164
Status Active

This course covers the basic topics for the interdisciplinary field of visual analytics. This course is not just for computer science students but also for analysts and scientists in different disciplines. The topics include visual analytics science and technology, perception, cognitive processes and human tasks and reasoning, data and knowledge representation, visualization and interaction, statistical and analytic methods, data mining and knowledge discovery, and evaluation and usability. Numerous examples of systems, tools and applications will be presented.

Pre/Co-Requisites: Pre-Requisites: 91.301 Org Programming Languages or 91.304 Foundations of Comp Science; or Instructor permission.

91.541 Data Visualization Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8165
Status Active

This course looks at classical and novel methodologies for the visualization of large and complex data sets. The course covers both scientific and information visualization starting with data modeling, human perception and cognition, basic and advanced techniques, interaction, formal models, real time systems, and frameworks for integrated analysis and visualization. Examples used come from numerous areas including the biomedical literature and security.

91.543 Artificial Intelligence Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8167
Status Active

Search and games, knowledge representation paradigms, natural language understanding, planning, perception. Use of the LISP language for one or more programming projects.

91.544 Data Mining Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8168
Status Active

This introductory data mining course will give an overview of the models and algorithms used in data mining, including association rules, classification, clustering, etc. The course will teach the theory of these algorithms and students will learn how and why the algorithms work through computer labs.

Pre/Co-Requisites: Pre-Req: 91.543 Artificial Intelligence, or 91.573 Database I.

91.545 Machine Learning Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8169
Status Active

This introductory course gives an overview of machine learning techniques used in data mining and pattern recognition applications. Topics include: foundations of machine learning, including statistical and structural methods; feature discovery and selection; parametric and non-parametric classification; supervised and unsupervised learning; use of contextual evidence; clustering, recognition with strings; small sample-size problems and applications to large datasets.

Pre/Co-Requisites: Pre-Reqs: 91.102 Computing II, 92.322 Discrete Structures and 92.386 Probability & Statistics I.

91.546 Computer Graphics I Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8170
Status Active

Introduction to the hardware, software and mathematics of 2- and 3-dimensional interactive computer graphics systems, including standards, modeling, transformations, hidden-surface removal, shading, and realism.

91.547 Computer Graphics II Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8171
Status Active

Lighting models, photo-realism, animation, constructive solid geometry, and distributed graphics.

91.548 Robot Design Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8172
Status Active

A broad interpretation of robotics to mean systems that interact with people, each other, and the world around them, using sensors, actuators, communications, and a control program. Project- and lab-based course that involves electronics, embedded coding, mechanical design, and research.

91.550 Topics Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8174
Status Active

Topics of mutual interest to the instructor and student(s).

91.553 Parallel Processing Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8177
Status Active

A survey of parallel computer architectures, parallel programming languages, and parallel algorithms, with emphasis on solving practical problems with parallel computers. A final project, typically a substantial parallel program, is required. Usually offered during the Spring semester.

91.561 Computer & Network Security I Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8183
Status Active

Basic concepts and techniques of computer network security; data encryption algorithms; public-key cryptography and key management; data authentication; network security protocols in practice; wireless network security; network perimeter security; the art of anti malicious software; the art of intrusion detection. Students will implement encryption and authentication algorithms as network applications.

Pre/Co-Requisites: Pre-Reqs: 92.321 Discrete Structures I , 91.404 Analysis of Algorithms and 91.413 Data Communications I.

91.562 Computer Security II Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8184
Status Active

Applied computer security topics such as a computer and network forensics, virtual private networks, denial of service, viruses and worms, intrusion detection systems, smart cards, biometrics, programming language security, web security and privacy, e-commerce; case studies of deployed systems; policy and legal considerations.

91.563 Data Communications I Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8185
Status Active

Resource sharing; computer traffic characterizations; multiplexing; network structure; packet switching and other switching techniques; design and optimization; protocols; routing and flow control; simulation and measurement; communications processors.

91.564 Data Communications II Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8186
Status Active

Continuation of 91.563

Pre/Co-Requisites: Pre-Req: 91.563 Data Communications I.

91.568 Seminar in Human-Computer Interaction Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8189
Status Active

The two main purposes of this seminar course are to involve students in current human-computer interaction (HCI) research and to learn to critique others' HCI research. Each offering of the seminar will center on a theme of applying HCI techniques to a particular type of interaction such as human interfaces for robots, pervasive computing, or social media. Students will be expected to read and critique a number of papers from the current literature in the designated topic area. Further, class members will form a research team (led by the course instructor) to perform original research in the topic area. Class members will co-author a paper based on their research results with the goal of submitting it to a conference. By the end of the course, students will be able to describe the state-of-the-art in the course topic, recognize examples of good and poor research techniques, document research to high academic standards, and become productive members of HCI research teams.

91.570 Topics Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8190
Status Active

Topics of mutual interest to the instructor and student(s).

Pre/Co-Requisites: Pre-Req: 91.555 Comp Networks or 91.563 Data Communication I.

91.573 Data Base I Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8192
Status Active

Study of various database models including hierarchical, network, relational, entity-relationship, and object-oriented models. This course also covers data design, integrity, security, concurrency, recovery, query processing, and distribution.

91.574 Data Base II Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8193
Status Active

Continuation of Data Base I. Various issues in the implementation of database systems will be covered.

Pre/Co-Requisites: Pre-Req: 91.573 Data Base I.

91.580 Topics in Computer Science Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8194
Status Active

Topics of mutual interest to the instructor and student(s).

91.592 Special Topics: Computer Science Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8203
Status Active

91.593 Cooperative Education Credits: 0-1

Course Details
Min Credits 0
Max Credits 1
Course ID 8204
Status Active

91.604 Network Optimization Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 35779
Status Active

This course covers advanced topics in network optimization on continuous and discrete models, including the max-flow problem, the min-cost flow problem, simplex methods for min-cost flow, dual ascent methods for min-cost flow, auction algorithms for min-cost flow, nonlinear network optimization, convex separable network problems, and network problems with integer constraints.

Pre/Co-Requisites: Pre-Req: 91.503 Algorithms.

91.613 Advanced Topics in Information Retrieval and Mining Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 34993
Status Active

This is a proposed new 600-level course. The topics are advanced topics in Information Retrieval and Mining, including (but not limited to) Search and Information Retrieval, Visual Text Mining, Document Retrieval and Analysis, Non-textual Retrieval (including Image-, Sound, Video-Retrieval). The course's format is a seminar: (advanced, doctoral) students will be reading and presenting the current state-of-the-art literature. Course requirements include weekly bibliography reports (at least 2 new entries each week) class presentations, two term papers, and a term project.

Pre/Co-Requisites: Pre-Req: 91.514 Internet & Web Systems II; and Instructor permission.

91.640 Advanced Research Topics in Data Visualization Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 34857
Status Active

This course will cover modern information visualization research. Student will read and summarize current research and published papers. If a student already has a thesis topic or is already doing research, the student will participate in the development of a proposal for exteral funding related to their thesis topic or research. If a student does not have a thesis topic, the student will develolp their thesis proposal.

Pre/Co-Requisites: Pre-Req: 91.541 Sci Data Visualization or 91.546 Comp Graphics I or 91.527 Computer Human Interaction; or Instructor permission.

91.641 Advanced Topics in Visualization Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 35415
Status Active

This course covers advanced topics in data visualization. Coverage will be topical and may include advanced graph & text visualization, modern coordinated visualizations, collaborative visualization knowledge visualizations, security visualization, web-based visualization, and high-performance visualization. Theory will also be covered.

Pre/Co-Requisites: Pre-Req: 91.541 Data Visualization.

91.644 Topics in Data Mining Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 37056
Status Active

This course continues with 91.421/91.544 Data Mining and explores the state of the art research advances in mining large amount of data especially algorithms in association classification, clustering, and applications such as web mining and spatio-temporal data mining.

Pre/Co-Requisites: Pre-req: 91.421 Data Mining or 91.544 Data Mining

91.650 Advanced Research Topics in Wireless Networks Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 34770
Status Active

This course will cover state-of-art wireless networking research topics, including communications, management, security, sensors, and mobile applications. Students will read and summarize current research and published papers, and do experimental projects.This course allows subtitle (topics), and students can take this course multiple times with different subtitle (topics). The subtitle (topic) of this course is to be determined when the course is offered.

Pre/Co-Requisites: Pre-Req: 91.563 Data Communications I.

91.661 Advanced Topics in Network Security Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 34625
Status Active

This is a topic course, with a subtitle to be determined by the instructor. it covers advanced topics in network security of mutual interests to the faculty and students.

Pre/Co-Requisites: Pre-Req: 91.561 Computer & Network Security I.

91.673 Advanced Database Systems Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 35041
Status Active

This course covers advanced topics in database management systems, including query processing and optimization, indexing, transaction management, data warehousing, data mining, etc. It also covers spartio-temporal databases, search engines, stream and sensor databases, and open problems for research.

Pre/Co-Requisites: Pre-Req: 91.573 Data Base I.

91.691 International Finance Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8211
Status Active

91.701 Computer Science Research Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8212
Status Active

91.702 Computer Science Research Credits: 6

Course Details
Min Credits 6
Max Credits 6
Course ID 8213
Status Active

91.703 Computer Science Research Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8214
Status Active

91.706 Directed Research Credits: 6

Course Details
Min Credits 6
Max Credits 6
Course ID 8217
Status Active

91.710 Approximation Algorithms Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 36940
Status Active

This course covers advanced topics in approximation algorithms for NP-hard problems, including combinatorial algorithms and LP-based algorithms for set cover, k-cut, k-center, feedback vertex set, shortest superstring, knapsack, bin packing, maximum satisfiability, scheduling, Steiner tree, Steiner Forest, Steiner network, facility location, k-median, semidefinite programming. It also covers counting problems, shortest vector, hardness of approximation, and open problems for research.

Pre/Co-Requisites: Pre-Req: 91.503 Algorithms.

91.711 Combinatorial Optimization Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 36941
Status Active

This covers advanced topics in computational combinatorial optimization. Topics will be drawn from practical applications in various areas, including wireless sensor networks, different types of complex networks, online social networks, bioinformatics, and computational medicine.

Pre/Co-Requisites: Pre-Req: 91.503 Algorithms.

91.741 Thesis Review Credits: 1

Course Details
Min Credits 1
Max Credits 1
Course ID 35269
Status Active

91.743 Master's Thesis - Computer Science Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8223
Status Active

91.746 Master's Thesis - Computer Science Credits: 6

Course Details
Min Credits 6
Max Credits 6
Course ID 8226
Status Active

91.749 Master's Thesis - Computer Science Credits: 9

Course Details
Min Credits 9
Max Credits 9
Course ID 8227
Status Active

91.751 Doctoral Thesis Research Credits: 1-3

Course Details
Min Credits 1
Max Credits 3
Course ID 8228
Status Active

91.753 Doctoral Dissertation/Computer Science Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 8229
Status Active

91.756 Doctoral Dissertation/Computer Science Credits: 6

Course Details
Min Credits 6
Max Credits 6
Course ID 8231
Status Active

91.757 Doctoral Thesis Research Credits: 12

Course Details
Min Credits 12
Max Credits 12
Course ID 8232
Status Active

91.759 Doctoral Dissertation/Computer Science Credits: 9

Course Details
Min Credits 9
Max Credits 9
Course ID 8233
Status Active

91.769 Continued Graduate Research Credits: 9

Course Details
Min Credits 9
Max Credits 9
Course ID 8236
Status Active

94.511 Network and Systems Administration Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 35873
Status Active

This course introduces the concepts and techniques of systems and network administration. The course covers topics in a wide range from host management, network management, host and network security to automating system administration. In this course learners will be installing and configuring various popular network based services in a Linux environment.

94.514 Systems Security and Auditing Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 37843
Status Active

This course examines the strategies for deploying and auditing secure systems. IT auditors primarily study computer systems and networks form the point of vies of examining the effectiveness of their technical and procedural controls to minimize risks. Risk analysis and the implementation of corresponding best practice control objectives will be studied. The material will include methodologies that help auditors to: Discover what's really going on at a point in time., Find out about potential problems, before it's too late to fix them., Evaluate business situations objectively., Make informed, if difficult decisions., Implement corrective actions, changes and improvements where needed.

Pre/Co-Requisites: Students must already have completed a bachelor's degree in a related discipline to enroll in this course and in a graduate career.

94.517 Operating Systems Foundations Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 35776
Status Active

This course investigates the organization and deployment of contemporary operating systems. The process model is examined both generically and in the context of the current Linux/Unix and Windows implemantations. Process attributes such as address spaces, threads, channels and handles, access rights, scheduling behaviour and states and state transitions will be studied. Memory management, deadlock management and the file system development are also evaluated. A subsystem of system configuration options will be considered during the course in order to highlight the functional deployment of the core OS issues discussed. Pre-req: BS in IT or equivalent. Cannot be used toward MS or PhD in Computer Science.

94.518 Large Scale application Deployment Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 35874
Status Active

This course will develop a systematic framework for the life cycle management of large scale applications. Beginning with requirements assessments, and impact analysis, and continuing through regulatory compliance, lifetime maintenance, scalability concerns, and end-of-life evolution, the material in this course will characterize the stages and transitions of large scale applications. Deployment and management tools will be examined in the context of live applications, with an emphasis on convergent analysis and configuration. Several case studies will be considered, including operating systems, database applications, mailing systems and collaboration systems.

94.519 Virtual Systems Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 35875
Status Active

This course will investigate the current state of virtualization in computing systems. Virtualization at both the hardware and software levels will be examined, with emphasis on the hypervisor configurations of systems such as Vmware, Zen and Hyper-V. The features and limitations of virtual environments will be considered, along with several case studies used to demonstrate the configuration and management of such systems. Para-virtualized software components will be analyzed and their pros and cons discussed. Processor and peripheral support for virtualization will also be examined, with a focus on emerging hardware features and the future of virtualization.

Pre/Co-Requisites: Pre-Req: 94.517 Operating Systems Foundation.

94.531 Project Management Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 37828
Status Active

This course explores the application of knowledge, skills, tools, and techniques that project managers use when managing information technology projects as well as the current IT factors that affect IT project management decision making. Special emphasis will be placed on learning the best practices currently used by organizations and practitioners to ensure the best chance for project success by learning and applying the concepts of managing scope, risk, budget, time, expectations, quality, people, communications, procurement, and externally provided services. Students will be expected to perform research in the above areas as well as using tools such as Microsoft Project to solve project management related problems. Special attention will also be placed on the issues affecting project managers today such as PMOs, virtualization, green IT, and out sourcing. Practical examples will be used to demonstrate the concepts and techniques, plus you will receive hands on experience by working on a case study.

94.532 Managing and Mining Large Data Sets Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 37827
Status Active

The amount of data generated by businesses, science, Web, and social networks is growing at a very fast rate. This course will cover the algorithms and database techniques required to extract useful information from this flood of data. Data mining, which is the automatic discovery of interesting patterns and relationships in data, is a central focus of the course. Topics covered in data mining include association discovery, clustering, classification, and anomaly detection. Special emphasis will be given to techniques for data warehousing where extremely large datasets (e.g.,many terabytes) are processed. The course also covers Web mining. Topics covered include analysis of Web pages and links (like Google) and analysis of large social networks (like Facebook).

94.535 Agile and Iterative Project Management Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 38319
Status Active

This course explores the differences between the Traditional Project management and the Agile management approaches, introduces the principles of Agile Development through applications within each major Project Management process: Project Initiation, Project Planning, Project Execution, and Project Closing. The project will be developed in a timely manner, using Agile techniques that encourage frequent adaptation, self-organization, accountability and with a focus towards rapid delivery. upon completion, students will understand how to apply Agile principles and practices, recognize ways to increase team performance through better communication and close involvement of stake holders, and recognize the key success criteria for implementing Agile Projects.

94.541 Information Security, Privacy and Regulatory Compliance Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 37842
Status Active

this course focuses on enterprise-level information security risk management, It audit, and regulatory compliance, and on developing the skills required for creating a new culture of information management compliance (IMC) by incorporating and IMS philosophy into a corporate governance structure. Expert advice and insight reveals the proven methodology that adopts the principles, controls, and discipline upon which many corporate compliance programs are built and explains how to apply this methodology to develop and implement IMC programs that anticipate problems and take advantage of opportunities. You'll learn how to measure information management compliance through the use of auditing and monitoring, following the proper delegation of program roles and components, and creating a culture of information management awareness.

Pre/Co-Requisites: Students must already have completed a bachelor's degree in a related discipline to enroll in this course and in a graduate career.

94.543 Intrusion Detection Systems Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 37841
Status Active

Intrusion Detection Systems is a survey of the hardware and software techniques that are applied to the detection, identification, classification and remediation of compromised information systems. From this introduction to intrusion detection systems, students will develop a solid foundation for understanding IDS and how they function. This course will give students a background in the technology of detection network attacks. It will introduce all the concepts and procedures used for IDS (intrusion Detection Systems) and IPS (intrusion Prevention Systems). Students will have hands-on experience with implementing and configuring software and hardware based IDS in a network infrastructure. This course is designed with a network administrator in mind.

Pre/Co-Requisites: Students must already have completed a bachelor's degree in a related discipline to enroll in this course and in a graduate career.

94.560 Network Infrastructures Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 35876
Status Active

This course provides an introduction to the fundamental concepts in the design and implementation of computer communication networks, their protocols, and applications. Topics to be covered include: an overview of network architectures, applications, network programming interfaces (e.g. sockets) , transport, congestion, routing, and data link protocols, addressing, local area networks, network management, and emerging network technologies. Cannot be used toward MS or D.Sc. in Computer Science.

94.561 Computer Network Security Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 35785
Status Active

This course is aimed to provide students with a solid understanding of key concepts of computer network security and practical solutions to network security threats. Topics to be covered include common network security attacks, basic security models, data encryption algorithms, public-key cryptography and key management, data authentication, network security protocols in practice, wireless network security, network perimeter security and firewall technology, the art of anti-malicious software, and the art of intrusion detection. Pre-Req: BS in IT or Equivalent. Cannot be used toward MS or D.Sc. in Computer Science.

94.562 Digital Forensics Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 35877
Status Active

Identifying, preserving and extracting electronic evidence. Students learn how to examine and recover data from operating systems, core forensic procedures for any operating or file system, understanding technical issues in acquiring computer evidence and how to conduct forensically sound examinations to preserve evidence for admission and use in legal proceedings.

Pre/Co-Requisites: Pre-Reqs: 94.560 Network Infrastructures,and 94.561 Computer Network Security.

94.563 Secure Mobile Networks Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 35878
Status Active

This course covers principles and practices of wireless networks, including cellular networks, wireless LANs, ad hoc mesh networks, and sensor networks. The potential attacks against these wireless networks and the security mechanisms to defend these networks will be discussed. Topics to be covered include cellular network architecture, wide-area mobile services, wireless LANs and MACs, introduction to emerging wireless networks, survey of malicious behaviors in wireless networks, securing wireless WANs and LANs, securing wireless routing, securing mobile applications, wireless intrusion detection and prevention, challenges in securing next-generation wireless networks, and privacy issues in wireless networks.

Pre/Co-Requisites: Pre-Reqs: 94.560 Network Infrastructures,and 94.561 Computer Network Security.

94.565 Cloud Computing Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 37437
Status Active

This course starts with an overview of modern distributed models, exposing the design principles, systems architecture, and innovative applications of parallel, distributed, and cloud computing systems. The course will focus on the creation and maintenance of high-performance, scalable, reliable systems, providing comprehensive coverage of distributed and cloud computing, including: Facilitating management, debugging, migration, and disaster recovery through virtualization. Clustered systems for research or ecommerce applications. Designing systems as web services. Principles of cloud computing using examples from open-source and commercial applications.

Pre/Co-Requisites: Admission to the Graduate MSIT Program or permission of the instructor.

94.566 Advanced Cloud Computing Credits: 3

Course Details
Min Credits 3
Max Credits 3
Course ID 38140
Status Active

This course is a continuation of the 94.565 Cloud Computing course and will cover in further detail such topics as Cloud Based Storage, Virtualization, Service Oriented Architecture (SOA), High Availability, Scaling, and Mobile Devices. The course will also study the role of Open Source cloud software such as Hadoop, OpenStack and others. Similar to the first course where hands-on projects included the use of Cloud Services such as Amazon Web Services (AWS), Google Apps and App Engine, and Windows Azure, this course will continue with those services and add others such as Rackspace and VMware. Current articles and publications in this fast moving field of Cloud Computing will also be followed.

Pre/Co-Requisites: Pre-req: 94.565 Cloud Computing, or Permission of the Instructor.