Preliminary ABET-style Syllabus
CATALOG DATA:
EE 599 - Computer Systems: 3 Credits
EE 699 - Computer Systems: 3 Credits
Computer Systems are neither hardware nor software, but the result synthesized by integrating the two. This course centers on the system software that is needed to make new hardware usable as (part of) a computing system. Although most of the material is in the general categories of compilers and operating systems, there is very little overlap with the material presented in the computer science classes here at UK. This course will emphasize three projects: construction of a complete compiler toolchain for a simple processor, compilation of hardware descriptions into optimized circuitry, and operating system code for hosting a attached processor. C programming will be required.
Grading will be based on the three projects, presentations, an in-class exam, and a comprehensive final. Each student will be required to submit an "implementor's notes" document with each project. Each graduate student also will be required to lead one in-class discussion of a relevant research issue, the topic of which will be assigned by the instructor. The grade for the course will be determined using weightings specified with each assignment, which will weight projects more heavily than exams. However, you cannot get more than 1 letter grade higher than the lower of your exam average and project/presentation average.
The primary difference between graduate and undergraduate versions of this course is scope of the assignments and the additional requirement to lead a research discussion.
TEXTBOOK
:None required - Course notes
COORDINATOR
:Dr. Henry G. Dietz, Professor
GOALS
:The goal of this course is to enable students to solve computer system design problems as true system problems, viewing hardware and software in a fully integrated way. Because it is assumed that students have significant background in computer organization and/or architecture, the focus is on construction of the necessary system software.
PREREQUISITE
:For EE599: Undergraduate standing, fluency in C, and EE380
For EE699: Graduate standing, fluency in C, and EE380 or other architecture background
TOPICS
:OUTCOMES
:Upon completion of this course the students should demonstrate the ability to:
COMPUTER
USAGE:
Students will perform open-ended experiments involving the
construction of a compiler toolchain, silicon compiler, and
operating system drivers.
DESIGN CONTENT:
Although the general approach and technologies will be
explained to the students, there is a considerable amount
of freedom in the implementation. The design content
centers on selecting among many alternative implementation
methods for each aspect.
CLASS SCHEDULE:
Lecture 3 hours per week.
PROFESSIONAL CONTRIBUTION:
Engineering Science: 1 Credit (33%)
Engineering Design: 2 Credits (67%)
RELATION OF COURSE TO PROGRAM OBJECTIVES:
These course outcomes fulfill the following program objectives:
PREPARED BY: Henry G. Dietz DATE: August 25, 2006