ABSTRACT
A fundamental aspect of learning computer programming is the development of an intuition that can provide one with what needs to be done to solve a problem sans specific implementation detail. However, intuition cannot be taught using just lectures and/or readings. Students must be immersed in the process of programming, so relationships among the elements they learn become apparent. Often, short, discrete demonstration programs are used to introduce various programming schema. Given the disconnectedness of these short examples, they fail to help students gain a programming intuition. Using game development as the basis for an introductory programming class taps into students existing understanding of and intuition relating to image, sound, and games. It also demonstrates how various programming approaches can be used to the benefit of solving a large, meaningful problem, which, appropriately designed, provides ample space for the development of a student's programming intuition.
Supplemental Material
Available for Download
- Jeffrey Bonar and Elliot Soloway. 1983. Uncovering principles of novice programming. POPL '83: Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, January 1983, pp 10–13.Google Scholar
Digital Library
- Charles Van Loan. 2021. Building Freshman Intuition for Computational Science and Mathematics. SIAM News. Online: https://cpb-us-e1.wpmucdn.com/blogs.cornell.edu/dist/c/9924/files/2021/11/FreshmanIntuition.pdfGoogle Scholar
- Chris Johnson, Monica McGill, Durell Buchard, Michael K. Bradshaw, Víctor A. Bucheli, Laurence D. Merkle, Michael James Scott, Z. Sweedyk, and J. Ángel. 2016. Game Development for Computer Science Education. ITiCSE '16: Proceedings of the 2016 ITiCSE Working Group Reports, July 2016, pp 23–44.Google Scholar
- Andrey Soares. 2011. Problem based learning in introduction to programming courses. Journal of Computing Sciences in Colleges, 27(1), October 2011, pp. 36.Google Scholar
Digital Library
- Tom Goulding and Rita DiTrolio. 2007. Complex game development by freshman computer science majors. ACM SIGCSE Bulletin, 39(4), December 2007, pp 92–99.Google Scholar
Digital Library
- Mark A. Holliday. 1995. Incremental game development in an introductory programming course. Proceedings of the 33th Annual Southeast Regional Conference, March, 1995, pp 170-175.Google Scholar
Digital Library
Recommendations
Visual vs. Textual Programming Languages in CS0.5: Comparing Student Learning with and Student Perception of RAPTOR and Python
SIGCSE 2023: Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 1Much debate surrounds the choice of programming language for teaching computer science. Our institution's replacement of a visual programming language (RAPTOR) with a textual programming language (Python) provided a novel opportunity to explore the ...
A different kind of programming languages course
OOPSLA '09: Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applicationsThe complexity of the well-explored regions of the programming language design space has increased substantially in the last twenty-five years with the addition of a large number of object-oriented programming languages (OOPLs). This design domain was ...





Comments