Operating Systems
Professor: Prof. Michael Crowley
This course includes building of significant parts of an operating system for a simulated MIPS-style workstation. The projects consists of four phases: thread management, multiprogramming, virtual memory, and distributed systems.
Software Engineering
Professor: Prof. Chris Mattmann
This course gave me a complete treatment of software architecture, its foundation, principles, and elements, including those described above. The class is centered around reading assignments, and homework that will test comprehension and understanding of the course material. A class project will require the student to leverage the architectural techniques learned during the course (e.g., architectural recovery, architectural styles, domain specific software architectures) to, coupled with programming/implementation effort, design and implement a real-world software system.
3D Graphics and Rendering
Professor: Prof. Craig Knoblock
This course includes foundations and techniques in information integration as it applies to the Web, including view integration, wrapper learning, record linkage, and streaming dataflow execution.
Advanced Mobile Devices & Game Consoles
Professor: Prof. Mike Zyda
This course extends the console experience to mobile devices: interacting directly with a game console or creating a separate mobile product. Students form teams, establish their own deliverables, and ship a mobile product to industry executives. The students determine which property they’ll work on, what devices they’ll target, and create their own game engine to drive their ideas to fruition.
Information Integration on Web
Professor: Prof. Craig Knoblock
This course includes foundations and techniques in information integration as it applies to the Web, including view integration, wrapper learning, record linkage, and streaming dataflow execution.
Web Technologies
Professor: Prof. Marco Papa
This course focuses on the phenomenon known as the World Wide Web (WWW or Web). Its focus is to present many of the core technologies that the Web is based upon. These core technologies include:
In addition the course will also cover the following subsidiary topics:
Database Management System
Professor: Prof. Shahriar Shamsian
This course covers the essential concepts, principles, techniques, and mechanisms for the design, analysis, use, and implementation of computerized database systems. Key information management concepts and techniques are examined: information modeling and representation; information interfaces - access, query, and manipulation, implementation structures, and issues of distribution. The database and information management system technology examined in this course represents the state-of-the-art, including traditional approaches as well as recent research developments. By providing an imbalanced view of "theory" and "practice," the course should allow the student to understand, use, and build practical database and information management systems. The course is intended to provide a basic understanding of the issues and problems involved in database systems, a knowledge of currently practical techniques for satisfying the needs of such a system, and an indication of the current research approaches that are likely to provide a basis for tomorrow's solutions
Analysis of Algorithm
Professor: Prof. Shahriar Shamsian
The main focus is on developing an understanding for the major algorithm design techniques. At times, the practical side of algorithm design is also explored with interesting examples of their usage in solving industry problems.

