Courses

Course descriptions are provided below for the Pittsburgh MSIN Core Courses and the Computer Forensics and Incident Response Track.

Core Courses 

The following are the core courses all students are required to take as part of the curriculum of the MSIN program.

Networking and Systems Requirement

18-842 AND (18-342 or 15-410) AND [(18-756 or 14-740) and one course in software sys/networking or signal processing/communications) or (18-345 and two courses in software sys/networking or signal processing/communications)]

18-342: Fundamentals of Embedded Systems

This practical, hands-on course introduces students to the basic building-blocks and the underlying scientific principles of embedded systems. The course covers both the hardware and software aspects of embedded procesor architectures, along with operating system fundamentals, such as virtual memory, concurrency, task scheduling and synchronization. Through a series of laboratory projects involving state-of-the-art processors, students will learn to understand implementation details and to write assembly-language and C programs that implement core embedded OS functionality, and that control/debug features such as timers, interrupts, serial communications, flash memory, device drivers and other components used in typical embedded applications. Relevant topics, such as optimization, profiling, digital signal processing, feedback control, real-time operating systems and embedded middleware, will also be discussed. Prerequisites: 18-240.

15-441 Computer Networks

This is an introductory course in computer networks. The emphasis will be on the basic performance and engineering tradeoffs in the design and implementation of computer networks. To make the issues more concrete, the class includes several multi-week projects requiring significant design and implementation. The goal is for students to learn not only what computer networks are and how they work today, but also why they are designed the way they are and how they are likely to evolve in the future. We will draw examples primarily from the Internet. Topics to be covered include: congestion/flow/error control, routing, addressing, naming, multi-casting, switching, internetworking, and network security. Evaluation is based on homework assignments, the projects, and two mid-term exams.

14-740: Fundamentals of Telecommunications and Computer Networks

14-740 is a graduate-level, first-course in computer and telecommunication networks. There is no pre-requisite of an undergraduate equivalent, but basic computer, programming and probability theory background is required. The primary objective of this course is for you to learn the fundamental principles underlying computer and telecommunication networks. Using a top-down approach, we will cover topics in the application, transport, network and link layers of the protocol stack. We will also go over advanced topics, including network management, traffic engineering, and router internals. Besides learning about the nuts and bolts, you will gain an understanding as well in engineering tradeoffs made and design principles used in computer and telecommunication networks. Another objective is for you to apply some of this knowledge in the context of systems projects. We will follow an aggressive pace in this course. Note: This class has a limited enrollment.

18-756: Packet Switching and Computer Networks

This class is designed to provide graduate students an understanding of the fundamental concepts in computer networks of the present and the future. In the past, the scarce and expensive resource in communication networks has been the bandwidth of transmission facilities. Accordingly, the techniques used for networking and switching have been chosen to optimize the efficient use of this resource. These techniques have differed according to the type of information carried: circuit switching for voice and packet switching for data. It is expected that elements of circuit and packet switching will be used in the integrated networks. This course focuses on packet switching for computer networks and protocol design. Topics in the course include: computer networks over-view; OSI layers, queueing theory; data link protocol; flow control; congestion control; routing; local area networks; transport layer. The current networks and applications will be introduced through the student seminars in the last weeks of the course. Prerequisite: 18-345.

18-842: Distributed Systems

The primary objective of this class is to learn the fundamental principles underlying distributed systems, and apply some of this knowledge in developing a real system in a course project (such as a networked multimedia system or a groupware system with built-in mechanisms for supporting high availability). Topics include: models of distributed systems, distributed transactions, distributed filesystems, infrastructures for building distributed systems, distributed algorithms, cryptography and distributed security, overview of distributed multimedia applications, systems and networking support for distributed multimedia systems, distributed real-time systems. Prerequisites: (15-410 or 15-412 or 14-342 or 18-342 or 18-348 or 18-349) and (18-345 or 18-756 or 14-845).

15-410: Operating System Design and Implementation

Operating System Design and Implementation is a programming-intensive OS class. The core experience is writing a small Unix-inspired OS kernel, in C with some x86 assembly language, which runs on a PC hardware simulator called Simics (and on actual PC hardware if you wish). Work is done in two-person teams, and "team programming" skills (source control, modularity, documentation) are emphasized. Core concepts include the process model, virtual memory, threads, synchronization, and deadlock. Prerequisites include either 15-213 (Systems Programming in C, Basic Architecture) or 18-347 (Computer Architecture). Students should be able to write and debug C code, should know what a register is, should not be mystified by 2's-complement arithmetic, etc. Prerequisites: 15-213

Management Requirement

45-774, 45-775, & 45-777

14-774: Managerial Economics

This class presents the basic concepts of microeconomics theory with an emphasis on business applications. The approach of microeconomics is to solve an economic problem by modeling it as an optimization problem; the solution to the optimization problems then interpreted in terms of the original economic problem. This approach will be used to answer such problems as input selection, pricing and project selection. The format of the class is to present theory common to a general class of applied problems and then to apply the theory by solving actual problems. The goal of the class is for the students to be capable of applying the basic concepts to problems faced both future classes (e.g. finance, macroeconomics) and future careers.

14-775: Business Management

This class includes management functions such as accounting (reading and understanding financial statements, basic cost analysis and budgeting), finance (project evaluation and capital budgeting), human relations (motivation and organization of work), marketing (distribution and consumer behavior), and operations (production planning and control). The importance of information systems is emphasized across all management functions.

