skip to content


The information on this page pertains to the Spring 2012 section (Section 001) of CSC/ECE 772 that meets on Mondays from 5:20-8:05 in EB1 2015.


Students who wish to take this course must have completed a course on Computer Networks (CSC 570 or equivalent) or Internet Protocols (CSC 573 or equivalent). Knowledge of mathematical optimization and/or probability and queueing theory is a plus.

Students must also have good working knowledge of a high-level programming language such as C, C++, or JAVA. The programming projects can be challenging, hence good programming experience is required.


The purpose of this course is to present the principles of network and service continuity and related metrics; present the theory of network availability, survivability, and restoration; provide a comprehensive coverage of network architectures, protocols, algorithms, and related technology for survivability; discuss advanced topics in network survivability; and provide students with hands-on experience in the implementation of protocols and software for survivable systems and the operation of survivable networks.

At the conclusion of the course you should be able to:

  1. apply appropriate metrics to characterize the survivability of computer and communication systems;
  2. apply mathematical optimization techniques to design computer and communication systems with a specified level of survivability;
  3. design algorithms, protocols, and software for survivable systems;
  4. select the system characteristics (e.g., backup capacity) to achieve a given level of survivability;
  5. evaluate the relative merits of alternative design solutions for survivability;
  6. engage in research in the field of network survivability.

We encourage and expect you to participate actively in the learning process. In particular, we welcome your comments and questions as we cover material in class. One-way lectures quickly become boring, both for you and for us. By asking lots of questions your understanding of the material will be deepened significantly, and the course will be much more fun!


The course is logically divided in two parts.

Part I: Fundamentals and Principles. At the beginning of the semester we will review important concepts related to network survivability, including:

Part II: Research Topics. In the latter part of the semester, after consultation with the instructors, students will research advanced topics in network survivability and make an in-class presentation on the state-of-the-art and related open problems.


We suggest the following books as reference:

We will also make available an extensive set of lecture slides.

Reading List

J.C. Tiernan, "An Efficient Search Algorithm to Find the Elementary Circuits of A Graph." Communications of the ACM, vol. 13, no. 12, pp. 722-726, December 1970. (pdf)

R. Tarjan, "Enumeration of the Elementary Circuits of A Directed Graph." SIAM Journal of Computing, vol. 2, no. 3, pp. 211-216, September 1973. (pdf)

D. B. Johnson, "Finding all the Elementary Circuits of A Directed Graph." SIAM Journal of Computing, vol. 4, no. 1, pp. 77-84, March 1975. (pdf)

R. Tarjan, "Depth-First Search and Linear Graph Algorithms." SIAM Journal of Computing, vol. 1, no. 2, pp. 146-160, June 1972. (pdf)

M. S. Kiaei, C. Assi, B. Jaumard , "A Survey on the p-Cycle Protection method." IEEE Communications Surveys and Tutorials, vol. 11, no. 3, pp. 53-70, Third Quarter 2009. (pdf)


Students are required to complete all assignments and show all work in order to receive full credit. The final grade will be determined using the following weights:


Three programming tasks (of equal weight)
Research presentation
Research report
Final exam (comprehensive, take home)




Attendance is not mandatory but strongly encouraged. Students are responsible for making up any course material they miss.

No hard copies of assignments or solutions will be handed out. New assignments and solutions will be announced in class and/or the course mailing list, and will be available on the course web page.

Students must submit their assignments as PDF or Word files using the submit facility. The deadline for submission is midnight (Eastern time) on the day due. Any deadline extensions are up to the discretion of the instructor, and will be announced to the whole class. Extensions may be provided to individual students under extenuating circumstances.

No late assignments will be accepted and no partial credit will be given for late assignments without a valid excuse.

Homework and projects are individual assignments and students are required to submit their own solutions. All students are bound by the University's academic integrity policies (refer to the relevant section below).

Important DATES

Students need to pay attention to the following important dates:

Teaching Assistant

Savera Tanwir is the TA for this course. Savera is a PhD student with substantial experience in computer networks. Her office is in Room 2303D of the EB-II building. Her office hours are Mon and Wed from 12-1pm; or you may make an appointment outside her office hours by contacting her at

Office HOURS

I will hold office hours on Mondays and Wednesdays from 2-3pm. I have an open door policy, so feel free to step in my office any time the door is open. Alternatively, we may arrange to meet outside my office hours at a time that is mutually convenient.

Academic Integrity

Students are required to respect the NC State academic integrity policies.