Elizabethtown College
CS / ENGR 433
Advanced Computer Engineering Lecture
Advanced Computer Engineering Lab
Syllabus
(Spring, 2002)

Professor: Dr. Joseph T. Wunderlich
Office: Nicarry 244
Phone: 361-1295
Email: wunderjt@etown.edu
Office Hours: http://users.etown.edu/w/wunderjt/schedules/s02schedule.html

Objectives: This course is an intensive, six-hour per week, computer engineering "capstone" course which covers gate-level design of computer systems. Additionally, a qualitative and quantitative analysis of various computer systems (multi-processor, vector-register, virtual memory, etc.) is included. Both hands-on laboratory circuit-building projects and advanced computer engineering research projects are assigned.

Course Credit: Three
Contact Hours: Six

Prerequisites:

Prerequisite Topics:

Course Text:

Supplemental Readings:
Content from the following publications will be included in class lectures:

Grading:

      COURSE GRADE:
        (60-62)=D-, (63-67)=D, (68-69)=D+, (70-72)=C-, (73-77)=C, (78-79)=C+, (80-82)=B-, (83-87)=B, (88-89)=B+, (90-92)=A-, (93-100)=A
        (with any fractional part rounded to the nearest integer)

Academic Honesty: Elizabethtown College Pledge of Integrity: "Elizabethtown College is a community engaged in a living and learning experience, the foundation of which is mutual trust and respect. Therefore, we will strive to behave toward one another with respect for the rights of others, and we promise to represent as our work only that which is indeed our own, refraining from all forms of lying, plagiarizing, and cheating."

Course Outline:

  1. History of Supercomputing
  2. Multiprocessing vs. Multicomputing
  3. Hardware vs. Software Parallelism
  4. Interconnection Architectures
  5. Scalability and Performance
  6. "Complex" vs. "Reduced" Instruction-set Architectures
  7. Pipeline Performance
  8. Memory, Memory Management, and Virtual Memory
  9. Various Cache Designs
  10. Hardware and Software Synchronization
  11. Vector Supercomputers
  12. Multicomputing Systems
  13. Multiprocessing Systems
  14. Branch Prediction
  15. Computer Architecture Verification
  16. Instruction-set Design
  17. Instruction-format Design
  18. CPU Control-unit State-machine Design
  19. CPU Sequencing and Timing Design
  20. Ethical Issues in Computing

NOTE: This outline is subject to change during the semester