Computer Science & IT Graduate Courses

Click on any course title below to read its description. Courses offered in the upcoming semester include a schedule, and are indicated by a label to the right of the title.

Visit bu.edu/summer to see the Computer Science & IT courses offered this summer.

In-depth exploration of the C# programming language and Visual Studio .NET for development, debugging, and deployment of applications. Programming in C# encompassing the following topics: Device I/O handling, .NET Framework application development classes such as window forms, splitters, views, controls, dialogs, resources, such as menus, tool bars, bitmaps, and status bars. Custom controls, visual inheritance, SDI, MDI, and extending the Visual Studio .NET interface. File I/O for reading and storing binary and textual information. Data services for manipulating SQL-databases using ADO.NET. Graphics Services (GDI+) for 2D-vector graphics, imaging, and text rendering, including the new features of gradients, anti-aliasing, double buffering techniques, zooming, off-screen image processing and rendering. Communication services: TCP and UDP sockets, broadcast, unicast, and multicast sockets. Utilizing idle time processing, timers, and threading for building responsive GUI applications. Laboratory course. Prereq: MET CS 341 and MET CS 342; or instructor's consent.   [ 4 cr. ]

This course empowers students to reduce the energy use, waste, and other environmental impacts of IT systems while reducing life cycle costs, thereby improving competitive advantage. Students learn how to measure computer power usage, minimize power usage, procure sustainable hardware, design green data centers, recycle computer equipment, configure computers to minimize power, use virtualization to reduce the number of servers, and other green technologies. Students also learn how to make green IT an integral part of organizational culture and planning, to foster long-term sustainable information technology. The course is executed through a combination of lectures, guest lectures, field trips, assignments, labs, case studies, and a term project.   [ 4 cr. ]

This course covers the concepts of object-oriented approach to software design and development using the Java programming language. It includes a detailed discussion of programming concepts starting with the fundamentals of data types, control structures methods, classes, applets, arrays and strings, and proceeding to advanced topics such as inheritance and polymorphism, interfaces, creating user interfaces, exceptions, and streams. Upon completion of this course the students will be able to apply software engineering criteria to design and implement Java applications that are secure, robust, and scalable. Prereq: MET CS 200; Not recommended for students without a programming background. Or Instructor's Consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
A1 IND FLR 267 M 6:00 pm – 9:00 pm
E1 IND FLR 267 M 6:00 pm – 9:00 pm
O1 IND ARR

This course covers the concepts of the object-oriented approach to software design and development using the Python programming language. It includes a detailed discussion of programming concepts starting with the fundamentals of data types, control structures methods, classes, arrays and strings, and proceeding to advanced topics such as inheritance and polymorphism, creating user interfaces, exceptions and streams. Upon completion of this course students will be capable of applying software engineering principles to design and implement Python applications that can be used in conjunction with analytics and big data. Prerequisite: MET CS 200 Fundamentals of Information Technology; Not recommended for students without a programming background. Or instructor's Consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
C1 IND KCB 102 W 6:00 pm – 9:00 pm
O1 IND ARR

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 first part of this course lays down the mathematical foundation for the study of Probability Theory and Statistics. Combinatorial mathematics, functions, linear systems of equations, differentiation and integration fundamentals are covered. The second part of the course concentrates on the study of discrete and continuous distributions, linear regression and correlation.  [ 4 cr. ]

Overview of data communication and computer networks, including network hardware and software, as well as reference models, example networks, data communication services and network standardization. The OSI and the Internet (TCP/IP) network models are discussed. The course covers each network layer in details, starting from the Physical layer to towards the Application layer, and includes an overview of network security topics. Other topics covered include encoding digital and analog signals, transmission media, protocols. circuit, packet, message, switching techniques, internetworking devices, topologies. LANs/WANs, Ethernet, IP, TCP, UDP, and Web applications. Labs on network analysis. 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 MCS B33 T 6:00 pm – 9:00 pm

