CFP last date
20 December 2024
Reseach Article

Engaging Software Engineering Students with Natural Numbers

Published on February 2013 by Amitrajit Sarkar, Mike Lopez
International Conference on Communication, Computing and Information Technology
Foundation of Computer Science USA
ICCCMIT - Number 3
February 2013
Authors: Amitrajit Sarkar, Mike Lopez
96ec1a30-1ebb-42c3-81e8-9619dbbe1b30

Amitrajit Sarkar, Mike Lopez . Engaging Software Engineering Students with Natural Numbers. International Conference on Communication, Computing and Information Technology. ICCCMIT, 3 (February 2013), 11-16.

@article{
author = { Amitrajit Sarkar, Mike Lopez },
title = { Engaging Software Engineering Students with Natural Numbers },
journal = { International Conference on Communication, Computing and Information Technology },
issue_date = { February 2013 },
volume = { ICCCMIT },
number = { 3 },
month = { February },
year = { 2013 },
issn = 0975-8887,
pages = { 11-16 },
numpages = 6,
url = { /specialissues/icccmit/number3/10339-1024/ },
publisher = {Foundation of Computer Science (FCS), NY, USA},
address = {New York, USA}
}
%0 Special Issue Article
%1 International Conference on Communication, Computing and Information Technology
%A Amitrajit Sarkar
%A Mike Lopez
%T Engaging Software Engineering Students with Natural Numbers
%J International Conference on Communication, Computing and Information Technology
%@ 0975-8887
%V ICCCMIT
%N 3
%P 11-16
%D 2013
%I International Journal of Computer Applications
Abstract

According to Kronecker, a famous European mathematician, only natural numbers, i. e. positive integers like 1, 2, and 3… are given by God or belong to nature. All other numbers, like negative numbers, fractional numbers, irrational numbers, complex numbers, etc. , are creations of the human mind. It is important to notice that all these other numbers are created using the natural numbers. Natural numbers have very interesting patterns and those patterns are elegantly simple and hence simply beautiful. The idea of this paper is to explore different patterns that are created with natural numbers, to demystify the connection of the natural numbers with nature, and then to use them to teach important concepts of software engineering. We will take various examples, discuss the teaching methodology used to teach them, and uncover different software engineering concepts and best practices. The examples that we will use are the Fibonacci sequence and other natural number patterns, and we will connect them with software engineering concepts like loop patterns, recursion, refactoring and decomposition. For the last few years we have used this in our software engineering classes with much success, particularly in relation to student engagement and helping students to think creatively. We are confident that this type of teaching approach can be seamlessly integrated in tertiary as well as in high school software engineering curricula and has no geographical boundaries. This novel teaching approach is ready to be tested in different cultural settings. Finally, we conclude the paper with a desire for future research in cross-cultural, multi-institutional and multi-national settings.

References
  1. Mallik, A. K. 2004. From Natural Numbers to Numbers and Curves in Nature-I. RESONANCE, September 2004.
  2. Mallik, A. K. 2004. From Natural Numbers to Numbers and Curves in Nature-II. RESONANCE, October 2004.
  3. C. Böhm and G. Jacopini, "Flow diagrams, turing machines and languages with only two formation rules," Communications of the ACM, vol. 9, no. 5, pp. 344-371, 1966.
  4. E. Dijkstra, "Go to statement considered harmful," Communications of the ACM, vol. 11, no. 3, pp. 147-148, 1968.
  5. M. Hopkins, "A case for the GOTO," ACM SIGPLAN Notices - Special issue on control structures in programming languages, vol. 7, no. 11, pp. 59-62, 1972.
  6. W. Maurer, "Generalized structured programs and loop trees," Science of Computer Programming, vol. 67, no. 3, pp. 223-246, 2007.
  7. D. Ginat and E. Shifroni, "Teaching recursion in a procedural environment: How much should we. . . ?," in Proceedings of the 30th SIGCSE conference, 1999.
  8. B. Haberman and H. Averbuch, in Proceedings of the 7th ITiCSE conference, 2002.
  9. H. Kahney, "What do novice programmers know about recursion," in Proceedings of the SIGCHI conference, 1983.
  10. R. Sooriamurthi, "Problems in comprehending recursion and suggested solutions," in Proceedings of the 6th ITiCSE conference, 2001.
  11. S. Wiedenbeck, "Learning recursion as a concept and as a programming technique," in Proceedings of the 19th SIGCSE conference, 1988.
  12. C. Mirolo, "Is iteration really easier to learn than recursion for CS1 students?," in Proceedings of the ICER conference 2012, Auckland, 2012.
  13. D. Kurland and R. Pea, "Children's mental models of recursive logo programs," in Proceedings of the Fifth Annual Conference of the Cognitive Science Society, 1983.
  14. Y. Anazi and Y. Uesato, "Learning recursive procedures by middle-school children," in Proceedings of the fourth annual conference of the Cognitive Science Society, 1982.
  15. A. Kessler and J. Anderson, "Learning flow of control: Recursive and iterative procedures," Human-Computer Interaction, vol. 2, pp. 135-166, 1986.
  16. H. Kahney and M. Eisenstadt, "Programmers' mental models of their programming tasks: The interaction of real world knowledge and programming knowledge," in Proceedings of the Fourth Annual Conference of the Cognitive Science Society, 1982.
  17. I. Sanders, V. Galpin and T. Götschi, "Mental Models of Recursion Revisited," in Procceedings of the ITiCSE conference '06, Bologna, Italy. , 2006.
  18. C. Wu, N. Dale and L. Bethel, "Conceptual models and cognitive learning styles in teaching recursion," in Proceedings of the SIGCSE Conference '98, Atlanta, GA, 1998.
  19. D. Levi and T. Lapidot, "Recursively speaking: Analyzing students' discourse of recursive phenomena," in Proceedings of the SIGCSE conference, Austin, TX, 2000.
  20. S. Bhuiyan, J. E. Greer, and G. I. Mccalla. Supporting the learning of recursive problem solving. Interactive Learning Environments, 4(2):115{139, 1994.
  21. C. M. Kessler and J. R. Anderson. Learning flow of control: recursive and iterative procedures. Human-Computer Interaction, 2(2):135{166, 1986.
  22. F. Turbak, C. Royden, J. Stephan, and J. Herbst. Teaching recursion before loops in CS1. J. Computing in Small Colleges, 14(4):86{101, 1999.
  23. A. Benander, B. Benander, and H. Pu. Recursion vs. iteration: An empirical study of comprehension. J. of Systems and Software, 32(1):73{82, 199
Index Terms

Computer Science
Information Sciences

Keywords

Software Engineering Introductory Programming Recursion Iteration Natural Numbers