62
University of Ljubljana 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}@pef.uni-lj. si

Scratch pp ohrid

Embed Size (px)

DESCRIPTION

Educational games are games that have been specifically designed to teach players about a certain subject, expand concepts, reinforce development, understand an historical event or culture, or assist them in learning a skill as they play. Scratch is an educational programming language with graphical interface, created as a tool which would make programming easy and intuitively understandable. Its purpose is to allow students without any programming experience to learn the basic principles programming. It will be used to develop fun and educational projects, as prototypes for educational games.We will present how students could achieve competences related to educational games programming by using teaching method “pair programming”. Pair programming (PP) differs from standard methods (individual work, seminars, projects etc.). It belongs to the extreme programming as a discipline of software development and is known to have positive effects on teaching first programming language. Our goal is to realize teaching pair programming experiment, as a technique based on collaboration, with aim to improve students’ programming skills by shearing ideas and control on the developing code. Student pairs are more self -sufficient which reduces their reliance on the teaching staff. Qualitatively, paired students demonstrate higher order thinking skills than students who work alone. The results are in general positive and demonstrate the promising usage of this collaborative learning technique in the introductory programming courses.Before the experiment students will be explained basis of Scratch and the exact rules of PP technique. After the experiment they pairs will submit their projects, reflect on the peers’ projects and fulfill questionnaire on the attitude of students towards PP, as teaching method.

Citation preview

Page 1: Scratch pp ohrid

University of Ljubljana

Scratch and pair programming

Irena Nančovska Šerbec

Jože RugeljUniversity of Ljubljana

Faculty of EducationDep. for math. and comp.

{Irena.Nancovska, Joze.Rugelj}@pef.uni-lj.si

Page 2: Scratch pp ohrid

Scratch

1 part

Page 3: Scratch pp ohrid

Scratch and pair programming 3

Sources

Scratch download: http://scratch.mit.edu/ ScratchEd: http://scratched.media.mit.edu/

Scratch Lesson Plans: http://wiki.classroom20.com/Scratch+Lesson+Plans

Resources for parents and teachers to teach children Scratch programming : http://scratch.redware.com/

Web WORKSHOP: http://learnscratch.org/ Scratch Beginner's Guide - A Scratch Tutorial :

http://www.scratchguide.com/index.php?page=scratch-programming-tutorial-2

Marija Oblak, PROGRAMSKA ORODJA V POMOC UČENJU PROGRAMIRANJA, diplomsko delo, PEF UL, 2009.

Keith Patton, Sctartch, PPT: http://fortleboeuf.wikispaces.com/file/view/Scratch.ppt -

Page 4: Scratch pp ohrid

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 http://web.media.mit.edu/~mres/papers/Scratch-CACM-final.pdf)

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 http://web.media.mit.edu/~mres/papers/kindergarten-learning-approach.pdf )

Page 5: Scratch pp ohrid

Scratch and pair programming 5

Page 6: Scratch pp ohrid

Scratch and pair programming 6

There are only 10 types of people in the world —those who understand binary, and those who don't.

Page 7: Scratch pp ohrid

Scratch and pair programming 7

Endless Loop: n., see Loop, Endless.

Loop, Endless: n., see Endless Loop.

From Data Processing Dictionary

Page 8: Scratch pp ohrid

Scratch and pair programming 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

Page 9: Scratch pp ohrid

Scratch and pair programming 9

Agenda

What is Scratch? Scratch and …

21 Century Learning Skills

the classroom

Programming

sprite is a two-dimensional image or animation that is integrated into a larger scene.

Page 10: Scratch pp ohrid

Scratch and pair programming 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

Page 11: Scratch pp ohrid

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)

Page 12: Scratch pp ohrid

Scratch and pair programming 12

What is Scratch

imagine • program • share

Page 13: Scratch pp ohrid

Scratch and pair programming 13

What is Scratch

Last version 1.4 Translation:

Available in 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

Page 14: Scratch pp ohrid

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

Page 15: Scratch pp ohrid

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.

Page 16: Scratch pp ohrid

Scratch and pair programming 16

Scratch and 21 century

Page 17: Scratch pp ohrid

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

Page 18: Scratch pp ohrid

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

Page 19: Scratch pp ohrid

Scratch and pair programming 19

Scratch and the Classroom

Page 20: Scratch pp ohrid

Scratch and pair programming 20

School

At Faculty of Education: An Introduction to programming(1 year study:Two-subject teachers: Computer

science and *)7th Grade Computer Literacy

Curriculum (Computer Science Curriculum). 12 years old children

Page 21: Scratch pp ohrid

Scratch and pair programming 21