The goal of this course is to provide students with the mathematical and practical background required in the field of data analytics. Starting with an introduction to probability and statistics, the R tool is introduced for statistical computing and graphics. Different types of data are investigated along with data summarization techniques and plotting. Data populations using discrete, continuous, and multivariate distributions are explored. Errors during measurements and computations are analyzed in the course. Confidence intervals and hypothesis testing topics are also examined. The concepts covered in the course are demonstrated using R. Laboratory Course. Prereq: MET CS 546 or equivalent knowledge, or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
O1 IND ARR

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 FLR 109 M 6:00 pm – 9:00 pm
E1 IND FLR 109 M 6:00 pm – 9:00 pm
O1 IND ARR
O2 IND ARR
BHA IND W 6:00 pm – 9:00 pm

This course provides an overview of the statistical tools most commonly used to process, analyze, and visualize data. Topics include simple linear regression, multiple regression, logistic regression, analysis of variance, and survival analysis. These topics are explored using the statistical package R, with a focus on understanding how to use and interpret output from this software as well as how to visualize results. In each topic area, the methodology, including underlying assumptions and the mechanics of how it all works along with appropriate interpretation of the results, are discussed. Concepts are presented in context of real world examples. Recommended Prerequisite: MET CS 544 or equivalent knowledge, or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
B1 IND KCB 104 T 6:00 pm – 9:00 pm

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. ]

In-depth discussion of object oriented programming with C++ for mathematical finance. Topics include: built-in-types, control structure, classes, constructors, destructors, function overloading, operator functions, friend functions, inheritance, polymorphism with dynamic binding. Case study: finite differences solutions for the basic models of financial derivatives; design and development of modular, scalable, maintainable software for modeling financial derivatives. Laboratory course.   [ 4 cr. ]

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

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 MCS B33 M 6:00 pm – 9:00 pm

The course introduces the technical and business fundamentals of enterprise systems, enterprise system architecture, the design of enterprise systems, and the complex process of implementing enterprise systems. This course offers methodologies and hands-on techniques for a successful implementation of enterprise systems in organizations. In the first part of this course, participants will configure an SAP ERP system to support the main business processes for a fictitious company. In the second part of the course, students will review and discuss literature pertinent to the implementation and management of enterprise systems. This course enables students identify both high-level technical implementation requirements, and organizational/employee resistors to information systems implementation. Through a variety of technological and Human Resources/Organizational Development technologies, we provide a comprehensive understanding of the technical and behavioral do's and don'ts of Managing Enterprise System implementation.  [ 4 cr. ]

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. ]

Section Type Instructor Location Days Times
C1 IND FLR 265 W 6:00 pm – 9:00 pm
E1 IND FLR 265 W 6:00 pm – 9:00 pm
O1 IND ARR

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
D1 IND MCS B33 R 6:00 pm – 9:00 pm
BHA IND M 6:00 pm – 9:00 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
B1 IND MCS B21 T 6:00 pm – 9:00 pm

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. ]

Section Type Instructor Location Days Times
O1 IND ARR

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
A1 IND FLR ARR M 6:00 pm – 9:00 pm
E1 IND FLR ARR M 6:00 pm – 9:00 pm

Prereq: consent of the instructor.  [ 4 cr. ]

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. ]

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 FLR 267 T 6:00 pm – 9:00 pm
E1 IND FLR 267 T 6:00 pm – 9:00 pm
O1 IND ARR

The Server-Side Web Development course concentrates primarily on building web applications using PHP/MySQL and Node.js/MongoDB. The course is divided into various modules covering in depth the following topics: PHP, MySQL, Object oriented PHP, PHP MVC, Secure Web applications, Node.js and MongoDB. 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 web application development on the server-side. Prerequisite: MET CS 601. Or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
O1 IND ARR

Provides an introduction to human-computer interface design and evaluation, with an emphasis on graphical user interfaces for software products. Covers design principles and theory, web usability, and selected basic research in the areas of human factors and human cognition, hands-on application of learned principles using VB.NET. Laboratory course.   [ 4 cr. ]

This course presents the foundations of data communications and takes a bottom-up approach to computer networks. The course concludes with an overview of basic network security and management concepts. Prereq: MET CS 200, or instructor's consent. This course may not be taken in conjunction with MET CS 425 (undergraduate) or MET CS 535. Only one of these courses can be counted towards degree requirements.  [ 4 cr. ]

