Teaching

  • Fall 2020, 2021, 2022, 2023, 2024:Ìý 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, homework and a semester long project to build a RISC-V processor using CODASIP.
    • Course Number: ECEN 3593, CSCI 4593
    • Prerequisite: ECEN 2350 or CSCI 2400 (minimum grade C-)
  • Spring 2021, 2022, 2023, 2024, 2025: Advanced Computer Architecture.
    • 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:Ìý,Ìý.
  • Fall 2019, 2022, 2025:Ìý 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.
  • Fall 2023:Ìý Exploring ECE
    • Class description:ÌýIntroduces students to areas of emphasis with the ECE department through seminars presented by faculty and outside speakers. Emphasizes career opportunities, professional ethics and practices, history of the profession, and resources for academic success. Several sessions promote team building and problem solving, and provide opportunities for first year students to meet their classmates
    • Class structure: Weekly seminars by department alumni and faculty on topics related to a degree from the Electrical, Computer and Energy Engineering department.
    • Course Number: ECEN 1100
  • Fall 2023:Ìý Programming of Digital Systems (PDS)
    • Class description:Ìý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.
    • Class structure: Weekly lectures, homework and several programming projects to design a stopwatch and a calculator.
    • Course Number: ECEN 2360 (old ECEN3350)
    • Prerequisites: Requires prerequisite course of (minimum grade C-).