1 / 42

Programming learning: difficulties and support tools

Programming learning: difficulties and support tools. António José Mendes – University of Coimbra. Portugal. Coimbra. University of Coimbra. Our research center. CISUC – Centro de Informática e Sistemas da Universidade de Coimbra Cognitive and Media Systems Adaptive Computing

Download Presentation

Programming learning: difficulties and support tools

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programming learning: difficulties and support tools António José Mendes – University of Coimbra

  2. Portugal Vilnius - August 2010

  3. Coimbra Vilnius - August 2010

  4. University of Coimbra Vilnius - August 2010

  5. Our research center • CISUC – Centro de Informática e SistemasdaUniversidade de Coimbra • Cognitiveand Media Systems • AdaptiveComputing • Software andSystemsEngineering • CommunicationsandTelematics • InformationSystems • EvolutionaryandComplexSystems Vilnius - August 2010

  6. Our group • Cognitive and Media Systems • Knowledge & IntelligentSystemsLab • Computational Creativity and Digital Media Lab • AmbienceInteligenceLab • EducationalTechnologyLab Vilnius - August 2010

  7. Our Lab • The main themes • Computer Science Education • Simulation-based Educational Systems • Collaborative and Social Learning Environments • The (current) team • 3 PhD • 7 PhD students (one waiting to defend) • 1 MSc student • 1 BSc student Vilnius - August 2010

  8. Summary • The problem • The difficulties • What we can find in the literature • What we did in the past • What we did more recently • What we are doing now Vilnius - August 2010

  9. Summary • The problem • The difficulties • What we can find in the literature • What we did in the past • What we did more recently • What we are doing now Vilnius - August 2010

  10. The problem - 1 • Learning programming is difficult, no matter the language and/or paradigm used • Incapacity to create an algorithm to solve a given problem • Difficulties to detect logical errors in their own code • Misconceptions about basic concepts • Low success rates even for Computer Science students • Complaints from other courses teachers Vilnius - August 2010

  11. The problem - 2 • Learning programming requires both knowledge and skill • Teaching methodologies often fail to help students develop abilities in programming practice • Maybe, to a certain degree, programming should be considered a skill-based or artistic discipline • There is a parallel with musical instrument learning • Practice based, but few reach a high proficiency level • Some learners develop quickly and show “ability” while others seem unable to move beyond the basics Vilnius - August 2010

  12. Summary • The problem • The difficulties • What we can find in the literature • What we did in the past • What we did more recently • What we are doing now Vilnius - August 2010

  13. Summary • The problem • The difficulties • What we can find in the literature • What we did in the past • What we did more recently • What we are doing now Vilnius - August 2010

  14. The difficulties - 1 • Student’s backgrounds and attitudes • Several programming levels and learning styles in the same class • Used to memorization and to solve problems using formulas • Low curiosity and incapacity to take programming difficulties as personal challenges • “Minimum effort law” • Errors are often seen as a problem and not as learning opportunities • Inadequate study strategies Vilnius - August 2010

  15. The difficulties - 2 • The subject • High abstraction level • Essentially a problem solving subject • Language syntaxes are complex (were created to professionals) • IDEs don’t ease error detection (especially logical errors) Vilnius - August 2010

  16. The difficulties - 3 • The teaching • Traditional classes have low impact in student’s abilities to solve problems • Individualization is very difficult due to class sizes • It is difficult to help students to overcome their difficulties • Static learning materials are still central in many courses Vilnius - August 2010

  17. Summary • The problem • The difficulties • What we can find in the literature • What we did in the past • What we did more recently • What we are doing now Vilnius - August 2010

  18. Summary • The problem • The difficulties • What we can find in the literature • What we did in the past • What we did more recently • What we are doing now Vilnius - August 2010

  19. What we can find in literature - 1 • Mini-languages • Mini-Java, ... • Controlled development environments • BlueJ, jGRASP, ... • Solution test tools • Mooshak, ... • Microworlds • Karel, the robot, ... Vilnius - August 2010

  20. What we can find in literature - 2 • Animation tools • http://www.cs.hope.edu/alganim/ccaa/ • Simulation tools • Algorithms (SICAS, …) • Programs (Jeliot, OOP-Anim, ...) • Collaborative tools • College, ... Vilnius - August 2010

  21. Summary • The problem • The difficulties • What we can find in the literature • What we did in the past • What we did more recently • What we are doing now Vilnius - August 2010

  22. Summary • The problem • The difficulties • What we can find in the literature • What we did in the past • What we did more recently • What we are doing now Vilnius - August 2010

  23. What we did in the past - 1 Vilnius - August 2010

  24. What we did in the past - 2 • SICASis a system to support learning of basic programming concepts, such as selection and repetition • It has features designed to help students visualize how their own programs work, allowing them to find and correct errors that may exist Vilnius - August 2010

  25. What we did in the past - 3 Simulation Variables Console Vilnius - August 2010

  26. What we did in the past - 4 • OOP-Animis a system to support learning of basic object oriented programming concepts • It shares the same pedagogical foundations of SICAS • It has features designed to help students visualize how their own object oriented programs work, allowing them to find and correct errors that may exist Vilnius - August 2010

  27. What we did in the past - 5 Vilnius - August 2010

  28. But • Our experience shows that animation based simulation tools are useful to many students • But some students fail to take full advantage as they are unable to create a first solution (even wrong) to a proposed problem Vilnius - August 2010

  29. Summary • The problem • The difficulties • What we can find in the literature • What we did in the past • What we did more recently • What we are doing now Vilnius - August 2010

  30. Summary • The problem • The difficulties • What we can find in the literature • What we did in the past • What we did more recently • What we are doing now Vilnius - August 2010

  31. What we did more recently - 1 Vilnius - August 2010

  32. What we did more recently - 2 • PESEN is a simple tool that introduces programming concepts in a very basic environment • Students have to program movements of simple shapes through basic commands, including repetiton and selection Vilnius - August 2010

  33. What we did more recently - 3 Vilnius - August 2010

  34. What we did more recently - 4 • ProGuide works together with SICAS, interacting with students during algorithm development, guiding them when necessary • It is a dialogue-based tool that helps novice programmers to solve problems using text based communication • When students are creating an algorithm, ProGuide monitors their actions (or lack of action) and interacts with them, trying to provide some guidance whenever necessary Vilnius - August 2010

  35. What we did more recently - 5 Vilnius - August 2010

  36. What we did more recently - 6 • SICAS-COL is a result of our collaboration with Universidad de Castilla-La Mancha (UCLM) • It is a collaborative tool that results from the integration of SICAS with dialogue tools included in DOMOSIM-TPC • Supports distributed group work in the design of solutions to basic programming problems Vilnius - August 2010

  37. What we did more recently - 7 Vilnius - August 2010

  38. What we did more recently - 8 • COLLEGE is a Real-Time Collaborative Programming tool developed by UCLM with some collaboration from our side • It allows geographically distributed programmers to work concurrently and collaboratively on the same programming task (edition, compilation and execution) • Students that work in groups need to communicate, argue and give opinions to other group members, encouraging reflection and learning Vilnius - August 2010

  39. What we did more recently - 9 Vilnius - August 2010

  40. Summary • The problem • The difficulties • What we can find in the literature • What we did in the past • What we did more recently • What we are doing now Vilnius - August 2010

  41. Summary • The problem • The difficulties • What we can find in the literature • What we did in the past • What we did more recently • What we are doing now Vilnius - August 2010

  42. What we are doing now Vilnius - August 2010

More Related