I mainly teach three courses in the ECE department: ECE201/401, ECE404, and ECE114. (For these courses, we make heavy use of Blackboard courseware system.)
I mainly teach three courses in the ECE department: ECE201/401, ECE404, and ECE114. (For these courses, we make heavy use of Blackboard courseware system.)
A detailed introduction to principles and practices of modern high-end microprocessor design. The textbook is the popular “Computer Architecture: A Quantitative Approach (4Ed)
Topics covered:
2. Instruction set design
3. Advanced processor pipelining
4. Software and hardware exploitation of instruction-level parallelism
5. Memory hierarchy design
6. Multiprocessor issues
7.Storage and interconnection
This course is required for the computer engineering concentration. For students seeking to do research with me (MS thesis, project, or REU), taking this course and getting an A is often a prerequisite.
This course is meant to be a follow-up of ECE401 in which we will provide in-depth discussions of the design and implementation issues in the processor core microarchitecture, and a much expanded discussion on multiprocessor issues including cache coherence, memory consistency models, and interconnect.
We will not follow any one specific textbook, but will cover some material from both “Parallel Computer Architecture: A Hardware/Software Approach” by Culler and Singh and “Principles and Practices of Interconnection Networks” by Dally and Towles. We will of course rely on literature for recent development.
This is a lab-heavy intro-to-intermediate level course on programming. Modern day engineering disciplines often require computer programming to carry out simulation, modeling, data gathering, analysis, and so on. The goal of this class is to combine the central and fundamental part of knowledge and training from several computer science courses to help foster a productive and effective programming methodology.
In addition to object-oriented programming (OOP) philosophy, principles, and mechanisms, and data structures, which are the main focus of the course, we will also discuss briefly computer organization, architecture, operating systems. We will be using “Small C++ How to Program” by Deitel & Deitel, or the more complete version.