Teaching

    • Fall 2020, 2021, 2022:  Computer Organization. 
      • Class description: Studies computer design at the gate 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 cache coherence for these. Degree Credit not granted for this course and CSCI 4593. Formerly ECEN 4593.
      • Class structure: Weekly lectures, homeworks and a semester long project to build a RISC-V processor using CODASIP. 
      • Course Number: ECEN 3593, CSCI 4593
      • Prerequisite: ECEN 3350 or CSCI 2400 (minimum grade C-)
    • Spring 2021, 2022, 2023: Advanced Computer Architecutre.
      • Class description: Provides a broad-scope treatment of important concepts in the design and implementation of high-performance computer systems. Discusses important issues in the pipelining of a processor, out-of-order instruction issue and superscalar designs, design of cache memory systems and architectural features required for multicore processor designs. Also studies current and historically important computer architectures, including hardware security concepts.
      • Course Number: ECEN 5593, CSCI 5593, ECEN 4693
      • Recommended prerequisite: ECEN 3593ECEN 5090.
    • Fall 2019, 2022:  Secure Computer Architectures
      • Class description: Have you ever wondered why machines are not secure from the hardware? Why do we have to rely on the software alone to provide security? In this graduate course, students will get acquainted with the literature around secure computer architectures, covering everything from the beginning of secure hardware, such as the eXecute Only Machine, to modern techniques to provide hardware security, such as Intel SGX. We will also read about recent architecture security vulnerabilities, such as Meltdown and Spectre.
      • Class structure: Weekly readings of technical papers, in-class paper discussions, presentations, and a semester long research project.
      • Course Number: ECEN 5793
      • Prerequisite: Basic knowledge of computer architecture.