Education

Dr. Jose Fortes teaching

The following courses are taught by members of the ACIS lab.

Dr. José A. B. Fortes

  • EEL 6935 Software Defined Systems

    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 6871 (formerly EEL 6935) Autonomic Computing

    This course introduces beginning graduate students to key concepts and techniques underlying the design and engineering of autonomic computing and networking (AC) systems. AC systems are IT systems capable of self-management, self-healing, self-tuning, self-configuration and self-protection. Course content includes an introduction to the defining characteristics of AC, why it is necessary, foundational AC principles based on control theory, artificial intelligence and systems concepts. Also covered are case studies and technologies used to implement AC systems. Recent papers will be used to discuss integrated systems and methods for AC. Recent syllabus

  • EEL 6935 Distributed Computing

    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 Computers

    Techniques 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

  • EEL-4930/EEL-5934 Principles of Computer System Design

    Computer 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