Eric Keller designs and builds secure and reliable networked systems using a cross-layer approach that draws from networking, operating systems, distributed systems, and computer architecture. His research introduces new systems, algorithms, and abstractions to enable a more manageable network and computing infrastructure. This is rooted in the fact that a significant portion of security and reliability issues are often a result of limitations in the management of networked systems. His research has been enabling and capitalizing on a more dynamic and programmable computing and network infrastructure, via such technologies as virtualization, software-defined networking, and the movement toward cloud based services.
CSCA 5063 - Network Systems Foundation
Primary Instructor
-
Spring 2024 / Summer 2024 / Fall 2024
In this course, students will learn the most important principles in network systems. This will center on the layered design of networks, and cover the link layer (Ethernet), network layer (IP), transport layer (TCP, UDP), and application layer (HTTP, gRPC). With those as a foundation, student will learn about network security problems and how some current solutions work at different layers. Same as ECEA 5370.
CSCA 5073 - Network Principles in Practice: Linux Networking
Primary Instructor
-
Spring 2024 / Summer 2024 / Fall 2024
In this course students will learn how networking is designed and used in the Linux operating system. This will be learned in the context of networking principles and the application to real modern uses � building network operating systems (that power network appliances) and using Linux to support connectivity in modern containerized and virtualized applications (such as a Kubernetes network plugin). Same as ECEA 5371.
CSCA 5083 - Network Principles in Practice: Cloud Networking
Primary Instructor
-
Summer 2024 / Fall 2024
In this class, students will learn about the networking abstractions and services for building applications in the cloud, and the technology underlying cloud networking. Students will be able to architect complex applications in the cloud. In understanding how the cloud providers created their networks, students will be in a better position to troubleshoot applications and analyze different possible ways of architecting applications, and even help design the next generation of networking for cloud providers. Same as ECEA 5372.
CSCI 3593 - Computer Organization
Primary Instructor
-
Spring 2024
Studies computer design at the microarchitecture level. Discusses instruction set architecture design, arithmetic and logic unit design, control logic, memory design and caches, simple pipelining, I/O and peripheral devices. Briefly covers aspects of modern computer architecture, such as multicore processors and hardware security. Same as ECEN 3593. Degree credit not granted for this course and ECEN 5590.
CSCI 4253 - Datacenter Scale Computing - Methods, Systems and Techniques
Primary Instructor
-
Fall 2023 / Fall 2024
Covers the primary problem solving strategies, methods and tools needed for data-intensive programs using large collections of computers typically called "warehouse scale" or "data-center scale" computers. Examines methods and algorithms for processing data-intensive applications, methods for deploying and managing large collections of computers in an on-demand infrastructure and issues of large-scale computer system design. Recommended prerequisite: CSCI 4273. Same as CSCI 5253.
CSCI 4593 - Computer Organization
Primary Instructor
-
Spring 2022 / Spring 2023
Studies computer design at the microarchitecture level. Discusses instruction set architecture design, arithmetic and logic unit design, control logic, memory design and caches, simple pipelining, I/O and peripheral devices. Briefly covers aspects of modern computer architecture, such as multicore processors and hardware security. Formerly ECEN 4593.
CSCI 5253 - Datacenter Scale Computing - Methods, Systems and Techniques
Primary Instructor
-
Fall 2023 / Fall 2024
Covers the primary problem solving strategies, methods and tools needed for data-intensive programs using large collections of computers typically called "warehouse scale" or "data-center scale" computers. Examines methods and algorithms for processing data-intensive applications, methods for deploying and managing large collections of computers in an on-demand infrastructure and issues of large-scale computer system design. Recommended prerequisite: CSCI 5273. Same as CSCI 4253 and CSPB 4253 and ECEN 5253.
CSCI 7000 - Current Topics in Computer Science
Primary Instructor
-
Fall 2022
Covers research topics of current interest in computer science that do not fall into a standard subarea. May be repeated up to 18 total credit hours.
ECEA 5370 - Network Systems Foundation
Primary Instructor
-
Fall 2024
In this course, students will learn the most important principles in network systems. This will center on the layered design of networks, and cover the link layer (Ethernet), network layer (IP), transport layer (TCP, UDP), and application layer (HTTP, gRPC). With those as a foundation, student will learn about network security problems and how some current solutions work at different layers. Same as CSCA 5063.
ECEA 5371 - Network Principles in Practice: Linux Networking
Primary Instructor
-
Fall 2024
In this course students will learn how networking is designed and used in the Linux operating system. This will be learned in the context of networking principles and the application to real modern uses � building network operating systems (that power network appliances) and using Linux to support connectivity in modern containerized and virtualized applications (such as a Kubernetes network plugin). Same as CSCA 5073.
ECEA 5372 - Network Principles in Practice: Cloud Networking
Primary Instructor
-
Fall 2024
In this class, students will learn about the networking abstractions and services for building applications in the cloud, and the technology underlying cloud networking. Students will be able to architect complex applications in the cloud. In understanding how the cloud providers created their networks, students will be in a better position to troubleshoot applications and analyze different possible ways of architecting applications, and even help design the next generation of networking for cloud providers. Same as CSCA 5083.
ECEN 3350 - Programming Digital Systems
Primary Instructor
-
Spring 2018 / Spring 2019
Explores how computers and programmable hardware in general are used to implement digital systems by looking at the capabilities of central processing units, the use and control of various input/output (I/O) devices, memory organization, and concurrency management. Topics include computer architecture, instruction sets, I/O device programming, interrupts, data transfer mechanisms, semaphores, and memory management. Degree credit not granted for this course and ECEN 2360.
ECEN 3593 - Computer Organization
Primary Instructor
-
Spring 2022 / Spring 2023 / Spring 2024
Studies computer design at the microarchitecture level. Discusses instruction set architecture design, arithmetic and logic unit design, control logic, memory design and caches, simple pipelining, I/O and peripheral devices. Briefly covers aspects of modern computer architecture, such as multicore processors and hardware security. Same as CSCI 3593. Degree credit not granted for this course and ECEN 5590.
ECEN 4033 - Special Topics
Primary Instructor
-
Fall 2021
Examines a special topic in Electrical, Computer and Energy Engineering. May be repeated up to 9 total credit hours.
ECEN 5033 - Special Topics
Primary Instructor
-
Fall 2018 / Fall 2021 / Fall 2023 / Fall 2024
Examines a special topic in Electrical, Computer and Energy Engineering. May be repeated up to 9 total credit hours.