Fault-tolerant parallel and distributed computing for software engineering undergraduates

Document Type

Conference Proceeding

Publication Date



Department of Computer Science, Center for Scalable Architectures and Systems


We report on our experience of integrating Fault-Tolerant Parallel and Distributed Computing (FTPDC) concepts in three core and elective courses in spring 2014 at Michigan Technological University, namely Model-Driven Software Development, Software Quality Assurance and Operating Systems. Our objective is to educate senior undergraduate Software Engineering students on the design, verification and implementation of fault tolerance in Parallel and Distributed Computing (PDC) systems. Towards this end, we design three course modules that include several lectures, demonstrations and homework assignments. We implement these course modules based on a discovery-based method of teaching where students are required (individually and in groups) to solve problems by modeling, simulating and verifying models of FTPDC systems. The students' performances and their feedback show that the designed course modules for the modeling and automated analysis of FTPDC have significantly helped them to understand the basic concepts of FTPDC and explore more advanced concepts. We will improve the design of the third course module to enhance students' skills in the implementation of fault-tolerance mechanisms.

Publication Title

2015 IEEE International Parallel and Distributed Processing Symposium Workshop