Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ljubomir Jerinić Faculty of Science Department of Mathematics and Informatics Chair of Computer Science.

Similar presentations

Presentation on theme: "Ljubomir Jerinić Faculty of Science Department of Mathematics and Informatics Chair of Computer Science."— Presentation transcript:

1 Ljubomir Jerinić Faculty of Science Department of Mathematics and Informatics Chair of Computer Science

2 Learning Programming Programming is hard. It's 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 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 Childrens Machine Seymour Papert (1993). The Childrens Machine: Rethinking School in the Age of the Computer, Basic Books: New York. 3

4 So… Learning Theories: ACT-R (John Anderson) Adult Learning Theory (P. Cross) Algo-Heuristic Theory (L. Landa) Andragogy (Malcolm Knowles) Anchored Instruction (John Bransford) Aptitude-Treatment Interaction (L. Cronbach & R. Snow) Attribution Theory (B. Weiner) Cognitive Dissonance Theory (L. Festinger) Cognitive Flexibility Theory (R. Spiro) Cognitive Load Theory (J. Sweller) Component Display Theory (M. David Merrill) Conditions of Learning (Robert Gagne) Connectionism (Edward Thorndike) Constructivist Theory (Jerome Bruner) Contiguity Theory (Edwin Guthrie) Conversation Theory (Gordon Pask) Criterion Referenced Instruction (Robert Mager) Double Loop Learning (C. Argyris) Drive Reduction Theory (C. Hull) Dual Coding Theory (A. Paivio) Elaboration Theory (C. Reigeluth) Experiential Learning (C. Rogers) Functional Context Theory (Tom Sticht) Genetic Epistemology (J. Piaget) Gestalt Theory (M. Wertheimer) GOMS (Card, Moran & Newell) General Problem Solver (A. Newell & H. Simon) Information Pickup Theory (J.J. Gibson) Information Processing Theory (G.A. Miller) Lateral Thinking (E. DeBono) Levels of Processing (Craik & Lockhart) Mathematical Learning Theory (R.C. Atkinson) Mathematical Problem Solving (A. Schoenfeld) Minimalism (J. M. Carroll) Model Centered Instruction and Design Layering (Andrew Gibbons) Modes of Learning (D. Rumelhart & D. Norman) Multiple Intelligences (Howard Gardner) Operant Conditioning (B.F. Skinner) Originality (I. Maltzman) Phenomenonography (F. Marton & N. Entwistle) Repair Theory (K. VanLehn) Script Theory (Roger Schank) Sign Theory (E. Tolman) Situated Learning (J. Lave) Soar (A. Newell et al.) Social Development (L. Vygotsky) Social Learning Theory (A. Bandura) Stimulus Sampling Theory (W. Estes) Structural Learning Theory (J. Scandura) Structure of Intellect (J. Guilford) Subsumption Theory (D. Ausubel) Symbol Systems (G. Salomon) Triarchic Theory (R. Sternberg) Transformational Theory (J. Mezirow) 4

5 … and… We chose: Active learning with Constructivist Theory (Jerome Bruner) with a goal to prepare student to solve real world problems… Constructivism - A philosophy masquerading as a theory. A way of looking at the world that says that people construct their view of the world based on their previous experiences. People construct their own unique knowledge from raw materials. A teachers have to provide, 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 … 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 … the goal is… Our goal is to transform how children learn, what they learn, who they learn from. Mitchel Resnick, A Media Lab for Kids Resnick, M. A Media Lab for Kids: $27 Million from Isao Okawa Creates Center for Future Children at MIT, MIT News, November 18, 1998. 7

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 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 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 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 dont know what will be. 11

12 The Goal Of Research To investigate Pedagogical Patterns approach (Pedagogical Patterns Project Home:, Bergin, J., Fourteen Pedagogical Patterns. 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 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 13

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 So… Education (Pedagogy) Didactics Subject-matter Didactics (Computing Education Didactics) CS IT etc. Methodic 15

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:] is working on collecting many types of patterns that can help teachers teach and students 16

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. 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 …Examples… A couple of Composite Pedagogical: Design-Do-Redo-Redo (DDRR) - pattern by Marcelo Jenkins [Pedagogical Pattern #13: Design-Do-Redo-Redo (DDRR) Pattern,], 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 … 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 … 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 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


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 Feedback ----- Original Message ----- From:* Jutta Eckstein To:* Ljubomir Jerinic Sent:* Thursday, February 10, 2012 10:41 Subject:* Re: 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 doesn't depend on a specific culture? You talk already about students taking the professor's 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 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 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 (, 703- 292-8489).) 26

27 Something Interesting… If we are to build a globally competitive 21 st century workforce and maintain our leadership in IT innovation, there is no stage in the academic pipeline more crucial than high school. It is true that students begin to lose interest in computing much earlier, probably in grades 4-5. Yet engagement programs for middle school students will not be effective if those students have no further opportunities during their four years of high school. Likewise, new and reinvigorated college computing programs cannot have a significant impact if there are too few interested and qualified students to show up at their doors. There are clear indications that college programs are already impacted. Since 2000, the percentage of incoming college freshman who intend to major in computing has decreased more than 70%; for women, the figure is closer to 80%. While some universities believe this trend may be leveling off or even turning around, the HERI data – a survey of incoming college freshman which has been extremely accurate in predicting degree attainment after four years – declined still further in 2008, with just 1% of students intending to major in computing. 27

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 … At the End Our goal is to transform how children learn, what they learn, who they learn from. Mitchel Resnick, A Media Lab for Kids Resnick, M. A Media Lab for Kids: $27 Million from Isao Okawa Creates Center for Future Children at MIT, MIT News, November 18, 1998. The goal (of all teachers and researchers) have to be to transform how children learn, what they learn, who they learn from, to reach the utopian Summerville way of learning and teaching. 29

30 The End… Teach your children well, Their father's hell did slowly go by, And feed them on your dreams The one they picked, the one you'll know by. Don't you ever ask them why, if they told you, you would cry, So just look at them and sigh and know they love you. Teach your parents well, Their children's hell will slowly go by, And feed them on your dreams The one they picked, the one you'll know by. Don't you ever ask them why, if they told you, you would cry, So just look at them and sigh and know they love you. 30 Replace children with students and parents with teachers in: Who sing this song?

31 Thank you for your attention Questions? 31

Download ppt "Ljubomir Jerinić Faculty of Science Department of Mathematics and Informatics Chair of Computer Science."

Similar presentations

Ads by Google