Fault Tolerant Computing
CS530DL
Dependability is now a major requirement for all computing systems and applications. Computer hardware, software and systems are always subject to faults. The occurrence of faults cannot be eliminated, however it can be minimized and a suitably designed redundant system can function even in the presence of faults. This course will introduce the students to the widely applicable area of reliable and fault-tolerant computing. Topics to be covered are basic testing concepts, hardware and software faults, reliability evaluation, design and evaluation of redundant systems, relationship between testing and reliability, software reliability growth and vulnerability detection process.
Course Objectives: The course attempts to give the students a background so that they can: understand techniques to model faults and know how to generate tests and evaluate effectiveness; evaluate reliability of systems with permanent and temporary faults; determine applicability of these forms of redundancy to enhance reliability: spatial, temporal, procedural; assess the relation between software testing and residual defects and security vulnerabilities.
Schedule: This course is a completely Web-based course. However, it is not a self-paced course. Students need to finish the work and interact with instructor, the teaching assistant and each other in a timely fashion. The course is delivered online using WebCT. It follows the regular 16-week semester schedule during the regular school year. See detailed schedule here.
Instructor: Yashwant K Malaiya, malaiya @ cs.colostate.edu
Teaching assistant: TBA, tba @ cs.colostate.edu
Prerequisites: The official prerequisite is CS370 or equivalent. Students should have taken in courses covering programming and digital hardware. Consult the instructor if you are unsure of your background. The students are expected to be able to use MS Excel.
Learning Resources
Textbook: The course is not based on a single textbook. The course web-site will provide some of the documents, including the text: Software Reliability Assurance Handbook by Lakey and Neufelder. Material drawn from several publications will be used.
Recommended books:
Parag Lala: "Fault tolerant and Fault Testable Digital Design" (Prentice hall International). It is not available from the publisher. The instructor has a few copies of this text which may be borrowed.
Others: Some of the conferences, journals & books in this field: Here is a list.
RAMCT: All other course material, including course announcements, discussions, grades, lecture notes, and assignments, can be found via the RAMCT page for the course: CS 530 DL.
The RAMCT portion of this course is password-protected and requires you to have a CSU electronic ID (eID). Online quizzes are only accessible via the RAMCT course page. All assignments must be submitted electronically through the RAMCT course page, unless otherwise specified.
RAMCT includes a class bulletin board for asking questions about the course, assignments, computer help, etc. Other students may respond with appropriate answers before the instructor or GTA even reads the question. As long as no homework solutions are posted, although some hints are permissible, this is okay. Of course, students need to judge whether or not these responses are correct. Discussion assignments require posting and responding to the discussion board.
It is critically important that students check out the Calendar on the course RAMCT page at least once a week. All tests and assignment due dates are posted there. Sometimes this may be the only announcement of an assignment. It is the student's responsibility to continually check for new assignments. Assignment due dates are usually posted 10 days to 2 weeks ahead of time.
Grading (Subject to change)
Research Project (20%)
Discussion participation (5%)
Lab assignments, on-line quizzes and other assignments (30%)
One mid-term exam (20%)
A final exam (25%)
The mid-term and final exam may take the form of on-line exams. Some of the assignments may be implemented such that the answers need to be entered in form of an on-line exam.
Policies: Department policies: Policies on cheating, plagiarism, incomplete grades, attendance, discrimination, sexual harassment, and student grievances are described in the Student Information Guide. All other matters follow the policies set in the current Colorado State University General Catalog. Students are responsible for all the information in these documents.
Comparison to traditional delivery:
Student Experience: In the on-line version of this course, the student has the course materials, along with on-line lecture slides giving examples. Automatically-graded on-line quizzes provide instant feedback on student comprehension. Part of the on-line student's grade is based on his contributions to course topic discussions in the RAMCT discussion groups. These asynchronous discussions may be richer and more detailed than for an in-class discussion, as the students have time to consider and prepare their opinions and responses, including references. Furthermore, all students are required to participate in every discussion. The on-line students may ask questions at any time via email or the discussion groups, whenever they are having trouble. The instructor and/or teaching assistant is likely to check his email and the discussion group messages more often than office hours are held. This course may be more interactive for the on-line students than for many students in on-campus courses.
Time Commitment: The on-line course approximately covers the same material that is covered in the on-campus version of the course.
Equipment: Students are expected to have adequate computing resources including a PC, access to the Internet and MS Excel (or a statistical package). You may be required to download and run specific public domain programs.