Teaching non-determinism in computer science

Project members


Non-determinism is a fundamental idea of computer science with various manifestations. In some contexts, non-determinism is an external constraint, whereas in others it is an expressive tool, which enables one to describe states of non-preference. This idea has evolved throughout the history of computer science, in manners that were echoed in its teaching approaches.
This project has two facets: theoretical and empirical. The first deals with the historical evolution of this idea, in computer science and in computer science education. The second deals with teaching and learning of non-determinism in different contexts and different age levels. The findings indicate that students are able to perceive and understand this idea, despite its very abstract nature, and there is no need for over-processing, which may decrease the teaching and learning challenges, but at the same time may prevent achieving a genuine conceptual appreciation of the idea.

Links for further reading