Section Type Instructor Location Days Times
B1 IND FLR 109 T 6:00 pm – 9:00 pm
E1 IND FLR 109 T 6:00 pm – 9:00 pm
O1 IND ARR
O2 IND ARR

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 FLR 264 R 6:00 pm – 9:00 pm
E1 IND FLR 264 R 6:00 pm – 9:00 pm
O1 IND ARR

Many of today's software systems are developed by geographically distributed teams. The course examines software engineering in this context, from the project and program management perspective. The term project consists of in-process submissions that are thoroughly reviewed, including among peers, together with a working system prototype. No programming background is required. Prereq: MET CS 520 or MET CS 521, and MET CS 682. Or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
C1 IND FLR 264 W 6:00 pm – 9:00 pm
E1 IND FLR 264 W 6:00 pm – 9:00 pm

This course provides students with a comprehensive overview of the principles, processes, and practices of agile software development. Students learn techniques for initiating, planning and executing on software development projects using agile methodologies. Students will obtain practical knowledge of agile development frameworks and be able to distinguish between agile and traditional project management methodologies. Students will learn how to apply agile tools and techniques in the software development lifecycle from project ideation to deployment, including establishing an agile team environment, roles and responsibilities, communication and reporting methods, and embracing change. We also leverage the guidelines outlined by the Project Management Institute for agile project development as a framework in this course.   [ 4 cr. ]

Section Type Instructor Location Days Times
O1 IND ARR

This course presents the concepts and fundamental design principles of computer networks and Internet that have contributed to the modern networks technologies. It will also present an overview of new trends in networks and Internet/Intranet with design of real campus networks. Topics include design principles for network topology and optimization of network elements. Design of network architecture is also covered, including the fundamentals of Internet applications (HTTP, FTP, DNS), TCP and UDP protocols and implementations, congestion control and traffic engineering, multimedia networking, and security in computer networks. Prereq: MET CS 231 or MET CS 232 and either MET CS 625 or MET CS 535; or instructor's consent.   [ 4 cr. ]

This course provides a comprehensive introduction to building state-of-the-art Web sites, Web applications, Web services, and Web-connected devices with Microsoft technologies, with an emphasis on server-side technologies, cross-platform (Windows, OS X, Linux) methodologies, and how they interplay with today's client-side script. Server-side technologies covered include the C# programming language, the ASP.NET system for developing web sites and web apps, REST-based and SOAP-based web services, ADO.NET and LINQ for data access, Model View Controller (MVC) and Model- View-ViewModel (MVVM) architectures and frameworks like Windows Communication Framework (WCF). This class requires some programming experience in either Java, C#, or C++. Programming will be based on Microsoft Visual Studio or Microsoft Code, available through BU's MSDNAA. A copy of the software will be provided to students. Prereq: MET CS 232, or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
C1 IND MCS B33 W 6:00 pm – 9:00 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.   [ 4 cr. ]

Section Type Instructor Location Days Times
C1 IND CGS 515 W 6:00 pm – 9:00 pm

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
D1 IND KCB 104 R 6:00 pm – 9:00 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. ]

Section Type Instructor Location Days Times
D1 IND PSY B53 R 6:00 pm – 9:00 pm

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. ]

Students learn the latest relational and object-relational tools and techniques for persistent data and object modeling and management. Students gain extensive hands- on experience using Oracle or Microsoft SQL Server as they learn the Structured Query Language (SQL) and design and implement databases. Students design and implement a database system as a term project. Restrictions: Only for MS CIS. This course may not be taken in conjunction with MET CS 469 (undergraduate) or MET CS 579. Only one of these courses can be counted towards degree requirements.  [ 4 cr. ]

Section Type Instructor Location Days Times
C1 IND FLR 109 W 6:00 pm – 9:00 pm
E1 IND FLR 109 W 6:00 pm – 9:00 pm
O1 IND ARR
O2 IND ARR
BCL IND U 8:00 am – 3:30 pm

