Scratch and pair programming
Upcoming SlideShare
Loading in...5

Like this? Share it with your network


Scratch and pair programming






Total Views
Views on SlideShare
Embed Views



4 Embeds 11 6 2 2 1



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Scratch and pair programming Presentation Transcript

  • 1. Scratch and pair programming Irena Nančovska Šerbec Jože Rugelj University of Ljubljana Faculty of Education Dep. for math. and comp. {Irena.Nancovska, Joze.Rugelj}
  • 2. Scratch 1 part
  • 3. S ources
    • Scratch download:
    • ScratchEd:
    • Scratch Lesson Plans:
    • Resources for parents and teachers to teach children Scratch programming :
    • Web WORKSHOP:
    • Scratch Beginner's Guide - A Scratch Tutorial :
    • Marija Oblak, PROGRAMSKA ORODJA V POMOC UČENJU PROGRAMIRANJA, diplomsko delo, PEF UL, 2009.
    Scratch and pair programming
  • 4. Papers
    • Resnick, M., at all (2009). Scratch : Programming for all, Communications on ACM, Vol. 52, Iss. 11; 60. (retrieved from )
    • Resnick, M. (2007). All I really need to know (about creative thinking) I learned (by studying how children learn) in kindergarten. Proceedings of the 6th ACM SIGCHI conference on Creativity & cognition - C&C '07 , 1-6. New York, New York, USA: ACM Press. doi: 10.1145/1254960.1254961.(retrieved form )
    Scratch and pair programming
  • 5. Scratch and pair programming
  • 6.
    • There are only 10 types of people in the world — those who understand binary, and those who don't.
    Scratch and pair programming
  • 7.
    • Endless Loop: n., see Loop, Endless.
    • Loop, Endless: n., see Endless Loop.
    Scratch and pair programming From Data Processing Dictionary
  • 8. Raise Your Hand If You
    • Have heard of Scratch other than at this lesson
    • Have downloaded Scratch ?... but not gotten around to playing with it yet
    • Have played around with it
    • Use it in your teaching
    Scratch and pair programming
  • 9. Agenda
    • What is Scratch?
    • Scratch and …
      • 21 Century Learning Skills
      • the classroom
    • Programming
    Scratch and pair programming sprite is a two-dimensional image or animation that is integrated into a larger scene.
  • 10. What is Scratch?
    • A new graphical media rich programming language that allows users to
      • make games
      • animations
      • interactive stories
      • music
      • art
      • “ Digital fluency” should mean designing,
      • creating, and remixing, not just browsing,
      • chatting, and interacting.
      • Resnick
    Scratch and pair programming
  • 11. What is Scratch
    • It is intended especially for 8- to 16-year-olds (peaking at 12 )
    • Engaging and intuitive
    • Collaborative
    • Scratch offers:
      • low floor (easy to get started)
      • high ceiling (ability to create complex projects)
      • wide walls (support for a wide diversity of projects)
    Scratch and pair programming
  • 12. What is Scratch Scratch and pair programming imagine • program • share
  • 13. What is Scratch
      • Last version 1.4
      • Translation:
        • Available i n Slovene
      • It is developed by the Lifelong Kindergarten group at the
        • MIT Media Lab by a team led by Mitchel Resnick
        • first appeared in the may 2007
    Scratch and pair programming
  • 14.
    • The name Scratch is derived
      • from the turntablist technique of scratching
      • refers to both the language and its implementation .
    • The similarity to musical "scratching”:
      • usability the objects, graphics, sounds, and scripts can be easily imported
      • usability of projects
    • Interpreted dynamic visual programming language
    Scratch and pair programming
  • 15. Scratch and … 21 century skills
    • Students learn to :
      • select, create and manage multiple forms of media.
      • create media
      • analyze media
      • express themselves creatively and persuasively.
    Scratch and pair programming
  • 16. Scratch and 21 century Scratch and pair programming
  • 17. Scratch and … 21 century skills
    • Thinking and Problem Solving Skills
      • Students learn :
        • critical reasoning and systems thinking
        • coordinate timings and interactions between multiple sprites
        • identify new problems and creative solutions
        • break problems up into steps
      • Immediate feedback
    Scratch and pair programming
  • 18. Scratch and … 21 century skills
    • Interpersonal and Self-Directional Skills
      • The visual nature of the programming
        • => sharablility
      • They create with an audience in mind and
        • => able to make easy changes based on feedback of others.
      • Social responsibility as they
        • => interact with others through the scratch website
    Scratch and pair programming
  • 19. Scratch and the Classroom Scratch and pair programming
  • 20. School
    • At Faculty of Education:
      • An Introduction to programming
      • (1 year study:
      • Two - subject teachers: Computer science and *)
    • 7 th Grade Computer Literacy Curriculum ( Computer Science Curriculum ) .
      • 12 years old children
    Scratch and pair programming
  • 21. Scratch and pair programming motion control looks
  • 22. Scratch and pair programming sensing sound operations
  • 23. Scratch and pair programming pen variables
  • 24. Day 1
    • Day One – Discuss types of games (ex. role-playing game, shooters, mazes, skill, sports …)
    • Explore Environment and Use Scratch Cards (12)
    • With partners start planning game using workshop design guide
    Scratch and pair programming
  • 25. Scratch and pair programming
  • 26. Scratch and pair programming Move, Clone, Cut, Change Shape Sprite List Stage Sprite Position Full Screen Stage Create, Find or Surprise Sprite Start and Stop Game
  • 27. Scratch and pair programming Scripts Area
  • 28. Scratch and pair programming Blocks
  • 29. Scratch and pair programming
  • 30. Day 1
    • Programming concepts that students will be introduced to:
      • Loops
      • If/Then conditions
      • Sequences
      • Variables
      • Threads
      • coordination and synchronization
      • Boolean logic
      • random numbers
      • Trial and Error
    Scratch and pair programming
  • 31. Day 2
    • Students begin programming ( individually )
    • Examples
    Scratch and pair programming
  • 32. Example - guess
    • Elephant imagines a number between 1 and 100. Guess which one. If you guess the number, it changes its colour and stretche s trunk. If the imputed number is lower than his, he said, "My number is bigger." If imputed number is greater than his, he said, "My number is smaller." Learning Objective: Understanding conditional sentences, reading input
    • Example: GUESS
    Scratch and pair programming
  • 33. Example – ball and stick
    • Creating their own sprites: stick and ball. Stick, we put it next to the edge, move vertically with the aim to hit the ball. The ball is bouncing off the edges at random.
    • Learning Objective :
      • Creating game
    • Examples: in
    Scratch and pair programming
  • 34. Day 3
    • Explore
    • Set up an account
    • Pair programming concepts introduction
    • Download three games that are similar to the ones that you want to create
    • See how these games are coded
    • Save a game to your web account
    Scratch and pair programming
  • 35. Day 4
    • Set up pair programming
    • Discuss the use of broadcasting to go to another level
    • Constant Student Interaction – Ask 3 before me.
    Scratch and pair programming
  • 36. Day 5
    • Troubleshoot and peer review
    Scratch and pair programming
  • 37. Pair Programming 2 part
  • 38. Papers
    • Williams, L., & Kessler, R. (2000). All I really need to know about pair programming I learned in kindergarten. Communications of the ACM , 3 (5), 108-114. ACM. Retrieved from .
    • Nančovska Šerbec, I., Kaučič, B., & Rugelj, J. (2008). Pair programming as a modern method of teaching computer science. Int. j.: emerg. technol. learn. , vol. 3, s2, 45-49.
    Scratch and pair programming
  • 39. Scratch and pair programming Williams, L., & Kessler, R.: All I really need to know about pair programming I learned in kindergarten . Resnick, M. : All I really need to know (about creative thinking) I learned (by studying how children learn) in kindergarten
  • 40. Scratch and pair programming
  • 41. Agenda
    • Terms
    • Motivation/inspiration
    • Instructions
      • “ All I Ever Need to Know about Pair Programming I Learned in Kindergarten”
    • Advantages and disadvantages
    • Pair programming experiment
    • Survey on the experience
    • Conclusions
    Scratch and pair programming
  • 42. Terms
    • Pair programming (PP) is a practice where two programmers work together at one computer, collaborating on the same design, algorithm, code, or test
    • Extreme Programming ( XP ) is a software engineering methodology (and a form of agile software development)
    • Collaborative learning refers to methodologies and environments in which learners engage in a common task in which each individual depends on and is accountable to each other
    Scratch and pair programming
  • 43. Motivation
    • Experiences from teaching programming - students implicitly practiced PP without being aware of that
    • Modern studies confirmed the advantages of the method:
      • novice–novice pairs against novice solos experience significantly greater productivity gains than expert–expert pairs against expert solos
    • Related to collaborative work
    • Preparing for project work
    • Questionable story about XP
    Scratch and pair programming
  • 44. Scenario
    • The pair is made up of a driver and navigator ,
    • driver actively types at the computer or records a design
    • navigator watches the work of the driver and attentively identifies problems and makes suggestions
    • Both are also continuous brainstorming partners.
    • Rules of behavior are defined:
      • PP relationship is very active: communicate, at least every 45 to 60 seconds.
      • switching roles every 30-45 minutes or after the task is finished
    Scratch and pair programming
  • 45. If PP “works” or it doesn’t work?
    • L. Williams (2000): coupled programmers in the average are 15 % slower then solo programmers but they produce 15 % less errors
    • Arisholm (2007): 48% increase in correctness but no significant difference in time
    • Lui, Chan (2006): methodology is better for novices
    • Testing and debugging are expensive
    Scratch and pair programming
  • 46. All I Really Need to Know I Learned in Kindergarten ( By Robert Fulghum, 1988 )
    • Share everything.
    • Play fair.
    • Don’t hit people.
    • Put things back where you found them.
    • Clean up your own mess.
    • Don’t take things that aren’t yours.
    • Say you’re sorry when you hurt somebody.
    • Wash your hands before you eat.
    • Flush.
    • Warm cookies and cold milk are good for you.
    • Live a balanced life – learn some and think some and draw and paint and sing and
    • dance and play and work every day some.
    • Take a nap every afternoon .
    • When you go out into the world, watch out for traffic, hold hands and stick together.
    • Be aware of wonder.
    Scratch and pair programming
  • 47. Advantages
    • More discipline
    • Better code (less errors, easier to understand)
    • Flexible software development
    • Knowledge interchange between the partners
    • Pleasant atmosphere
    • Mutual ownership of the sources
    • Supervision
    • Cohesion in the team of two (in the pair participants became more familiar)
    • Pair is less sensitive on disturbances from environment
    • We need less computers (PC-s or workstations )
    Scratch and pair programming
  • 48. Disadvantages
    • Giving instructions to the less experienced is tiring
    • Experienced programmers rather work independently and they fill uncomfortable in the pair
    • Experienced programmer produces code without (or with less) bugs and it is purposeless to be paired
    • Is difficult to compare pair with solos empirically
    • Differences in the programming styles cause conflicts
    • Par could program less hour/day in comparison with solos which influence the deadline
    • In the SW enterprises where programmers work at home PP is difficult to realize
    Scratch and pair programming
  • 49. Scratch and pair programming
  • 50. Experience (1)– novices
    • At Faculty of Education:
      • An Introduction to programming
      • (1 year study:
      • Two - subject teachers: Computer science and *)
    • Background knowledge:
      • From flow-chars to working program e s
      • The last month in the semester
    Scratch and pair programming
  • 51. Experience – time table
    • Students are sent URL with longer test on programming
    • Homework, reading the paper: All I Really Need to Know I Learned in Kindergarten
    • 30 min discussion on the rules in the pair
    • Divide into pairs, who chose their names
    • Each pair is randomly given programming exercise
    • Pairs are presenting their programs and presenting their experience with pro et contra debate
    • Students fulfill web-poll
    Scratch and pair programming
  • 52. Web-poll and test
    • Time framework of PP?
    • Which positive experience with PP would you put out?
    • Which negative experience with PP would you put out?
    • Please, take few minutes to solve the web adaptive test in Moodle environment . Is you result better/equal/ worse then the former, wider test?
    Scratch and pair programming
  • 53. Scratch and pair programming
  • 54. Scratch and pair programming
  • 55. Scratch and pair programming
  • 56. Web poll results
    • 3/4 and even more said that the experience was positive
    • 9 of 16 were more or equally successful in solving the second (quick) test
    • Suitable for novice programmers
    • We continue d with the PP practice
    Scratch and pair programming
  • 57. Experience (2)
    • course Computer science practice – generation started 200 7 /0 8
    • We exclude the influence of the teacher
    • The same learning materials as in the Experience (1)
    Scratch and pair programming
  • 58. Experience ( 3 )
    • Course Programming
    • contents : dynamical structures (pointers) in Pascal
    • 2 school hours 2 exercises
    • 2 groups: PP, collective solving the examples
    • Exercises of different level of difficulty
    • Pairs need less time for adjustment
    • Pairs achieved better results then the group, which collectively solved the examples
    Scratch and pair programming
  • 59. Experience ( 4)
    • Course Programming
    • Contents: programming language C
    • 2 groups : opposite with experience 2
    • Knowledge assessment with short test
    Scratch and pair programming
  • 60. 4 years experience PP
    • 8 2 % had positive experience with PP or they founded PP good or excellent
    • 63 % of the students who participated the PP experiment showed better results on the testing after the PP
      • which could mean that better understanding of programming concepts was achieved
    Scratch and pair programming
  • 61. Conclusion
    • Modern form of collaborative work
    • Knowledge improvement
    • We will continue with the PP and Scratch
    Scratch and pair programming
  • 62. Scratch and pair programming