14-777: Information Systems Modeling

This class focuses on the early processes of information systems design. Students gain a deep understanding of the complexity of establishing information requirements in complex applications and learn how to translate these requirements into a global design architecture. Students compare and contrast different methodologies for requirement analysis. Modeling a database architecture as a major step in the design process is emphasized. Throughout the course students conduct several assignments using Object-Oriented design methodologies. At the conclusion of the course students explore several approaches for completing design specifications that satisfy existing information requirements.

Database Requirement

Either 15-415, 45-872, 95-703 or 95-704

15-415: Database Applications

This class covers the fundamental topics for Database Management Systems: Database System Architecture (ANSI/SPARC Architecture; data abstraction; external, conceptual, and internal schemata; data independence; data definition and data manipulation languages), Data models (entity-relationship and relational data models; data structures, integrity constraints, and operations for each data model; relational query languages: SQL, algebra, calculus), Theory of database design (functional dependencies; normal forms; dependency preservation; information loss), Query Optimization (equivalence of expressions, algebraic manipulation; optimization of selections and joins), Storage Strategies (indices, B-trees, hashing), and Transaction Processing (recovery and concurrency control). Advanced topics which are also covered: the object-oriented data model and distributed databases.

45-872: Information Resources Management

This class teaches the successful management of data resources for an organization or an enterprise. In this course, we look at the information systems resource of organizations with a focus on data management. We will explore the fundamentals of database management systems from technological, managerial and organizational perspectives. Topics covered will include data modeling, logical design, data warehousing and database web applications.

95-703: Database Management

This course is designed to cover both the theoretical and practical aspects of database management systems. In order to provide an understanding of the evolution of data management, the traditional file organization is compared with network, hierarchical and relational models of data. The theory and practice of languages and design approaches for the relational model are stressed. Specific topics covered will include data modeling, database design using normalization theory and relational query languages, and issues of database security, privacy and integrity. Students in the course will be expected to design and implement a database application using ORACLE.

95-704: Advanced Database Management

This course will have a technology component and an advanced topics component. With the technology component, the student will learn and use several Oracle products: Designer/2000 for database modeling, PL/SQL for creating program units in SQL to manage certain aspects of database table usage, and Developer/2000 to design forms. The assignment requirements for this component will be the design and implementation of a working database: a set of tables, procedures, and forms.

Within the advanced topics component, we will follow a seminar format to review and discuss readings in topics such as object relational databases, data mining and warehousing, databases and the web, security in databases, and workflow systems. The assignment requirement for this component will be a fairly in-depth research analysis and synthesis paper.

Courses Under the Computer Forensics and Incident Response Track

14-822: Host-Based Forensics

Host-Based Forensics provides a systematic introduction to the field of digital forensics. The course aims to familiarize students with the forensic process and to apply forensic principles with many tools of the trade. Upon completion of this course, a student should feel confident in participating in a digital forensic investigation. This course focuses on the forensic process (planning, acquisition, analysis, reporting) as it relates to host system forensics. Class periods will consist of lecture and exercises. Pre-requisite: 14-761. Spring: 12 units.

14-823: Network Forensics

Network Forensics concentrates on the collection and analysis of evidence left on the network. Upon completion of this course, and its complement 14-822, a student will feel comfortable with the full scope of a digital forensic investigation. Class periods will consist of lecture and exercise. Students will learn about the data types that may have forensic value; and will be introduced to several techniques for capturing data off the network and how each option impacts the data that is available. Students will be further presented with several incident response challenges on live networks and be tasked with determining and proving what happened. They will have to collect various logs, network traffic, create timelines, and draw conclusions. Pre-requisite: 14-761. Fall: 12 units.

14-824: Advanced Host-Based Forensic Analysis

The principles taught in 14-822 stand independent of any specific platform or technology. Rather, the tools are used to illustrate the foundational skills presented in class. This mini allows the student to delve deeper into host-based forensics. While the general focus of this mini will remain constant, the specific content of the course will change based on developments in the field. This course will be comprised of three content areas on Data Carving; Password
Recovery/Cracking; and Small Scale Digital Devices. Students will conduct a course-long project related to one of the three content areas. Pre-requisite: 14-761. Co-requisite: 14-822. Spring: 6 units.

14-825: Advanced Network Analysis

The principles taught in 14-823 stand independent of any specific platform or technology. Rather, the tools are used to illustrate the foundational skills presented in class. This mini allows the student to delve deeper into network forensics. While the general focus of this mini will remain constant, the specific content of the course will change based on developments in the field. This course will be comprised of three content areas on P2P Networks and Communications; Internet Investigation; and Wireless Traffic Interception. Students will conduct a course-long project related to one of the three content areas. Pre-requisite: 14-761. Co-requisite:14-823. Fall: 6 units.

14-826 Event Reconstruction and Correlation

The principles taught in 14-822 or 14-823 stand independent of any specific platform or technology. This mini allows the student to be exposed to advanced forensics topics. While the general focus of this mini will remain constant, the specific content of the course will change based on developments in the field. The first half of this course will tackle Root Kits techniques and detection strategies; the second half of the course will deal with website and e-commerce investigations. Students will conduct a course-long project related to one of the two topic areas. 14-822 or 14-823 are not listed as prerequisites for this course, but it is highly advisable that the students have taken either of them prior to, or concurrently with this class. Pre-requisite: 14-761. Intermittent: 6 units.