This paper describes experiences garnered while teaching a course on high integrity software using SPARK to a mix of junior and senior level undergraduates. The paper describes the impact of pre-requisites, course layout and execution, and lessons learned by students and the instructor. The course used the SPARK toolset provide by Praxis High Integrity Systems, and the Gnat Programming System (GPS) provided by AdaCore Technologies (ACT) under the Ada Academic Initiative Program. Details about using these tools is integrated through out the paper. Categories and Subject Descriptors D.3.3 [Programming Languages]: Language Contructs and – abstract data types, constraints, control structures. General Terms Algorithms, Documentation, Design, Reliability, Languages, Theory, Verification. Keywords Computer Science Education, Computer Science Curriculum, SPARK.
Anthony S. Ruocco