FAQ for the Class

ECE 60872/CS 590 – Fault-Tolerant Computer System Design

 

Purdue University

Fall 2017

 

 

This FAQ is meant for students thinking about taking the class. This is a living document and will be added to as we hear more questions that are likely to be of interest to multiple students.

 

1.      What background do I need for this class?

·         Basically ability to program well in any high level programming language, one scripting language, and a basic undergraduate level probability and statistics course.

2.      Do I have to be a PhD student to take this class? Do I have to be a senior PhD student to take this class?

·         No to both.

3.      How will this class be graded?

·         See the course handout for the details. [ HTML ] Basically, most of the class gets A+, A, or A-. Of the weightage, 50% is for a semester-long class project, in which students work in groups of 2 or 3 and most of the groups end up publishing their work in a research conference.

4.      Can I as a CS student take the class?

·         Yes, this class is cross-listed in CS, as CS 590-001 and counts toward your MS plan of study. Historically a third to a half of the class has been CS students.

5.      Can I as an ECE student outside of the Computer Engineering area take the class?

·         Yes, as long as you feel you have a reasonable background (see answer to question #1).

6.      Is this a more theoretical or a more practical/systems-y course?

·         I would characterize this as a more practical/systems-y course. We devote about 6 lectures talking about stochastic distributions as they apply to computer systems analysis. We devote another 6-10 lectures talking of principles in building fault-tolerant computer systems. It is helpful for this class to have a working knowledge of Linux and be comfortable around programming.

7.      Is this a lecture oriented or a discussion oriented class?

·         I go over the material as lectures, but these are very interactive with lots of open-ended discussions about how to design and implement computer systems. Plus, there are two leading practitioners from the industry who come and address the class and tell of their experiences building fault-tolerant computing systems.

8.      Do you cover any security topics in the class?

·         Funny that you ask. I actually do cover security topics in about 4-8 lectures, though to reduce my administrative headache, I have not tried to rename the class to something more representative, such as “Reliable and secure computer systems”. On the security side, I teach about secure software development, reaching agreement and making progress in the face of malicious and colluding adversaries in the system, and event correlation.