ENSC 894 Advanced Computing Techonology: Programming and System Design

Course Description



This course focuses on providing students with a general overview of the different layers of the computing hierarchy. It is structured as a seminar course; each week students will be requested to read 1-3 technical papers on the specfic layer of the computing hierarchy that will be discussed in class. Students will be required to write three 1-page paper critiques during the course (on papers they select from the reading list). They will also select one of the lecture topic areas on which they will provide a detailed seminar presentation and research review.

Topics will be related to the design of application-specific, heterogeneous, and non-traditional computing architectures (e.g. the "cloud"). At the beginning of the course, students will be required to select an application (e.g. real-time stereo vision processing) that they will analyse in terms of each layer of the computing hierarchy to best determine how to optimize the application's design in terms of different design factors.

There is no lab component for this course. However, the instructor is willing to consider allowing students to do a project in an area that interests them in lieu of the paper critiques and application analysis if this is preferable to the student.

The specific lecture topic areas include:

While many people can write software on a workstation to perform a computation. Understanding the different layers of the computing hierarchy allows an individual to customize their model and software to the application platform they select to provide both elegant and efficient computational solutions.

The reality of being a good designer is understanding how these layers interact so that you provide a complete solution to the problem.


[Course Home Page]