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.

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 or MET CS 300 or Instructor's Consent. Not recommended for students without a programming background.   [ 4 cr. ]

Sum1 2017
Section Type Instructor Location Days Times
BCL IND Kieffer S 8:30 am – 4:00 pm
Fall 2017
Section Type Instructor Location Days Times
A1 IND Donald FLR 109 M 6:00 pm – 8:45 pm
E1 IND Donald FLR 109 M 6:00 pm – 8:45 pm
O1 IND Guardino 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 or MET CS 300 Foundations of Modern Computing or instructor's Consent. Not recommended for students without a programming background.   [ 4 cr. ]

Sum1 2017
Section Type Instructor Location Days Times
SC1 IND Aleksandrov MCS B23 T 6:00 pm – 9:30 pm
SO1 IND Ultrino ARR
Fall 2017
Section Type Instructor Location Days Times
A1 IND Aleksandrov CAS 428 M 6:00 pm – 8:45 pm
C1 IND Lu STH B20 W 6:00 pm – 8:45 pm
O1 IND Ultrino ARR
O2 IND Ultrino ARR

This course covers and relates fundamental components of programs. Students use various data structures to solve computational problems, and implement data structures using a high-level programming language. Algorithms are created, decomposed, and expressed as pseudocode. The running time of various algorithms and their computational complexity are analyzed.  [ 4 cr. ]

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

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

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

Sum1 2017
Section Type Instructor Location Days Times
SC1 IND Day MCS B31 M 6:00 pm – 9:30 pm
Fall 2017
Section Type Instructor Location Days Times
D1 IND Day MCS B33 R 6:00 pm – 8:45 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. ]

Sum1 2017
Section Type Instructor Location Days Times
SC1 IND Liu CAS B25A M 6:00 pm – 9:30 pm
SO1 IND Kalathur ARR
Fall 2017
Section Type Instructor Location Days Times
A1 IND Kalathur COM 217 M 6:00 pm – 8:45 pm
O1 IND Kalathur 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. ]

Sum1 2017
Section Type Instructor Location Days Times
SC1 IND Gorlin FLR 109 M 6:00 pm – 9:30 pm
SEL IND Gorlin FLR 109 M 6:00 pm – 9:30 pm
SO1 IND Temkin ARR
Fall 2017
Section Type Instructor Location Days Times
A1 IND Gorlin FLR 133 M 6:00 pm – 8:45 pm
B1 IND Gorlin FLR 267 T 6:00 pm – 8:45 pm
E1 IND Gorlin FLR 267 T 6:00 pm – 8:45 pm
O1 IND Hicks ARR
O2 IND Staff ARR

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 Zhang CAS 323A T 6:00 pm – 8:45 pm
D1 IND Staff CAS 324 R 6:00 pm – 8:45 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. ]

Sum1 2017
Section Type Instructor Location Days Times
SC1 IND Lee MCS B33 W 6:00 pm – 9:30 pm
Fall 2017
Section Type Instructor Location Days Times
A1 IND Belyaev CAS 203 M 6:00 pm – 8:45 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 Staff FLR 265 W 6:00 pm – 8:45 pm
E1 IND Staff FLR 265 W 6:00 pm – 8:45 pm
O1 IND Staff 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. ]

Sum1 2017
Section Type Instructor Location Days Times
SC1 IND Nourai CAS 208 T 6:00 pm – 9:30 pm
Fall 2017
Section Type Instructor Location Days Times
D1 IND Nourai CAS 428 R 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. ]

Sum1 2017
Section Type Instructor Location Days Times
SC1 IND Russo MCS B23 M 6:00 pm – 9:30 pm
Fall 2017
Section Type Instructor Location Days Times
B1 IND Lee COM 217 T 6:00 pm – 8:45 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 Zhang 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 Levinger SHA 210 M 6:00 pm – 8:45 pm
E1 IND Levinger SHA 210 M 6:00 pm – 8:45 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. ]

