[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3341525.3387369acmconferencesArticle/Chapter ViewAbstractPublication PagesiticseConference Proceedingsconference-collections
research-article

Postponing the Concept of Class When Introducing OOP

Published: 15 June 2020 Publication History

Abstract

The literature on programming education describes different problems found in courses that introduce the basic concepts of Object-Oriented Programming (OOP). Some of these problems arise from the large amounts of abstract concepts that are needed even for the simplest programs. Other difficulties are related with the concepts of class and instantiation, and the duality between classes and objects. Educators and researchers have proposed several alternatives to define a gradual path for the introduction of OOP.
A group of educators from several universities in the Buenos Aires area crafted a learning path for a first course about OOP in which the concepts of class and instantiation are introduced several weeks after the beginning of the course. Gradualism is achieved in this proposal by starting with a minimal metamodel based on self-defined objects, which is progressively enlarged. Following this learning path, by the time students are introduced to classes and instantiation, they already have a good acquaintance with object definition and interaction, and are also able to quickly understand the convenience of the new concepts.
The same group conceived and developed a didactically-oriented programming language along with an IDE; and produced several exercises that can be solved using the initial metamodels.
In this article, we discuss which concepts and language elements can be introduced before classes and instantiation, the need for a programming language that supports the proposed learning path, and the results of its application in several universities.

References

[1]
B. Alkazemi and G. Grami. Utilizing bluej to teach polymorphism in an advanced object-oriented programming course. Journal of Information Technology Education: Innovations in Practice, 11, 09 2012.
[2]
E. Allen, R. Cartwright, and B. Stoler. Drjava: A lightweight pedagogic environment for Java. In ACM SIGCSE Bulletin, volume 34, pages 137--141. ACM, 2002.
[3]
A. Annamaa. Thonny,: A python ide for learning programming. In Proceedings of the 2015 ACM Conference on Innovation and Technology in Computer Science Education, ITiCSE '15, pages 343--343, New York, NY, USA, 2015. ACM.
[4]
J. Bennedsen and M. E. Caspersen. Teaching object-oriented programming -- towards teaching a systematic programming process. In Eighth Workshop on Pedagogies and Tools for the Teaching and Learning of Object Oriented Concepts. Affiliated with 18th European Conference on Object-Oriented Programming (ECOOP 2004), 2004.
[5]
J. Bennedsen and C. Schulte. Bluej visual debugger for learning the execution of object-oriented programs? Trans. Comput. Educ., 10(2):8:1--8:22, June 2010.
[6]
J. Bergin. Fourteen pedagogical patterns. In Proceedings of the 5th European Conference on Pattern Languages of Programms (EuroPLoP '2000), Irsee, Germany, July 5--9, 2000, pages 1--49. UVK - Universitaetsverlag Konstanz, 2000.
[7]
M. J. Blesa, A. Duch, J. Gabarró, J. Petit, and M. Serna. Continuous assessment in the evolution of a CS1 course: The pass rate/workload ratio. In S. Zvacek, M. T. Restivo, J. Uhomoibhi, and M. Helfert, editors, Computer Supported Education, pages 313--332, Cham, 2016. Springer International Publishing.
[8]
N. C. C. Brown, A. Altadmri, S. Sentance, and M. Kölling. Blackbox, five years on: An evaluation of a large-scale programming data collection project. In Proceedings of the 2018 ACM Conference on International Computing Education Research, ICER '18, pages 196--204, New York, NY, USA, 2018. ACM.
[9]
P. Burton. Kinds of language, kinds of learning. Sigplan Notices, 33:53--61, 1998.
[10]
W. Cazzola and D. M. Olivares. Gradually learning programming supported by a growable programming language. IEEE Transactions on Emerging Topics in Computing, 4(3):404--415, 2016.
[11]
G. Echeita Sarrionandia and C. Duk Homad. Inclusión educativa. REICE. Revista Electrónica Iberoamericana sobre Calidad, Eficacia y Cambio en Educación, 2008.
[12]
A. Eckerdal and M. Thuné. Novice java programmers' conceptions of "object" and "class", and variation theory. In Proceedings of the 10th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education, ITiCSE '05, pages 89--93, New York, NY, USA, 2005. ACM.
[13]
V. Efopoulos, V. Dagdilelis, G. Evangelidis, and M. Satratzemi. Wipe: A programming environment for novices. SIGCSE Bull., 37(3):113--117, June 2005.
[14]
Estefania Miguel, Miguel Carboni, and Nicolás Passerini. Hoope, construyendo un lenguaje para enseñar, Nov. 2013.
[15]
S. Georgantaki and S. Retalis. Using educational tools for teaching object oriented design and programming. Journal of Information Technology Impact, 7:111--130, 01 2007.
[16]
M. N. Giannakos, I. O. Pappas, L. Jaccheri, and D. G. Sampson. Understanding student retention in computer science education: The role of environment, gains, barriers and usefulness. Education and Information Technologies, 22(5):2365--2382, 2017.
[17]
H. Goldenhersh, A. Coria, and M. Saino. Deserción estudiantil: desaf'ios de la universidad pública en un horizonte de inclusión. Revista Argentina de Educación Superior, (3):97--120, 2011.
[18]
K. E. Gray and M. Flatt. Professorj: a gradual introduction to Java through language levels. In Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, pages 170--177. ACM, 2003.
[19]
C. Griggio, G. Leiva, G. Polito, G. Decuzzi, and N. Passerini. A programming environment supporting a prototype-based introduction to OOP. In Proceedings of the International Workshop on Smalltalk Technologies, IWST '11, pages 5:1--5:5, New York, NY, USA, 2011. ACM.
[20]
M. Guzdial. Centralized mindset: a student problem with object-oriented programming. volume 27, pages 182--185, 01 1995.
[21]
D. Hagan and S. Markham. Teaching java with the bluej environment. In Ascilite (Australasian Society for Computers in Learning in Tertiary Education) Conference, 2000.
[22]
S. Holland, R. Griffiths, and M. Woodman. Avoiding object misconceptions. In Proceedings of the Twenty-eighth SIGCSE Technical Symposium on Computer Science Education, SIGCSE '97, pages 131--134, New York, NY, USA, 1997. ACM.
[23]
T. Jenkins. On the difficulty of learning to program. In Proceedings of the 3rd Annual Conference of the LTSN Centre for Information and Computer Sciences, volume 4, pages 53--58. Citeseer, 2002.
[24]
M. Kölling, B. Quig, A. Patterson, and J. Rosenberg. The bluej system and its pedagogy. Computer Science Education, 13(4):249--268, 2003.
[25]
S. Kouznetsova. Using bluej and blackjack to teach object-oriented design concepts in cs1. J. Comput. Sci. Coll., 22(4):49--55, Apr. 2007.
[26]
M. Kölling. The problem of teaching object-oriented programming, part i: Languages. JOOP, 11(8):8--15, 1999.
[27]
C. Lombardi, N. Passerini, and L. Cesario. Instances and classes in the introduction of object oriented programming. In Smalltalks 2007 - 1st conference on Smalltalk based technologies, research and industry applications, DC - FCEN - UBA, Buenos Aires, Argentina, Dec. 2007.
[28]
B. Meyer. The outside-in method of teaching introductory programming. In M. Broy and A. Zamulin, editors, Perspectives of System Informatics, volume 2890 of Lecture Notes in Computer Science, pages 66--78. Springer Berlin Heidelberg, 2003.
[29]
N. Passerini, C. Lombardi, J. Fernandes, P. Tesone, and F. Dodino. Wollok: Language+ide for a gentle and industry-aware introduction to oop. In 2017 Twelfth Latin American Conference on Learning Technologies (LACLO), pages 1--4, Oct 2017.
[30]
N. Ragonis and M. Ben-Ari. A long-term investigation of the comprehension of OOP concepts by novices. Computer Science Education, 15(3):203--221, 2005.
[31]
A. W. Schmolitzky and T. Göttel. Guess my object: An 'objects first' game on objects' behavior and implementation with bluej. In Proceedings of the 2014 Conference on Innovation & Technology in Computer Science Education, ITiCSE '14, pages 219--224, New York, NY, USA, 2014. ACM.
[32]
J. E. Sánchez-García, M. Urías-Ruiz, and B. E. Gutiérrez-Herrera. Análisis de los problemas de aprendizaje de la programación orientada a objetos. Ra Ximhai, 11(4):148--175, 2015.
[33]
M. P. Uysal. The effects of objects-first and objects-late methods on achievements of OOP learners. Journal of Software Engineering and Applications, 5(10):816--822, 2012.
[34]
L. S. Vygotsky. Mind in society: The development of higher psychological processes. Harvard university press, 1980.
[35]
S. Xinogalos. Object-oriented design and programming: An investigation of novices' conceptions on objects and classes. TOCE, 15(3):13:1--13:21, 2015.
[36]
S. Xinogalos, M. Satratzemi, and V. Dagdilelis. Re-designing an OOP course based on bluej. In ICALT, pages 660--664. IEEE Computer Society, 2007.

Cited By

View all
  • (2024)Glaucoma Disease Classification by using Fundus imagesBulletin of Business and Economics (BBE)10.61506/01.0026313:1Online publication date: 25-Mar-2024

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ITiCSE '20: Proceedings of the 2020 ACM Conference on Innovation and Technology in Computer Science Education
June 2020
615 pages
ISBN:9781450368742
DOI:10.1145/3341525
Publication rights licensed to ACM. ACM acknowledges that this contribution was authored or co-authored by an employee, contractor or affiliate of a national government. As such, the Government retains a nonexclusive, royalty-free right to publish or reproduce this article, or to allow others to do so, for Government purposes only.

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 15 June 2020

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. CS0
  2. CS1
  3. CS2
  4. educational tools
  5. instructional approaches

Qualifiers

  • Research-article

Funding Sources

  • Universidad Nacional de Quilmes
  • Universidad Nacional de Hurlingham
  • Universidad Nacional de San Martin

Conference

ITiCSE '20
Sponsor:

Acceptance Rates

Overall Acceptance Rate 552 of 1,613 submissions, 34%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)17
  • Downloads (Last 6 weeks)1
Reflects downloads up to 11 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Glaucoma Disease Classification by using Fundus imagesBulletin of Business and Economics (BBE)10.61506/01.0026313:1Online publication date: 25-Mar-2024

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media