Abstract
Many and varied experiences are being reported, about the first introduction to programming for young students and neophytes. However, tools and methodologies are needed also for a more comprehensive learning process, which requires to design the architecture of any small but functioning application. We propose a new environment, based on the use of graphical blocks, for designing some object-oriented applications. It merges the positive features of block-programming with the object-oriented paradigm in a graphical educational environment. It is developed as a tool for supporting the objects-early approach. The whole methodology is targeted at high school students, university freshmen and unemployed people who are motivated to learn to code professionally. In these cases, where we have firstly experimented this approach, the concepts of object-oriented programming (OOP) cannot be relegated to a secondary role, but they have to be introduced early and presented in their most intuitive form.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
AICA: Informatica nei licei nel contesto della riforma della scuola, documenti di Mondo Digitale (2003)
Bennedsen, J., Schulte, C.: What does objects-first mean?: an international study of teachers’ perceptions of objects-first. In: Proceedings of the Seventh Baltic Sea Conference on Computing Education Research, vol. 88, pp. 21–29. Australian Computer Society, Inc. (2007)
CINI, GII, GRIN: Manifesto sull’informatica nella riforma della scuola superiore. http://www.grin-informatica.it/opencms/export/sites/default/grin/files/manifesto.pdf
Cooper, S., Dann, W., Pausch, R.: Alice: a 3-D tool for introductory programming concepts. J. Comput. Sci. Coll. 15(5), 107–116 (2000)
Cooper, S., Dann, W., Pausch, R.: Teaching objects-first in introductory computer science. ACM SIGCSE Bull. 35(1), 191–195 (2003)
Denning, P.J.: The profession of it beyond computational thinking. Commun. ACM 52(6), 28–30 (2009)
Denning, P.J., Comer, D.E., Gries, D., Mulder, M.C., Tucker, A., Turner, A.J., Young, P.R.: Computing as a discipline. Computer 22(2), 63–70 (1989)
Ferrari, A., Poggi, A., Tomaiuolo, M.: Object oriented puzzle programming. In: Didattica Informatica-Didamatica 2016, pp. 1–10 (2016)
Gander, W., Petit, A., Berry, G., Demo, B., Vahrenhold, J., McGettrick, A., Boyle, R., Mendelson, A., Stephenson, C., Ghezzi, C., et al.: Informatics education: Europe cannot afford to miss the boat. ACM (2013). http://europe.acm.org/iereport/ie.html
Gries, D.: A principled approach to teaching OO first. SIGCSE Bull. 40(1), 31–35 (2008). http://doi.acm.org/10.1145/1352322.1352149
Kelleher, C., Pausch, R.: Lowering the barriers to programming: a taxonomy of programming environments and languages for novice programmers. ACM Comput. Surv. (CSUR) 37(2), 83–137 (2005)
Kölling, M.: The problem of teaching object-oriented programming, part 1: languages. J. Object-Oriented Program. 11(8), 8–15 (1999)
Kölling, M.: The problem of teaching object-oriented programming, part 2: environments. J. Object-Oriented Program. 11(9), 6–12 (1999)
Kölling, M.: Using BlueJ to introduce programming. In: Bennedsen, J., Caspersen, M.E., Kölling, M. (eds.) Reflections on the Teaching of Programming: Methods and Implementations. LNCS, vol. 4821, pp. 98–115. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-77934-6_9
Lister, R., Berglund, A., Clear, T., Bergin, J., Garvin-Doxas, K., Hanks, B., Hitchner, L., Luxton-Reilly, A., Sanders, K., Schulte, C., Whalley, J.L.: Research perspectives on the objects-early debate. SIGCSE Bull. 38(4), 146–165 (2006). http://doi.acm.org/10.1145/1189136.1189183
Resnick, M., Maloney, J., Monroy-Hernández, A., Rusk, N., Eastmond, E., Brennan, K., Millner, A., Rosenbaum, E., Silver, J., Silverman, B., et al.: Scratch: programming for all. Commun. ACM 52(11), 60–67 (2009)
Upton, E., Halfacree, G.: Raspberry Pi User Guide. Wiley, New York (2014)
Vilner, T., Zur, E., Gal-Ezer, J.: Fundamental concepts of CS1: procedural vs. object oriented paradigm-a case study. ACM SIGCSE Bull. 39(3), 171–175 (2007)
Weintrop, D., Wilensky, U.: To block or not to block, that is the question: students’ perceptions of blocks-based programming. In: Proceedings of the 14th International Conference on Interaction Design and Children, pp. 199–208. ACM (2015)
Wilson, C.: Hour of code: we can solve the diversity problem in computer science. ACM Inroads 5(4), 22–22 (2014)
Wing, J.M.: Computational thinking. Commun. ACM 49(3), 33–35 (2006)
Wolber, D., Abelson, H., Spertus, E., Looney, L.: App Inventor. O’Reilly Media Inc., Sebastopol (2011)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 ICST Institute for Computer Sciences, Social Informatics and Telecommunications Engineering
About this paper
Cite this paper
Ferrari, A., Lombardo, G., Mordonini, M., Poggi, A., Tomaiuolo, M. (2018). OOPP: Tame the Design of Simple Object-Oriented Applications with Graphical Blocks. In: Guidi, B., Ricci, L., Calafate, C., Gaggi, O., Marquez-Barja, J. (eds) Smart Objects and Technologies for Social Good. GOODTECHS 2017. Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering, vol 233. Springer, Cham. https://doi.org/10.1007/978-3-319-76111-4_28
Download citation
DOI: https://doi.org/10.1007/978-3-319-76111-4_28
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-76110-7
Online ISBN: 978-3-319-76111-4
eBook Packages: Computer ScienceComputer Science (R0)