Sum1 2017
Section Type Instructor Location Days Times
SC1 IND Sheehan FLR 267 T 6:00 pm – 9:30 pm
SEL IND Sheehan FLR 267 T 6:00 pm – 9:30 pm
SO1 IND Bishop ARR
Fall 2017
Section Type Instructor Location Days Times
A1 IND Sheehan FLR 267 M 6:00 pm – 8:45 pm
E1 IND Sheehan FLR 267 M 6:00 pm – 8:45 pm
O1 IND Bishop 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 Kalathur 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. ]

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 Hadavi MCS B33 T 6:00 pm – 8:45 pm

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

Sum1 2017
Section Type Instructor Location Days Times
SC1 IND Arena HAR 326 T 6:00 pm – 9:30 pm
SEL IND Arena HAR 326 T 6:00 pm – 9:30 pm
SO1 IND Chitkushev ARR
Fall 2017
Section Type Instructor Location Days Times
B1 IND Arena FLR 109 T 6:00 pm – 8:45 pm
E1 IND Arena FLR 109 T 6:00 pm – 8:45 pm
O1 IND Rizinski ARR
O2 IND Mansur 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. ]

Sum1 2017
Section Type Instructor Location Days Times
SC1 IND Kanabar FLR 267 R 6:00 pm – 9:30 pm
SEL IND Kanabar FLR 267 R 6:00 pm – 9:30 pm
Fall 2017
Section Type Instructor Location Days Times
D1 IND Heda FLR 264 R 6:00 pm – 8:45 pm
E1 IND Heda FLR 264 R 6:00 pm – 8:45 pm
O1 IND Kanabar ARR

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
C1 IND Elentukh FLR 264 W 6:00 pm – 8:45 pm
E1 IND Elentukh FLR 264 W 6:00 pm – 8:45 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. ]

Sum1 2017
Section Type Instructor Location Days Times
SEL IND Alt-Simmons FLR 109 S 9:00 am – 12:00 pm
Fall 2017
Section Type Instructor Location Days Times
O1 IND Alt-Simmons ARR
BHA IND Alt-Simmons M 6:00 pm – 8:45 pm

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

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
SC1 IND Konstantopou HAR 220 R 6:00 pm – 9:30 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 Temkin SHA 206 T 6:00 pm – 8:45 pm
BHA IND Staff T 6:00 pm – 8:45 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 Belyaev CAS B06B R 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. ]

Sum1 2017
Section Type Instructor Location Days Times
SO1 IND Braude ARR
Fall 2017
Section Type Instructor Location Days Times
D1 IND Staff CAS 201 R 6:00 pm – 8:45 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. ]

Sum1 2017
Section Type Instructor Location Days Times
BCL IND Parrott U 8:00 am – 3:30 pm
SC1 IND Matthews FLR 109 W 6:00 pm – 9:30 pm
SEL IND Matthews FLR 109 W 6:00 pm – 9:30 pm
SO1 IND Mansur ARR
Fall 2017
Section Type Instructor Location Days Times
C1 IND Maiewski CAS 222 W 6:00 pm – 8:45 pm
D1 IND Staff FLR 266 R 6:00 pm – 8:45 pm
E1 IND Staff FLR 266 R 6:00 pm – 8:45 pm
O1 IND Mansur ARR
O2 IND Farr ARR

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

Sum1 2017
Section Type Instructor Location Days Times
SC1 IND Czik CAS 204A R 6:00 pm – 9:30 pm
Fall 2017
Section Type Instructor Location Days Times
C1 IND Zhang CGS 515 W 6:00 pm – 8:45 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 Wolfe FLR 134 M 6:00 pm – 8:45 pm
E1 IND Wolfe FLR 134 M 6:00 pm – 8:45 pm
O1 IND Wolfe ARR
BCL IND Parrott U 8:00 am – 3:30 pm

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

Sum1 2017
Section Type Instructor Location Days Times
SC1 IND Guadagno FLR 264 R 6:00 pm – 9:30 pm
SEL IND Guadagno FLR 264 R 6:00 pm – 9:30 pm
SO1 IND Polnar ARR
Fall 2017
Section Type Instructor Location Days Times
D1 IND Guadagno FLR 109 R 6:00 pm – 8:45 pm
E1 IND Guadagno FLR 109 R 6:00 pm – 8:45 pm
O1 IND Braude ARR
O2 IND Polnar 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. ]