Teaches students how to develop complex applications based on the UNIX/POSIX standard. Topics include UNIX standardization and implementation, shell programming, system calls, library function, process control and relationships, signals, file and terminal input/output, and interprocess communication. Laboratory course. Prereq: MET CS 575; or instructor's consent.  [ 4 cr. ]

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
A1 IND EPC 204 M 6:00 pm – 9:00 pm

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
A1 IND FLR ARR M 6:00 pm – 9:00 pm
E1 IND FLR ARR M 6:00 pm – 9:00 pm
O1 IND ARR

Object-oriented methods of information systems analysis and design for organizations with data- processing needs. System feasibility; requirements analysis; database utilization; Unified Modeling Language; software system architecture, design, and implementation, management; project control; and systems-level testing.   [ 4 cr. ]

Section Type Instructor Location Days Times
D1 IND FLR 266 R 6:00 pm – 9:00 pm
E1 IND FLR 266 R 6:00 pm – 9:00 pm
O1 IND ARR
O2 IND ARR
BCL IND U 8:00 am – 3:30 pm

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 instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
B1 IND CAS B27 T 6:00 pm – 9:00 pm

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 FLR ARR R 6:00 pm – 9:00 pm
E1 IND FLR ARR R 6:00 pm – 9:00 pm
O1 IND ARR

. 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. ]

The Web Analytics and Mining course covers the areas of web analytics, text mining, web mining, and practical application domains. The web analytics part of the course studies the metrics of web sites, their content, user behavior, and reporting. Google analytics tool is used for collection of web site data and doing the analysis. The text mining module covers the analysis of text including content extraction, string matching, clustering, classification, and recommendation systems. The web mining module studies how web crawlers process and index the content of web sites, how search works, and how results are ranked. Application areas mining the social web and game metrics will be extensively investigated. Laboratory Course. Prerequisites: MET CS 544, or MET CS 555 or equivalent knowledge, or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
C1 IND SHA 111 W 6:00 pm – 9:00 pm
O1 IND ARR

This course surveys state-of-the art technologies in DW and Big Data. It describes logical, physical and semantical 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
B1 IND SHA 111 T 6:00 pm – 9:00 pm

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
C1 IND FLR ARR W 6:00 pm – 9:00 pm
E1 IND FLR ARR W 6:00 pm – 9:00 pm

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

Section Type Instructor Location Days Times
E1 IND FLR 109 S 9:00 am – 12:00 pm
O1 IND ARR

Overview of mobile forensics investigation techniques and tools. Topics include mobile forensics procedures and principles, related legal issues, mobile platform internals, bypassing passcode, rooting or jailbreaking process, logical and physical acquisition, data recovery and analysis, and reporting. Provides in-depth coverage of both iOS and Android platforms. Laboratory and hands-on exercises using current tools are provided and required.  [ 4 cr. ]

The course provides an in-depth presentation of security issues in computer systems, networks, and applications. Formal security models are presented and illustrated on operating system security aspects, more specifically memory protection, access control and authentication, file system security, backup and recovery management, intrusion and virus protection mechanisms. Application level security focuses on language level security and various security policies; conventional and public keys encryption, authentication, message digest and digital signatures. Internet and intranet topics include security in IP, routers, proxy servers, and firewalls, application- level gateways, Web servers, file and mail servers. Discussion of remote access issues, such as dial-up servers, modems, VPN gateways and clients. Prereq: MET CS 625; or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
A1 IND FLR ARR M 6:00 pm – 9:00 pm
E1 IND FLR ARR M 6:00 pm – 9:00 pm
BHA IND T 6:00 pm – 9:00 pm

Data mining and investigation is a key goal behind any data warehouse effort. The course provides an introduction to concepts behind data mining, text mining, and web mining. Algorithms will be tested on data sets using the Weka Data mining software and Microsoft SQL Server 2005 (Business Intelligence Development Studio). Prereq: MS CS Prerequisites: MET CS 579; or instructor's consent. MS CIS Prerequisites: MET CS 669 and MET CS 546; or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
D1 IND FLR 267 R 6:00 pm – 9:00 pm
E1 IND FLR 267 R 6:00 pm – 9:00 pm
O1 IND ARR

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, jQuery UI & Mobile, and AngularJS. 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. (MET CS 520 or MET CS 521) and MET CS 601. Or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
A1 IND FLR 264 M 6:00 pm – 9:00 pm
E1 IND FLR 264 M 6:00 pm – 9:00 pm

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. ]

