Courses taught by ACIS Faculty

Dr. José A. B. Fortes

  • EEL 6871 Cloud Computing Systems Management  Large scale computer and software systems are increasingly complex, diverse and outsourced to computational clouds and other large infrastructures. The cooperative management of these systems by either their owners or their providers can only be done effectively and efficiently if programmatic interfaces are exposed for that purpose. This requires computer systems designers to understand a variety of fundamental modeling concepts and management techniques spanning multiple system layers, for both the systems to be designed and the components and services used to build these systems. This course introduces these models and techniques to students, by way of illustrative cases of software-defined systems deployed in industry and academia for a variety of computer, storage and networking applications. Recent syllabus
  • EEL 6761 Cloud Computer Systems and Applications  This course introduces beginning graduate students and undergraduate senior students to key concepts and techniques underlying the design and engineering of distributed computing systems. Technical topics covered in this course include interprocess communication, remote invocation, distributed naming, distributed file systems, security, distributed clocks, process coordination, concurrency control, replication and fault-tolerance. Types of systems discussed in this course include computational clouds, grid computing, storage systems, peer-to-peer networks and Web services. Recent syllabus

Dr. Renato J Figueiredo

  • EEL 6892 Virtual ComputersTechniques for virtualization of networked computer systems. Virtual machines (classic VMs, application binary interface VMs, para-virtualization), virtual distributed file systems (file system proxies, call-forwarding), and virtual networks (tunneling, virtual private networks). Recent syllabus
  • EEL4636/5737 (formerly EEL-4930/EEL-5934) Principles of Computer System DesignComputer systems are at the core of the information technology pervasive in our society. The design of hardware and software in computer systems ranging from personal devices to large-scale distributed, networked computers is an increasingly complex undertaking and requires understanding not only of individual sub-systems, such as the micro-processor, but also the interactions among sub-systems. This class provides a broad introduction to the main principles and abstractions for engineering hardware and software systems, and in-depth studies of their use on computer systems across a variety of designs, be it an operating system, a client/server application, a database server, or a fault-tolerant disk cluster. Recent syllabus