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.
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 RamCT. It follows the regular 16-week semester
schedule during the regular school year.
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.
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.
Pankaj Jalote: "Fault Tolerance in Distributed Systems" (Prentice Hall)
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.
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.