Project Overview

Engineering degree programmes require courses in “foundational science” but many traditional foundations— calculus, chemistry, or quantum physics — are not generally relevant to Software Engineering. To address this requirement, we developed a new first-year course — Introduction to Software Modelling — that introduces the principles and practices of Software Engineering, beginning with domain analysis, finding classes and use cases, and finishing with building models in Alloy. In this short paper, we cover the rationale for the course; outline the course structure; and describe our experience with teaching Alloy to fifty first-year engineering students with minimal backgrounds in programming or logic.


James Noble, David J. Pearce, Lindsay Groves

Relevant Links