motion control looks

Page 22: Scratch pp ohrid

Scratch and pair programming 22

sensing sound operations

Page 23: Scratch pp ohrid

Scratch and pair programming 23

pen variables

Page 24: Scratch pp ohrid

Scratch and pair programming 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

Page 25: Scratch pp ohrid

Scratch and pair programming 25

Page 26: Scratch pp ohrid

Scratch and pair programming 26

Move, Clone, Cut, Change Shape

Sprite List

StageSprite

PositionFull

Screen

Stage

Create, Find or Surprise Sprite

Start and Stop Game

Page 27: Scratch pp ohrid

Scratch and pair programming 27

Scripts Area

Page 28: Scratch pp ohrid

Scratch and pair programming 28

Blocks

Page 29: Scratch pp ohrid

Scratch and pair programming 29

Page 30: Scratch pp ohrid

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

Page 31: Scratch pp ohrid

Scratch and pair programming 31

Day 2

Students begin programming (individually)

Examples

Page 32: Scratch pp ohrid

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 stretches 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_number.sb

Page 33: Scratch pp ohrid

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: igra_palica_zoga.sb in igra_palica_zoga_zadetki.sb

Page 34: Scratch pp ohrid

Scratch and pair programming 34

Day 3

Explore http://scratch.mit.edu 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

Page 35: Scratch pp ohrid

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.

Page 36: Scratch pp ohrid

Scratch and pair programming 36

Day 5

Troubleshoot and peer review

Page 37: Scratch pp ohrid

University of Ljubljana

Pair Programming

2 part

Page 38: Scratch pp ohrid

Scratch and pair programming 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 http://portal.acm.org/citation.cfm?id=332833.332848.

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.

Page 39: Scratch pp ohrid

Scratch and pair programming 39

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

Page 40: Scratch pp ohrid

Scratch and pair programming 40

http://www.hanoulle.be/2009/11/pairprogramming-is-like-sex/

Page 41: Scratch pp ohrid

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

Page 42: Scratch pp ohrid

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

Page 43: Scratch pp ohrid

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

Page 44: Scratch pp ohrid

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

Page 45: Scratch pp ohrid

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

Page 46: Scratch pp ohrid

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.

Page 47: Scratch pp ohrid

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)

Page 48: Scratch pp ohrid

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

Page 49: Scratch pp ohrid

Scratch and pair programming 49

Page 50: Scratch pp ohrid

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 programes

The last month in the semester

Page 51: Scratch pp ohrid

Scratch and pair programming 51

Experience – time table

1. Students are sent URL with longer test on programming

2. Homework, reading the paper: All I Really Need to Know I Learned in Kindergarten

3. 30 min discussion on the rules in the pair4. Divide into pairs, who chose their names5. Each pair is randomly given programming

exercise6. Pairs are presenting their programs and

presenting their experience with pro et contra debate

7. Students fulfill web-poll

Page 52: Scratch pp ohrid

Scratch and pair programming 52

Web-poll and test

1. Time framework of PP?2. Which positive experience with PP

would you put out? 3. Which negative experience with PP

would you put out?4. Please, take few minutes to solve the

web adaptive test in Moodle environment. Is you result better/equal/ worse then the former, wider test?

Page 53: Scratch pp ohrid

Scratch and pair programming 53

Page 54: Scratch pp ohrid

Scratch and pair programming 54

Page 55: Scratch pp ohrid

Scratch and pair programming 55

Experience from PP 1. generation

6%6%

6%

66%

16%

negative

nothing spec.

no opinion

good

excellent

Page 56: Scratch pp ohrid

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 continued with the PP practice

Page 57: Scratch pp ohrid

Scratch and pair programming 57

Experience (2)

course Computer science practice – generation started 2007/08

We exclude the influence of the teacher

The same learning materials as in the Experience (1)

Experience from PP, 2 generation

0% 14%0%

53%

33%

negative

nothing spec.

no opinion

good

excellent

Page 58: Scratch pp ohrid

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

Page 59: Scratch pp ohrid

Scratch and pair programming 59

Experience (4)

Course Programming Contents: programming language C 2 groups: opposite with experience 2 Knowledge assessment with short test

Page 60: Scratch pp ohrid

Scratch and pair programming 60

4 years experience PP

82 % 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

Cumulative experience of 3 generations

4% 10%

4%

59%

23%negative

nothing spec.

no opinion

good

excellent

Page 61: Scratch pp ohrid

Scratch and pair programming 61

Conclusion

Modern form of collaborative work Knowledge improvement We will continue with the PP and

Scratch

Page 62: Scratch pp ohrid

Scratch and pair programming 62