Section Type Instructor Location Days Times
E1 IND FLR 266 S 1:00 pm – 4:00 pm

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. ]

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

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

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

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
D1 IND HAR 228 R 6:00 pm – 9:00 pm

Theory and practice of quality assurance and testing for each step of the software development cycle. Verification vs. validation. Test case design techniques, test coverage criteria, and tools for static and dynamic analysis. Standards. Test-driven development. QA for maintenance and legacy applications. Experimental approaches. Prereq: MET CS 673; or instructor's consent.  [ 4 cr. ]

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. Prereq: MET CS 535; or instructor's consent.   [ 4 cr. ]

Section Type Instructor Location Days Times
A1 IND MCS B25 M 6:00 pm – 9:00 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. Prereq: MET CS 579 or MET CS 669; or instructor's consent.   [ 4 cr. ]

Section Type Instructor Location Days Times
C1 IND FLR 267 W 6:00 pm – 9:00 pm
E1 IND FLR 267 W 6:00 pm – 9:00 pm

This course prepares students to perform the 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. 4 credits.   [ 4 cr. ]

This course presents the details of information processing in hospitals, hospital information systems (HIS), and more broadly health information systems. It presents the architecture, design, and user requirements of information systems in health care environment. It focuses on Information Technology aspects of Health Informatics specifically addressing the design, development, operation, and management of HIS. The first part of this course covers the introductory concepts including information processing needs, and information management in health care environment. The second part covers detailed description of HIS including hospital process modeling, architecture, quality assessment, and applicable tools. The final part of the course covers management of HIS and related issues and extension of this topic to other health care organizations. The course will have a term project providing students a hands-on experience in design and research of HIS. Prereq: MET CS 580; or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
C1 IND MCS B23 W 6:00 pm – 9:00 pm
E1 IND MCS B23 W 6:00 pm – 9:00 pm

This course describes and compares contemporary and emerging information technology and its management. Students learn how to identify information technologies of strategic value to their organizations and how to manage their implementation. The course highlights the application of I.T. to business needs. CS 782 is at the advanced Masters (700) level, and it assumes that students understand IT systems at the level of CS 682 Systems Analysis and Design. Students who haven't completed CS 682 should contact their instructor to determine if they are adequately prepared. Prereq: MET CS 682, or instructor's consent.   [ 4 cr. ]

Section Type Instructor Location Days Times
D1 IND FLR 109 R 6:00 pm – 9:00 pm
E1 IND FLR 109 R 6:00 pm – 9:00 pm
O1 IND ARR
O2 IND ARR
BCL IND S 8:30 am – 4:00 pm

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
B1 IND FLR 264 T 6:00 pm – 9:00 pm
E1 IND FLR 264 T 6:00 pm – 9:00 pm
O1 IND ARR

The course covers the main concepts and principles of cryptography with the main emphasis put on public key cryptography. It begins with the review of integers and a thorough coverage of the fundamentals of finite group theory followed by the RSA and ElGamal ciphers. Primitive roots in cyclic groups and the discrete log problem are discussed. Baby-step Giant-step and the Index Calculus probabilistic algorithms to compute discrete logs in cyclic groups are presented. Naor -- Reingold and Blum -- Blum -- Shub Random Number Generators as well as Fermat, Euler and Miller-Rabin primality tests are thoroughly covered. Pollard's Rho, Pollard's and Quadratic Sieve factorization algorithms are presented. The course ends with the coverage of some oblivious transfer protocols and zero-knowledge proofs. There are numerous programming assignments in the course. Prereq: MET CS 248 and MET CS 566; or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
B1 IND CGS 515 T 6:00 pm – 9:00 pm

Prereq: Consent of advisor. Requires prior approval of student-initiated proposal. Independent study on special projects under faculty guidance.   [ Var cr. ]

Prereq: consent of the instructor. Requires prior approval of student-initiated proposal. Independent study on special projects under faculty guidance. variable cr  [ Var 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. ]

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

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

  [ 4 cr. ]