Pittsburgh MSIN Core Course Descriptions
The MSIN core emphasizes networks and systems as well as business applications. The networks and systems area covers, at an advanced level, the key technologies underlying information networking: Packet Switching, Embedded Systems and Distributed Systems. The business applications area includes specially designed courses in Economics, Business Management and Information Systems Modeling.
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-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.
18-345: Introduction to Telecommunications Networks
This class introduces the fundamental concepts of telecommunication networks. Underlying engineering principles of telephone networks, computer networks and integrated digital networks are discussed. Topics in the course include: telephone and data networks overview; OSI layers; data link protocol; flow control, congestion control, routing; local area networks (Ethernet, Token Rind and FDDI); transport layer; introduction to high-speed networks; performance evaluation techniques. Prerequisite: (15-113 or 15-123) and 18-240 and 36-217.
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.

|