Teaching Object-Oriented Programming in First-Year Undergraduate Courses Supported By Virtual Classrooms

  • Lucia M. M. GiraffaEmail author
  • Marcia Cristina Moraes
  • Lorna Uden
Conference paper
Part of the Springer Proceedings in Complexity book series (SPCOM)


Students struggle to learn computer programming. In recent years, there has been a dramatic drop in the number of students enrolling in IT and computer science courses. There is high dropout rate among first year students undertaking computer science courses. Because introductory programming courses traditionally have a high failure rate, this has been a barrier for students and staff in computer science faculties. Programming is acknowledged by many to be an inherently complex, intellectual activity with students struggling through their first programming subjects and lecturers are struggling to teach it. This problem is no different at School of Computer Science at PUCRS in Brazil. The department has for many years trying to improve the teaching of programming courses to the students. This paper describes the use of a classroom in the MOODLE environment to teach Java programming to first year students.


Teaching programming Algorithms Teaching methodologies evaluation 



To colleagues of the ALPRO-I course for providing materials and exchanging experiences, and to our monitors for their collaboration and support.


  1. 1.
    Jenkins T (2002) On the difficulty of learning to program. In: Proceedings of the 3rd annual conference of the LTSN centre for information and computer sciences, pp 53–58. Accessed Feb 2013
  2. 2.
    Allison I, Orton P, Powell H (2002) A virtual learning environment for introductory programming. In: Proceedings of the 3rd annual conference of the LTSN centre for information and computer sciences, pp 48–52Google Scholar
  3. 3.
    Traynor D, Gibson P (2004) Towards the development of a cognitive model of programming: a software engineering approach. In: 16th PPIG workshop, Carlow, Ireland, April 2004. Accessed Nov 2006
  4. 4.
    Kölling M, Rosenberg J (2001) Guidelines for teaching object orientation with Java. ACM SIGCSE Bull Proc 6th Ann Conf Innov Technol Comput Sci Edu 33(3):33–36CrossRefGoogle Scholar
  5. 5.
    Dunican E (2002) Making the analogy: alternative delivery techniques for first year programming courses. In Kuljis J, Baldwin L, Scoble R (eds) Proceedings from the 14th workshop of the psychology of programming interest group, Brunel University, June 2002, pp 89–99Google Scholar
  6. 6.
    Stamouli I, Doyle E, Huggard M (2004) Establishing structured support for programming students. In: Proceedings of the 34th ASEE/IEEE frontiers in education conference, Savannah, GA, Oct 2004Google Scholar
  7. 7.
    Tavares J, Brzezinski I, Huet I, Cabral A., Neri D (2001) Having coffee with professors and students to talk about higher education pedagogy and academic success. In: 24th international HERDSA conference, Newcastle, AustraliaGoogle Scholar
  8. 8.
    Meisalo V, Suhonen J, Sutinen E, Torvinen S (2002) Formative evaluation scheme for a web-based course design. In: Proceedings of the 7th annual conference on innovation and technology in computer science education (ITiCSE 2002), University of Aarhus, Denmark, pp 130–134Google Scholar
  9. 9.
    Chinn D, Martin K, Spencer C, (2007) Treisman workshops and student performance in CS. In: 38th SIGCSE technical symposium on Computer science education, Covington, Kentucky, pp 203–207Google Scholar
  10. 10.
    Hamer J, Cutts Q, Jackova J, Luxton-Reilly A, McCartney R, Purchase H, Riedesel C, Saeli M, Sanders K, Sheard J (2008) Contributing student pedagogy. ACM SIGCSE Bull 40(4):194–212CrossRefGoogle Scholar
  11. 11.
    Machanick P (2007) A social construction approach to computer science engineering. Computer Science Education 17(1):1–20Google Scholar
  12. 12.
    Boyer K, Thomas E, Rorrer A, Cooper D, Vouk M (2010) Increasing technical excellence, leadership and commitment of computing students through identity-based mentoring. In: 41st ACM technical symposium on computer science education (SIGCSE’10), Milwaukee, Wisconsin, pp 167–171Google Scholar
  13. 13.
    Van Roy P, Armstrong J, Flatt M, Magnusson B (2003) The role of language paradigms in teaching programming. In: 34th SIGCSE technical symposium on computer science education, pp 269–270Google Scholar
  14. 14.
    Sheard J, Hagan D (1998). Experiences with teaching object-oriented concepts to introductory programming students using C++. Technology of Object-Oriented Languages and Systems-TOOLS 24, IEEE Technol pp 310–319Google Scholar
  15. 15.
    Boud D, Keogh R, Walker D (1985) Promoting reflection in learning: a model. In: Boud D, Keogh R, Walker D (eds) Reflection: turning experience into learning. Kogan Page, London, pp 18–40Google Scholar
  16. 16.
    Thomas L, Ratcliffe M, Woodbury J, Jarman E (2002) Learning styles and performance in the introductory programming sequence. 33rd SIGCSE Tech Symp 34:33–37Google Scholar
  17. 17.
    Kölling M, Quig B, Patterson A, Rosenberg J (2003) Object technology. J Comput Sci Edu (Special issue on learning and teaching object technology) 13(4):249–268Google Scholar
  18. 18.
    Nevison C, Wells B (2003) Teaching objects early and design patterns in Java using case studies. In: 8th annual conference on innovation and technology in computer science educationGoogle Scholar
  19. 19.
    Bennedsen JB, Caspersen ME (2007) Failure rates in introductory programming. SIGCSE Bull Inroads 39(2):32–36CrossRefGoogle Scholar
  20. 20.
    Ausubel D et al (1980) Psicologia educacional. Editora Interamericana, New YorkGoogle Scholar
  21. 21.
    Giraffa LMM, Moraes MC (2012) O desafio de ensinar a programar no primeiro nível em cursos de graduação: alternativas para conter a evasão. In: Segunda Conferencia Latinoamericana sobre El Abandono en La Educación Superior II CLABES. Porto Alegre (Brazil). ALFAGUIA (CLABES), 2012. v. 1. pp 486–498Google Scholar
  22. 22.
    Giraffa, LMM, Marczak SS (2012) Being a digital teacher: myths, dilemma and challenges for 21st century teachers. In: EDULEARN12. The 4th annual international conference on education and new learning technologies, 2012, Barcelona (Spain). EDULEARN12, the 4th annual international conference on education and new learning technologies. Barcelona (Spain): International Association of Technology, Education and Development (IATED), 2012. v. 1. pp 1–12Google Scholar

Copyright information

© Springer Science+Business Media Dordrecht 2014

Authors and Affiliations

  • Lucia M. M. Giraffa
    • 1
    Email author
  • Marcia Cristina Moraes
    • 2
  • Lorna Uden
    • 3
  1. 1.Professor of School of Computer Science and School of EducationPUCRSBrazil
  2. 2.School of Computer SciencePUCRSBrazil
  3. 3.Facility of Computing, Engineering and TechnologyStaffordshire UniversityStaffordshireUK

Personalised recommendations