Ljubomir Jerinić           Faculty of ScienceDepartment of Mathematics and Informatics       Chair of Computer Science Ema...
Learning Programming  Programming is hard. Its the process of telling a bunch of  transistors to do something, where that ...
Starting point… Pedagogy, the art of teaching, under various names, has been adopted by the academic world as a respectabl...
   Genetic Epistemology (J. Piaget)  So…                                                              Gestalt Theory (M....
… and…•“We” chose: Active learning with Constructivist Theory (JeromeBruner) with a goal to prepare student to solve “real...
… and…What about teachers?1.   Create real-world environments that employ the context in which     learning is relevant;2....
… the goal is…Our goal is to transform how children learn,what they learn, who they learn from.                           ...
Teaching Programming From my point of view, few textbooks treat methodological skills of teaching programming appropriatel...
Experience at DMI Novi Sad… •“Usage Computer in Education” (in CS) started in 1987 at Institute of Mathematics (now Depart...
Problem Statement... • Learning (teaching) IT and CS is hard – how to learn (teach) IT   and / or CS? • Problem with small...
In Serbia  In Serbia Educational reform is on 2/3 of long, long way…   (?)  We have done reform at the University educat...
The Goal Of Research  To investigate Pedagogical Patterns approach (Pedagogical   Patterns Project Home:   www.pedagogica...
Terminology… The American Educational Research Association (AERA) has classified the  field of educational research into ...
Terminology… The difference in classification and emphasis of subfields in the  Continent and the America is a matter of ...
So…       Education (Pedagogy)       Didactics                                 Methodic      Subject-matter Didactics     ...
Pedagogical Patterns Pedagogical patterns, like all patterns, attempt to capture  expert practice. In this case it is th...
Examples… Learning by (on) mistakes is very fine teaching techniques or teaching method  generally speaking. In teaching ...
…Examples… A couple of Composite Pedagogical:    Design-Do-Redo-Redo (DDRR) - pattern by Marcelo Jenkins [Pedagogical Pa...
… and Examples…And the nice one: Icky Poo - pattern by Joseph Bergin and Owen Astrachan. You want to  teach a topic in a ...
… and Examples. Or, Michael Clancy originated a very vivid  parameter passing exercise that demonstrates  the concept of ...
My Examples… Pedagogical Pattern: Wolf, Wolf, Mistake    Topic which is taught is divided into smaller pieces called sub...
Pedagogical Pattern Language PROBLEM / ISSUE AUDIENCE / CONTEXT FORCES SOLUTION DISCUSSION / CONSEQUENCES / IMPLEMENT...
Example of PPL… EXAMPLE / INSTANCES (for Pedagogical Pattern: Wolf, Wolf, Mistake) This pattern could be used effectivel...
Feedback ----- Original Message -----  From:* Jutta Eckstein <mailto:jutta-eckstein@t-online.de>  To:* Ljubomir Jerinic <...
Further Work… How to Teach Elementary Programming Course (the  whole approach)? Spiral and / or Semiotic Ladder are domi...
Something Interesting…Transforming High School Computer Science: CS /10,000 Project(For further information, contact Jan C...
Something Interesting…If we are to build a globally competitive 21st century workforce and maintain ourleadership in IT in...
Something Interesting… The AP CS is a rigorous college preparatory course; however, nationally only 2000 computing  teach...
… At the EndOur goal is to transform how children learn, what they learn, who they learnfrom.                             ...
The End…             Replace children with students and                       parents with teachers in:Teach your children...
Thank you for your attention         Questions?                           31
Upcoming SlideShare
Loading in...5
×

Pedagogical patterns for learning programming by mistakes (presentation) (1)

157

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
157
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Pedagogical patterns for learning programming by mistakes (presentation) (1)

  1. 1. Ljubomir Jerinić Faculty of ScienceDepartment of Mathematics and Informatics Chair of Computer Science Email: ljubomir.jerinic@dmi.uns.ac.rs
  2. 2. Learning Programming Programming is hard. Its the process of telling a bunch of transistors to do something, where that something may be very clear to us fuzzy humans, with all our built-in pattern matching, language processing, and existing knowledge, but really, horrifically, tediously difficult to communicate to a bunch of dumb transistors. Dethe Elza 2
  3. 3. Starting point… Pedagogy, the art of teaching, under various names, has been adopted by the academic world as a respectable and an important field. The art of learning is an academic orphan. One should not be mislead by the fact that libraries of academic departments of psychology often have a section marked “learning theory.” The older books under this heading deal with the activity that is sometimes caricatured by the image of a white-coated scientist watching a rat run through a maze… newer volumes are more likely to be based upon the theories of performance of computer programs than on the behavior of animals… but… they are not about the art of learning… they do not offer advice to the rat (or to the computer) about how to learn. Seymour Papert, The Children’s Machine Seymour Papert (1993). The Children’s Machine: Rethinking School in the Age of the Computer, Basic Books: New York. 3
  4. 4.  Genetic Epistemology (J. Piaget) So…  Gestalt Theory (M. Wertheimer)  GOMS (Card, Moran & Newell)  General Problem Solver (A. Newell & H. Simon)Learning Theories:  Information Pickup Theory (J.J. Gibson)  Information Processing Theory (G.A. Miller) ACT-R (John Anderson)  Lateral Thinking (E. DeBono) Adult Learning Theory (P. Cross)  Levels of Processing (Craik & Lockhart) Algo-Heuristic Theory (L. Landa)  Mathematical Learning Theory (R.C. Atkinson) Andragogy (Malcolm Knowles)  Mathematical Problem Solving (A. Schoenfeld) Anchored Instruction (John Bransford)  Minimalism (J. M. Carroll) Aptitude-Treatment Interaction (L. Cronbach & R. Snow)  Model Centered Instruction and Design Layering (Andrew Gibbons) Attribution Theory (B. Weiner)  Modes of Learning (D. Rumelhart & D. Norman) Cognitive Dissonance Theory (L. Festinger)  Multiple Intelligences (Howard Gardner) Cognitive Flexibility Theory (R. Spiro)  Operant Conditioning (B.F. Skinner) Cognitive Load Theory (J. Sweller)  Originality (I. Maltzman) Component Display Theory (M. David Merrill)  Phenomenonography (F. Marton & N. Entwistle)  Repair Theory (K. VanLehn) Conditions of Learning (Robert Gagne)  Script Theory (Roger Schank) Connectionism (Edward Thorndike)  Sign Theory (E. Tolman) Constructivist Theory (Jerome Bruner)  Situated Learning (J. Lave) Contiguity Theory (Edwin Guthrie)  Soar (A. Newell et al.) Conversation Theory (Gordon Pask)  Social Development (L. Vygotsky) Criterion Referenced Instruction (Robert Mager)  Social Learning Theory (A. Bandura) Double Loop Learning (C. Argyris)  Stimulus Sampling Theory (W. Estes) Drive Reduction Theory (C. Hull)  Structural Learning Theory (J. Scandura) Dual Coding Theory (A. Paivio)  Structure of Intellect (J. Guilford) Elaboration Theory (C. Reigeluth)  Subsumption Theory (D. Ausubel) Experiential Learning (C. Rogers)  Symbol Systems (G. Salomon)  Triarchic Theory (R. Sternberg) Functional Context Theory (Tom Sticht)  Transformational Theory (J. Mezirow) 4
  5. 5. … and…•“We” chose: Active learning with Constructivist Theory (JeromeBruner) with a goal to prepare student to solve “real world”problems…•Constructivism - A philosophy masquerading as a theory. A way oflooking at the world that says that people construct their view of theworld based on their previous experiences. People construct theirown unique knowledge from raw materials. A teachers have toprovide, that: • Instruction must be concerned with the experiences and contexts that make the student willing and able to learn (readiness). • Instruction must be structured so that it can be easily grasped by the student (spiral organization). • Instruction should be designed to facilitate extrapolation and or fill in the gaps (going beyond the information given). 5
  6. 6. … and…What about teachers?1. Create real-world environments that employ the context in which learning is relevant;2. Focus on realistic approaches to solving real-world problems;3. The instructor is a coach and analyzer of the strategies used to solve these problems;4. Stress conceptual interrelatedness, providing multiple representations or perspectives on the content;5. Instructional goals and objectives should be negotiated and not imposed;6. Evaluation should serve as a self-analysis tool;7. Provide tools and environments that help learners interpret the multiple perspectives of the world;8. Learning should be internally controlled and mediated by the learner.9. Teachers serve in the role of guides, monitors, coaches, tutors and facilitators… 6
  7. 7. … the goal is…Our goal is to transform how children learn,what they learn, who they learn from. Mitchel Resnick, A Media Lab for KidsResnick, M. A Media Lab for Kids: $27 Million from Isao Okawa Creates Center for FutureChildren at MIT, MIT News, November 18, 1998. 7
  8. 8. Teaching Programming From my point of view, few textbooks treat methodological skills of teaching programming appropriately. They teach programs, not programming. They focus largely on knowledge, not skill. Indeed, I would claim that computer scientists in general do not think much about the programming process and have little idea about how to teach programming. David Gries Computer Science Cornell University Gries, D., and P. Gries. Multimedia Introduction to Programming Using Java. Springer Verlag, NY. 2005. 8
  9. 9. Experience at DMI Novi Sad… •“Usage Computer in Education” (in CS) started in 1987 at Institute of Mathematics (now Department of Mathematics and Informatics) – OSOF: LEA, TEA & EXA (Paunic Dj., Budimac Z., Ivanovic M., Jerinic Lj., Putnik Z., etc. •Later, research went in different ways: •CAI, CAL, CBE, CBL, CMI, ITS, ILE… •EduSof, GetBits, Svetovid •eEducation = eTeaching + eLearning •Pedagogical Agents •Web Based Education – Ontology approach, etc. •Pedagogical Patterns… together with “new” people (Devedzic V., Vesin S., Radovic D., Lomic M., Komlenov Z,, Pribela I. etc. 9
  10. 10. Problem Statement... • Learning (teaching) IT and CS is hard – how to learn (teach) IT and / or CS? • Problem with small number of candidates for CS and IT, as well as drop-out problem from CS and IT courses in USA, Finland, Australia, etc. at the University level – why? • Where to put learning of elementary knowledge about CS and IT (organization level) for non specialist? • Where to start in CS and IT learning (teaching), on secondary or primary level of Education? • What is the bottom line (minimum knowledge) on knowledge that student have to bring to University? • OO First? 10
  11. 11. In Serbia  In Serbia Educational reform is on 2/3 of long, long way… (?)  We have done reform at the University education and Primary (?)  IT and CS are put in Primary education, i.e. the students learn basic of IT from 6-th grade (obligatory course as a part of Technical education) and elementary programming (as the elective course in 6, 7 and 8 grade)  In Secondary level the reform is stopped for now so… we don’t know what will be. 11
  12. 12. The Goal Of Research  To investigate Pedagogical Patterns approach (Pedagogical Patterns Project Home: www.pedagogicalpatterns.org, Bergin, J., Fourteen Pedagogical Patterns. http://csis.pace.edu/~bergin/PedPat1.3.html)  Try to find out new ones  And to modify and explore the existing Patterns in a sense of their Instances for teaching Elementary programming 12
  13. 13. Terminology… The American Educational Research Association (AERA) has classified the field of educational research into 12 divisions that represent broad substantives or professional interests. However, some fields were not given such an independent status. For example, the philosophy of education did not exist as its own field of a classification title level. In addition, continental Europe (without Great Britain) researchers have understood didactics slightly differently than Anglo-American researchers. In Anglo-American countries didactics was found in under several division titles such as Curriculum Studies, Learning and Instruction, and School Evaluation & Program Development ("12 divisions within AERA", Retrieved January 24, 2011 from http://www.aera.net/divisions/Default.aspx?menu_id=62&id=179 13
  14. 14. Terminology… The difference in classification and emphasis of subfields in the Continent and the America is a matter of different cultures that have their own philosophical and political roots. Uljens ("On General Education as a Discipline", Studies in Philosophy and Education, 20, 291- 301. pp. 295, 2001), for example, stated that “From an American perspective it may seem odd to have several sub-disciplines in education. From a Nordic perspective again it is odd that education is not an autonomous discipline at every American university, but is instead conceived of as a ‘a field of research’.” Methodic of CS (IT) ??? (I do not find yet!!! I find Didactics, Pedagogy, Subject-matter Didactics , Education of CS / Computing / IT / ICT edt.) 14
  15. 15. So… Education (Pedagogy) Didactics Methodic Subject-matter Didactics (Computing Education Didactics) CS IT etc. 15
  16. 16. Pedagogical Patterns Pedagogical patterns, like all patterns, attempt to capture expert practice. In this case it is the practice of experienced teachers, both in academia and in industrial settings. The pedagogical patterns project [Pedagogical Patterns Project Home: www.pedagogicalpatterns.org] is working on collecting many types of patterns that can help teachers teach and students learn. 16
  17. 17. Examples… Learning by (on) mistakes is very fine teaching techniques or teaching method generally speaking. In teaching Computer Science, Informatics, Information Technologies, and similar disciplines based on technique or technologies, and it is used very often. Joseph Bergin (Fourteen Pedagogical Patterns. http://csis.pace.edu/~bergin/PedPat1.3.html) proposed couple of general Pedagogical Patterns which are directly involved in learning by mistake method of learning, with special implications in usage of them in teaching CS1 and CS2 courses.  Mistake - Students are asked to create an artifact such as a program or design that contains a specific error. Use of this pattern explicitly teaches students how to recognize and fix errors. We ask the student to explicitly make certain errors and then examine the consequences.  Grade It Again Sam - To provide an environment in which students can safely make errors and learn from them, permit them to resubmit previous assignments for reassessment and an improved grade. 17
  18. 18. …Examples… A couple of Composite Pedagogical:  Design-Do-Redo-Redo (DDRR) - pattern by Marcelo Jenkins [Pedagogical Pattern #13: Design-Do-Redo-Redo (DDRR) Pattern, http://sol.info.unlp.edu.ar/ppp/pp13.htm], used in teaching Object-Oriented Programming (OOP) to senior students based on a multi- language approach. The idea is to teach OOP concepts such as encapsulation, abstraction, and polymorphism, independently of the OOP language used. To do that, a Design-Do-Redo-Redo (DDRR) pattern is used, in which students design an OOP solution to a programming assignment and then implement it in three different languages. They have to elaborate differences and possible errors.  Design-Implement-Redesign-Re-implement (DIRR) – pattern by Richland, Kornell and Kao [The Pretesting Effect: Do Unsuccessful Retrieval Attempts Enhance Learning? Journal of Experimental Psychology: Applied, 2009, Vol. 15, No. 3, 243–257.]. The pattern could be used to bridge the gap from an old paradigm to a new paradigm (from procedural to object-oriented), emphasizes common programmers mistakes when they tried to “compile” solutions form procedural point of view to object-oriented directly, for example. 18
  19. 19. … and Examples…And the nice one: Icky Poo - pattern by Joseph Bergin and Owen Astrachan. You want to teach a topic in a way that the students will never forget it. You want a very dramatic demonstration of some idea. Students often forget details of abstract concepts and confuse similar concepts. Analogies are a good way to prevent this if the analogy is close to the concept being taught and the student can quickly make appropriate associations when the details are required. Dramatic, visible, and unexpected demonstrations are remembered. If they are also good analogies, then the students will carry important and unforgettable lessons. Therefore use a physical device, such as a toy, that has some of the characteristics of the concept being taught. Give a very vivid classroom demonstration of its use.  Astrachan uses a toy called Icky Poo ™ to illustrate many of the important concepts of C++ pointers. The toy is a sticky plastic that will stretch 20 times its length. It comes in the form of a snake. When you hold one end and "whap" the other against a surface it sticks. If the surface is a lightweight piece of paper, the object can be retrieved. Pieces of paper form the heap (free store). Calling new (whapping the Icky Poo against a piece of paper) retrieves it. Calling dispose detaches all Icky Poo snakes from it. 19
  20. 20. … and Examples. Or, Michael Clancy originated a very vivid parameter passing exercise that demonstrates the concept of a parameter and the difference between value and reference parameters. Astrachan has adapted this as well. Frisbees™ are passed between caller and called function. The Frisbee represents a variable and has a name and a value written on it with a grease pen (Post-It™ notes can be used as well). In a reference variable, any change in the variable is written directly on the Frisbee. In a value parameter, the original value is written on the Frisbee, but the Frisbee is bagged in a transparent bag before being passed. Any change by the called function is written on the bag. Therefore the original value is not affected. 20
  21. 21. My Examples… Pedagogical Pattern: Wolf, Wolf, Mistake  Topic which is taught is divided into smaller pieces called subtopics or fragments. Fragments are introduced step by step. The goal of the topic is to show usage of these fragments in solving certain problems. After the whole material is presented, some examples of implementation these fragments (or the methods based on them) are shown to the students. They have active participation in constructing the solutions. At the end, an artifact such as a program, object and/or design, with a particular error has been realized. Lecturer knows that mistake is made, but say nothing about that. At the end of the class lecturer just says that all examples have to be tested and verified as homework assignment. Next time, lecturer asks students do they found something in their homework assignments. Lecturer is interested about their opinions on the correctness of the solution that he presented last time. Students should explain the nature and possible consequences of the error, if they were find the mistake at all. Lecturer just conducts the discussion. Using this form, students learn how to recognize specific errors of construction and design, as well as the importance of testing software. 21
  22. 22. Pedagogical Pattern Language PROBLEM / ISSUE AUDIENCE / CONTEXT FORCES SOLUTION DISCUSSION / CONSEQUENCES / IMPLEMENTATION SPECIAL RESOURCES RELATED PATTERNS EXAMPLE / INSTANCES CONTRAINDICATIONS REFERENCES 22
  23. 23. Example of PPL… EXAMPLE / INSTANCES (for Pedagogical Pattern: Wolf, Wolf, Mistake) This pattern could be used effectively in teaching some introductory CS course. If you wish to teach the students about importance of analyzing the boundary cases in program design, and why the testing software is not an easy job, you may use this pattern. For example, the pattern was used in Basic of Computer Literacy course for non-professionals (like students with major in Geography) at the University of Novi Sad. Topic on data types and potential problems with them (such as division by zero for numbers, for example) was taught at the beginning of the course. After a while, branching and control structures were done, and their usage in solving some problems is presented. The students together with lecturer solve some problem using these branching and control structures. The lecturer conducted the output. But, the “hidden” special case is not seen by students, i.e. for the particular data entry the program could crushed. They miss to observe the case which leads in dividing by zero. This case lecturer "wisely" ignore in the analysis of the task. Next class, students still did not notice the mistake, and lecturer admitted his “sin”, and explains the reason and consequences of mistake. Couple weeks later, students get the assignment very similar to previously, but in some other context. They all do the assignment without a single mistake. 23
  24. 24. Feedback ----- Original Message ----- From:* Jutta Eckstein <mailto:jutta-eckstein@t-online.de> To:* Ljubomir Jerinic <mailto:jerinicl@eunet.rs> Sent:* Thursday, February 10, 2012 10:41 Subject:* Re: Question Hi Ljubomir, thanks for sending me your pattern. This looks really good, I think you should send it to one of the PLoP conferences (EuroPLoP, PLoP, or any other xPLoP). The main thing I have been wondering when reading your pattern, was if this pattern doesnt depend on a specific culture? You talk already about students taking the professors opinion for granted, however e.g. in China or India the professor might even lose his face using this pattern... Maybe you want to add something along those lines to the contraindications or consequences? However, your pattern is really up for being presented at a PLoP conference! All the best, Jutta 24
  25. 25. Further Work… How to Teach Elementary Programming Course (the whole approach)? Spiral and / or Semiotic Ladder are dominant, but are they good enough? Approach Stepwise Improvement, or the modification, known as Stepwise Refinement, have been modified (by us) with FINE TUNNING. The choice of first Programming Language, the AP Courses, CS ZIRO, Scandinavian Model of variables, etc. 25
  26. 26. Something Interesting…Transforming High School Computer Science: CS /10,000 Project(For further information, contact Jan Cuny, Program Officer for Broadening Participation in Computing, National Science Foundation (jcuny@nsf.gov, 703-292-8489).) 26
  27. 27. Something Interesting…If we are to build a globally competitive 21st century workforce and maintain ourleadership in IT innovation, there is no stage in the academic pipeline morecrucial than high school. It is true that students begin to lose interest incomputing much earlier, probably in grades 4-5. Yet engagement programs formiddle school students will not be effective if those students have no furtheropportunities during their four years of high school. Likewise, new and reinvigoratedcollege computing programs cannot have a significant impact if there are too fewinterested and qualified students to show up at their doors. There are clear indicationsthat college programs are already impacted. Since 2000, the percentage ofincoming college freshman who intend to major in computing has decreasedmore than 70%; for women, the figure is closer to 80%. While some universitiesbelieve this trend may be leveling off or even turning around, the HERI data – a surveyof incoming college freshman which has been extremely accurate in predicting degreeattainment after four years – declined still further in 2008, with just 1% of studentsintending to major in computing. 27
  28. 28. Something Interesting… The AP CS is a rigorous college preparatory course; however, nationally only 2000 computing teachers have passed the AP audit, indicating that it is being taught in less than 10% of our high schools. Even that course is not optimal: it is programming-centric; it is inaccessible to students with no prior experience; it does not focus on the fundamental concepts of computer science or computational thinking; and it does little to teach the breadth of application or “magic” of computing. Consequently, the AP CS A test was taken by only 14,529 students in 2008, as compared to the 204,564 who took the Calculus AB exam, the 141,321 who took the Biology exam, or the 96,282 who took the Statistics exam. AP CS A also had the worst gender balance of any of the AP tests. Just 18.3% of the CS AP test takers were women in comparison to the Calculus AB test, where 48.7% were women, or Statistics, where 50.2% were women. Only 11.8% of the AP CS A, test takers were underrepresented minorities. Clearly, high school computing needs to change. We are serving too few of our students well. We propose:  CS/10,000 Project Goal: To develop an effective new high school curriculum for computing, taught in 10,000 high schools by 10,000 well-qualified teachers by 2015. 28
  29. 29. … At the EndOur goal is to transform how children learn, what they learn, who they learnfrom. Mitchel Resnick, A Media Lab for KidsResnick, M. A Media Lab for Kids: $27 Million from Isao Okawa Creates Center for Future Children at MIT, MIT News, November18, 1998.The goal (of all teachers and researchers) have to be to transform howchildren learn, what they learn, who they learn from, to reach theutopian Summerville way of learning and teaching. 29
  30. 30. The End… Replace children with students and parents with teachers in:Teach your children well, Teach your parents well,Their fathers hell did slowly Their childrens hell willgo by, slowly go by,And feed them on your And feed them on yourdreams dreamsThe one they picked, the one The one they picked, theyoull know by. one youll know by.Dont you ever ask them Dont you ever ask themwhy, if they told you, you why, if they told you, youwould cry, would cry,So just look at them and sigh So just look at them andand know they love you. sigh and know they love you. Who sing this song? 30
  31. 31. Thank you for your attention Questions? 31
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×