Teaching non-determinism in computer science
Project members
- Dr. Michal Armoni
- Prof. Mordechai (Moti) Ben-Ari
- Dr. Noa Lewenstein (Netanya Academic College)
Summary
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
- Armoni, M., & Gal-Ezer, J. (2003). Non-determinism in CS high-school curricula. In Proceedings of the 33rd ASEE/IEEE Frontiers in Education Conference (FIE03, Boulder, CO), F2C-18-23. IEEE.
- Armoni, M., & Gal-Ezer, J. (2006). Introducing non-determinism. Journal of Computers in Mathematics and Science Teaching, 25(4), 325-359.
- Armoni, M., & Gal-Ezer, J. (2007). Non-determinism: An abstract concept in computer science studies. Computer Science Education, 17(4), 243-262.
- Armoni, M., Lewenstein, N., & Ben-Ari, M. (2008). Teaching students to think nondeterministically. In Proceedings of the 39th SIGCSE Technical Symposium on Computer Science Education (SIGCSE08), Portland, OR, 4-8.
- Armoni, M., & Ben-Ari, M. (2008). The concept of nondeterminism: Its development and implications for teaching. Science & Education, 18(8), 1005-1030. Reprinted in Inroads – SIGCSE Bulletin (2009), 41(2), 141-160.
- Alexandron, G., Armoni, M., Gordon, G., & Harel, D. (2013). On Teaching Programming with Nondeterminism. In Proceedings of the 8th Workshop in Primary and Secondary Computing Education (WiPSCE 2013), Aarhus, Denmark, 71-74).
- Alexandron, G., Armoni, M., Gordon, M., & Harel, D. (2016). Teaching nondeterminism through programming. Informatics in Education 15(1), 1-23.