A Gentle Introduction to Computational Complexity Through an Examination of Noodle Making

Luisa Mich, Daniel M. Berry

Abstract


Computational complexity is regarded by many Computer Science students as extremely difficult and as a topic to be avoided. However, the concepts of an algorithm and of computational complexity as a means of characterising the resource consumption of algorithms are fundamental in Computer Science and are included in all curricula for it. To better motivate students and to increase their interest in computational complexity, this paper suggests introducing it by examining algorithms, a.k.a. recipes, for making noodles. This paper describes several traditional algorithms for making Chinese and Italian noodles and classifies each according to its computational complexity. It compares the power of the algorithms. It considers the nature of variations of the traditional algorithms. It examines machines that implement some of the algorithms. It cites a world speed record for making a large number of noodles using the algorithm with the maximal complexity. It shows how computational thinking and other topics can be introduced in the same manner. It concludes by mentioning avenues for further studies.

Keywords


Algorithms, Complexity

Full Text:

PDF


DOI: https://doi.org/10.20368/1971-8829/1399



Journal of e-Learning and Knowledge Society | ISSN (online) 1971 - 8829 | ISSN (paper) 1826 - 6223 © 2017 Je-LKS - Italian e-Learning Association (SIe-L).