Fall 2013: (Large) Algebraic Data Structures (with High Volume Automated Testing)
Algebraic Data Types (ADT's) is the study of data structures without regard to the implementation. For instance, given a stack, S, we all know that pop(push(e,S)) == S, and this abstraction should be true for any implementation. These simple abstractions also give insight and direction to software testing; simple large scale, high volume tests may be specified easily.
This course will consider:
a) The careful specification of ADT's in the modern milieu, e.g., a web-service or a cloud-based service.
b) The verification of the ADT's in the small and in the large.
c) The construction of a reference implementation which can take specifications for ADT's, then generate and execute large scale, high volume tests.
(While I will show you the maths and programming needed to accomplish these objectives, this course is not for the mathematically or programmatically timid.)
This course is being taught by Dr. Keith Gallagher(firstname.lastname@example.org).