Section Type Instructor Location Days Times
B1 IND Zhang CAS B27 T 6:00 pm – 8:45 pm
O1 IND Zhang ARR

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

Sum1 2017
Section Type Instructor Location Days Times
BHA IND Wolfe W 6:00 pm – 9:30 pm
SO1 IND Burgoyne ARR
Fall 2017
Section Type Instructor Location Days Times
D1 IND Burgoyne FLR 265 R 6:00 pm – 8:45 pm
E1 IND Burgoyne FLR 265 R 6:00 pm – 8:45 pm
O1 IND Pak 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. ]

Section Type Instructor Location Days Times
D1 IND Ellabidy CAS 227 R 6:00 pm – 8:45 pm

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

Sum1 2017
Section Type Instructor Location Days Times
SC1 IND Vasilkoski CAS 208 R 6:00 pm – 9:30 pm
Fall 2017
Section Type Instructor Location Days Times
C1 IND Vasilkoski STH B22 W 6:00 pm – 8:45 pm
O1 IND Vasilkoski 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 Wolfe MCS B25 T 6:00 pm – 8:45 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
A1 IND Jacobs FLR 265 M 6:00 pm – 8:45 pm
E1 IND Jacobs FLR 265 M 6:00 pm – 8:45 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. 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. ]

Sum1 2017
Section Type Instructor Location Days Times
SEL IND Nourai FLR 109 S 1:00 pm – 4:00 pm
Fall 2017
Section Type Instructor Location Days Times
E1 IND Arena FLR 109 S 9:00 am – 12:00 pm
O1 IND Navarro 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. ]

Section Type Instructor Location Days Times
SO1 IND Zhang ARR

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
B1 IND Jacobs FLR 264 T 6:00 pm – 8:45 pm
E1 IND Jacobs FLR 264 T 6:00 pm – 8:45 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. ]

Sum1 2017
Section Type Instructor Location Days Times
SO1 IND Lee ARR
Fall 2017
Section Type Instructor Location Days Times
D1 IND Lee FLR 267 R 6:00 pm – 8:45 pm
E1 IND Lee FLR 267 R 6:00 pm – 8:45 pm
O1 IND Lee 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, 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
A1 IND Staff FLR 264 M 6:00 pm – 8:45 pm
E1 IND Staff FLR 264 M 6:00 pm – 8:45 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 Khasnabish FLR 109 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. ]

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

Section Type Instructor Location Days Times
D1 IND Konstantopou CAS 222 R 6:00 pm – 8:45 pm

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 Braude CAS 323A R 6:00 pm – 8:45 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. ]

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

Section Type Instructor Location Days Times
C1 IND Day STH 113 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. Prereq: MET CS 579 or MET CS 669; or instructor's consent.   [ 4 cr. ]

Section Type Instructor Location Days Times
C1 IND Polnar FLR 109 W 6:00 pm – 8:45 pm
E1 IND Polnar FLR 109 W 6:00 pm – 8:45 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 D'Amore FLR 267 W 6:00 pm – 8:45 pm
E1 IND D'Amore FLR 267 W 6:00 pm – 8:45 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. ]

Sum1 2017
Section Type Instructor Location Days Times
SC1 IND Arakelian FLR 267 M 6:00 pm – 9:30 pm
SEL IND Arakelian FLR 267 M 6:00 pm – 9:30 pm
SO1 IND Williams ARR
Fall 2017
Section Type Instructor Location Days Times
D1 IND Arakelian CAS 204A R 6:00 pm – 8:45 pm
O1 IND Williams ARR
O2 IND Arakelian ARR
BHA IND Staff W 6:00 pm – 8:45 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. ]

Sum1 2017
Section Type Instructor Location Days Times
SC1 IND Faktorovich MCS B23 W 6:00 pm – 9:30 pm
Fall 2017
Section Type Instructor Location Days Times
B1 IND Nizzari FLR 265 T 6:00 pm – 8:45 pm
E1 IND Nizzari FLR 265 T 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 and MET CS 566; or instructor's consent.  [ 4 cr. ]

Section Type Instructor Location Days Times
A1 IND Temkin CGS 515 M 6:00 pm – 8:45 pm
BHA IND Pascoe M 6:00 pm – 8:45 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. ]