Fall 2016, EK 131/132: The class introduces students to engineering analysis and design. Topics covered in the class include: introduction to analog and digital systems, binary number system, electronic components, RC circuit, circuit analysis, combinational and sequential circuits, micro-control design, and system programming.
The concurrent labs make the students apply the concepts learnt in the lectures, and culminate in a course team-based project involving Microsoft Kinect. The term's project title is: From heart monitoring to Kinect gaming - Seeing the invisible.
Fall 2017, EC 413: Introduction to the fundamentals and design of computer systems. Topics covered include computer instruction sets, assembly language programming, arithmetic circuits, CPU design (data path and control, pipelining), performance evaluation, memory devices, memory systems including caching and virtual memory, and I/O. A single-cycle RISC processor design project using design automation tools.
Spring 2018, EC 513: Examination of the evolution and the principles underlying modern computer architectures. It emphasizes the fundamental relationship between technology, hardware organization, and programming systems. Topics covered include processor micro-architecture, instruction set design, pipelined, out-of-order, and speculative execution, superscalar, very long instruction word (VLIW), vector, and multithreaded processors, cache and virtual memory organizations, synchronization, memory models, and cache coherence protocols for multiprocessors, multithreaded architectures, multiprocessor interconnection networks, and embedded systems.