• 沒有找到結果。

The Difficulties of the Students

5. Conclusions

5.3 The Difficulties of the Students

The third question of this research is to examine the difficulties of the students in learning programming with Greenfoot. One of the major difficulties of the students came from the practices.

As the old saying, “practice makes perfect”, practice is an important aspect in the design of the Greenfoot class in this research. Half of the eight-week class time are dedicated to the practices of the newly-learned concepts, and four additional scenarios are added for these practice classes. In the instructional classes, the students were following the instructions of the teacher in order to finish the scenarios. In the practice classes, the students were presented the final versions of the scenarios and asked to finish the scenarios on their own, with little or no instructions. The main supporting structure of the class – the teacher – is partially or at all removed from these practices.

The students encountered great difficulty finishing the practice scenarios on

their own. They largely depends on the teacher in order to finish the instructional scenarios. When they are asked to be on their own, they do not know what to do.

They find hints from previous scenarios, previous codes, the documents, or the discussion with other students. They copy the program lines from their previous scenarios. When these lines do not work (of course these lines do not work!), they are stuck.

The teacher suggests that their concepts are stuck with their previous scenarios.

When the students learned the if-statement, the if-statement was learned in the context of the little crab scenario. Their if-statements were like this:

if (canSee(Worm.class)) {

}

where the canSee(Class) method were inherited from the superclass Animal in the little-crab scenario. However, when the students were asked to finish the Pac-Man and the tank wars practice scenarios in the following classes, they copied the whole line, including the canSee(Class) method to their practice scenarios. The students cannot separate their concepts of the if-statement from this whole line. When that does not work, the students are stuck.

The teacher suggests that future teaching materials should be concept-based, but not scenario-based. For example, when we are teaching the if-statement, there should be plenty of small jobs for this class that focus on the if-statement, so that the can understand the structure of the if-statement but not the whole line.

This suggestion may come with the success experience of the teacher with Scratch. This problem does not exist in Scratch. In Scratch, the learners can have pieces of programs, and these pieces still run. The teachers can use partial scripts to demonstrate the programming concepts without a full project or a scenario.

This seems to violate the principles of project-based, problem-based learning, and the constructive learning theory that emphasizes the “whole learning”. However, this is actually the problem that we are facing. The solution is to be investigated further.

REFERENCES

1: 教育部 (2008). 普通高級中學選修科目「資訊科學」課程綱要. Retrieved from the Minister of Education website: http://www.edu.tw/pages/detail.aspx?

Node=3015&Page=8657

2: TIOBE Software (2013, July). TIOBE Programming Community Index for July 2013. Retrieved 9 May 2013, from

http://www.tiobe.com/index.php/content/paperinfo/tpci/

3: Gartner, Inc. (2013, February 13). Gartner Says Worldwide Mobile Phone Sales Declined 1.7 Percent in 2012. Retrieved from

https://www.gartner.com/newsroom/id/2335616

4: Carter, D. P. (2009). AP computer science teachers’ guide. Retrieved from the College Board website:

http://apcentral.collegeboard.com/apc/public/courses/teachers_corner/4483.htm l

5: Jenkins, T. (2002, August). On the difficulty of learning to program. In

Proceedings of the 3rd Annual Conference of the LTSN Centre for Information and Computer Sciences, 53-58. doi:

6: Papert, S. (1980). Computer-based microworlds as incubators for powerful ideas.

The computer in the school: Tutor, tool, tutee, 203-210. New York, NY:

Teachers College Press.

7: Free Software Foundation (1991). GNU General Public License, version 2.

Retrieved from https://www.gnu.org/licenses/gpl-2.0.html

8: Henriksen, P., and Kölling, M. (2004). Greenfoot: combining object visualisation with interaction. In OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, 73-82. doi:10.1145/1028664.1028701

9: Kölling, M. (2010). The Greenfoot programming environment. ACM Transactions on Computing Education (TOCE), 10(4), 1-21. doi:10.1145/1868358.1868361 10: Latour, L. (1995). Microworlds. Retrieved from

http://www.umcs.maine.edu/~larry/microworlds/microworld.html

11: diSessa, A. A. (2000). Changing minds: Computers, learning, and literacy. MIT Press.

12: Papert, S. and Harel, I. (1991). Situating Constructionism. Constructionism, . New York, NY: Ablex Publishing Corporation.

13: Feurzeig, W. (1969, March). Computer Systems for Teaching Complex Concepts.

Retrieved from http://oai.dtic.mil/oai/oai?

verb=getRecord&metadataPrefix=html&identifier=AD0684831

14: Cynthia Solomon (n.d.). Logo, Papert and Constructionist Learning. Retrieved from http://logothings.wikispaces.com/

15: Boytchev, P. (2013, June). Logo Tree Project. Retrieved from http://www.elica.net/download/papers/LogoTreeProject.pdf

16: Pattis, R. E. (1981). Karel the Robot: A Gentle Introduction to the Art of Programming. New York, NY: John Wiley & Sons, Inc.

17: Bergin, J. (1996). Karel++: A Gentle Introduction to the Art of Object-Oriented Programming. New York, NY: John Wiley & Sons, Inc.

18: Bergin, J., Stehlik, M., Roberts, J., Pattis, R. E. (2005). Karel J Robot: A Gentle Introduction to the Art of Object-Oriented Programming in Java. CafePress.

19: Bergin, J., Stehlik, M., Roberts, J., Pattis, R. E. (2008). Monty Karel: A Gentle Introduction to the Art of Dynamic Object-Oriented Programming in Python.

CafePress.

20: Bergin, J., Stehlik, M., Roberts, J., Pattis, R. E. (2012). Karel R Tuesday: A Gentle Introduction to the Art of Dynamic Object-Oriented Programming in Python.

CafePress.

21: Wellenius, H. L. (2003). JKarel: A Stepping-stone to Object-oriented Programming in Java (Doctoral dissertation, Harvard University).

22: Elkner, J.2 (2004). The Guido van Robot Programming Language. Retrieved from http://gvr.sourceforge.net/

23: Cooper, S. (2010, November). The Design of Alice. ACM Transactions on Computing Education (TOCE), 10(4). doi:10.1145/1868358.1868362 24: Cooper, S., Kölling, M., Maloney, J., Resnick, M., and Utting, I. (2010,

November). Alice, Greenfoot, and Scratch – A Discussion. ACM Transactions on Computing Education (TOCE), 10(4). doi:10.1145/1868358.1868364 25: Brennan, K., Eastmond, E., Hernández, Andrés M., Kafai, Y., Maloney, J., Millner,

A., Resnick, M., Rosenbaum, E., Rusk, N., Silver, J., and Silverman, B. (2009, November). Scratch: Programming for all. Communications of the ACM, 52(11), 60-67. doi:10.1145/1592761.1592779

26: Eastmond, E., Maloney, J., Resnick, M., Rusk, N., and Silverman, B. (2010,

November). The Scratch programming language and environment. ACM Transactions on Computing Education (TOCE), 10(4).

doi:10.1145/1868358.1868363

27: The Logo Foundation (n.d.). Logo Software. Retrieved July 11, 2013, from http://el.media.mit.edu/logo-foundation/products/software.html

28: Kölling, M. (2010). Introduction to programming with Greenfoot: Object-Oriented Programming in Java with Games and Simulations. Prentice Hall Press.

29: Brindley, G., Eccleston, G., and McDermott, R. (2008, June). More than a good story – Can you really teach programming through storytelling?. Innovation in Teaching And Learning in Information and Computer Sciences, 7(1).

doi:10.11120/ital.2008.07010034

30: Yu-Tzu, L. (2011). Effects of Game-oriented Teaching Material on Senior High School Students’ Programming Learning (Master thesis, National Taiwan Normal University).

31: Al-Bow, M., Austin, D., Edgington, J., Fajardo, R., Fishburn, J., Lara, C.,

Leutenegger, S., and Meyer, S. (2008, August). Using Greenfoot and games to teach rising 9th and 10th grade novice programmers. In Sandbox '08

Proceedings of the 2008 ACM SIGGRAPH symposium on Video games, 55-59.

doi:10.1145/1401843.1401853

32: Al-Bow, M., Austin, D., Edgington, J., Fajardo, R., Fishburn, J., Lara, C.,

Leutenegger, S., and Meyer, S. (2009, July). Using game creation for teaching computer programming to high school students and teachers. In ITiCSE '09 Proceedings of the 14th annual ACM SIGCSE conference on Innovation and technology in computer science education, 104-108.

doi:10.1145/1595496.1562913

33: Aedo, I., Díaz, P., Díez, D., and Montero, S. (2010, April). Dual instructional support materials for introductory object-oriented programming: Classes vs.

objects. In Education Engineering (EDUCON), 2010 IEEE, 1929-1934.

doi:10.1109/EDUCON.2010.5492438

34: Murphy, B. and Villaverde, K. (2012). Senior project: Game development using Greenfoot. Journal of Computing Sciences in Colleges, 27(4), 1929-1934.

35: DiSalvo, B., Guzdial, M., and Simmons, S. (2012). Using game development to

reveal programming competency. In FDG '12 Proceedings of the International Conference on the Foundations of Digital Games, 89-96.

doi:10.1145/2282338.2282359

APPENDICES

APPENDIX A THE STUDENT SURVEY QUESTIONNAIRE

This is the questionnaire of the student survey after the Greenfoot class is over.

The questions in this questionnaire are drew from the research questions and the field observation records. They are further explained in 3.2.2.

Class: Name: Gender: Seat #:

3. I want to design my program with Greenfoot after class. Java documents when I ran into problems in Greenfoot.

6. I’m more confident with programming than the previous semester after I learned Greenfoot.

7. It is easy to add animations and sounds in Greenfoot.

8. The functions of animations and sounds in Greenfoot help to increase my learning interest.

9. It is easy to add object interaction with Greenfoot.

10. The functions of object interaction in Greenfoot help to increase my learning interest.

11. It is easy to create different effect than others with Greenfoot.

12. Which scenarios are most impressive to me among the Greenfoot scenarios taught in this semester?

☐Wombats; Asteroids; Fat Cat; Little crab; Pac-Man; Piano; Emoticon; ☐ ☐ ☐ ☐ ☐ ☐ Tank wars.

☐Why are they most impressive?

APPENDIX B THE OUTLINES OF THE TEACHER INTERVIEW

This is the outlines of the teacher interview after the Greenfoot class is over.

The questions in this outlines are drew from the research questions and the field observation records. They are further explained in 3.2.3.

Greenfoot Class Teach Interview Outline

1. Can Greenfoot create the learning interest of the students? Please give us examples.

2. Which designs or functions of Greenfoot can create the learning interest of the students? Please give us examples.

3. Can Greenfoot invoke the active learning behaviors of the students?

4. What is the difficulty to teach with Greenfoot?

5. In the seventh class (the Emoticon scenario), you have said that the knowledge of the students was locked on the scenarios. Could you please further explain it?

APPENDIX C THE GREENFOOT CLASS

The content of the Greenfoot class. The design principles of this class is further explained in 3.3.

Week 1 Introduction

• Date: 2013/4/3

• Concepts: Greenfoot UI, object, class, method call, parameter, return value

• Scenarios:

◦ Wombats and leaves: Students are asked to this scenario to get familiar with the Greenfoot user interface and the basic object concepts. This scenario is part of Chapter 1 of Kölling’s Greenfoot textbook. It is downloaded from the Greenfoot website.

Concepts: Greenfoot UI, object, class, method call, parameter, return value

Figure C.1 The wombat scenario

◦ Asteroids: Students are presented an empty space. They are asked to place the actors with the mouse, explore and find out how to operate and play the game by themselves. This scenario is part of Chapter 1 of Kölling’s Greenfoot textbook. It is downloaded from the Greenfoot website.

Concepts: Greenfoot UI.

Figure C.2 The asteroids scenario

◦ Fat cat: A fat cat that can perform several actions. Students are asked to explore and interact with the fat cat. This is an extra exercise of the first week introductory class. It was downloaded from the Greenfoot website, and is an official exercise for Chapter 2.

Concepts: Greenfoot UI, method call.

Figure C.3 The fat cat scenario

Week 2

if

-statement

• Date: 2013/4/10

• Concepts: source code, method call, parameter, sequence, if-statement

• Scenarios:

◦ Little crab: A crab that eats the worms but is eaten by the lobsters. Students are presented with an empty sand land. They are asked to:

▪ Program the crab so that it move continuously and turn at the world edge.

▪ Add new classes Worm and Lobster and put them on the world.

▪ Program the crab and lobsters so that lobsters eat crabs, and crabs eat worms.

▪ Program the crab to navigate with keyboard keys from the player.

This scenario is part of Chapter 2, 3, and 4 of Kölling’s Greenfoot textbook.

It is downloaded from the Greenfoot website.

Concepts: source code, method call, parameter, sequence, if-statement

Figure C.4 The little crab scenario

Week 3 Creating Objects (The

new

Command)

• Date: 2013/4/17

• Concepts: dot notation, random numbers, defining methods, comments, new

(creating objects programmatically), for-loop control structure

• Scenarios

◦ Little crab: Continue from the last week. Students are asked to:

▪ Add crabs, worms and lobsters when the world is initiated.

▪ Add these animals in random locations.

▪ Add JavaDoc comments to their code.

Concepts: dot notation, random numbers, defining methods, comments.

Week 4 Practice:

if

-statement

• Date: 2013/4/24

• Concepts: if-statement, method call, defining method, random number.

• Scenarios:

◦ Pac-Man: An imitation of the classic game “Pac-Man”, but largely simplified. Students are initially presented with Pac-Man and its enemies unmovable. They are asked to

▪ Add the keyboard controls to Pac-Man.

▪ Make Pac-Man eat the enemies and play the sound effects when eating.

▪ Make the enemies run randomly.

The Pac-Man scenario is used as an exercise for the concepts learned in the previous two weeks with the little crab scenario. It is expressly designed by the researcher for this Greenfoot class.

Concepts: Method call, parameter, sequence, if-statement, dot notation, random numbers, defining methods, comments, constructors, state, instance variables (fields), assignment, new (creating objects programmatically).

Figure C.5 The Pac-Man scenario

Week 5 Variables, with Practice

• Date: 2013/5/1

• Concepts: instance variable, if-else statement, constructor, new (creating objects programmatically), random number

• Scenarios:

◦ Little crab: Continue from the previous week. Students are asked to:

▪ Animate the crab by switching two images continuously.

▪ Program the crab to remember the number of worms eaten.

Concepts: instance variable, if-else statement, constructor, new (creating objects programmatically), random number.

◦ Pac-Man: Continue from the previous work. Students are asked to:

▪ Add enemies at random locations.

▪ Program Pac-Man to face to the new direction when it changes its direction.

▪ Count the number of enemies Pac-Man has eaten.

This is a practice of the first half of the class.

Concepts: instance variable, new (creating objects programmatically), random number.

Week 6 Loops and Arrays

• Date: 2013/5/8

• Concepts: parameter in constructor, array, for-loop control structure, if -statement

• Scenarios:

◦ Piano: A piano that the user can play with keyboard. Students are presented with an empty table. They are asked to:

▪ Add piano keys with different keyboard keys and sound notes using arrays and loops.

This scenario is part of Chapter 5 of Kölling’s Greenfoot textbook. It is downloaded from the Greenfoot website.

Concepts: parameter in constructor, array, for-loop control structure, if -statement

Figure C.6 The piano scenario

Week 7 Practice: Loops and Arrays

• Date: 2013/5/15

• Concepts: parameter in constructor, array, for-loop control structure, if -statement

• Scenarios:

◦ Emoticon: There are five emoticons in a row. Each emoticon has its own face and voice. Click on each emotion and it will cry with its own voice.

Students were presented with an empty world. Students are asked to:

▪ Finish it using the knowledge learned in last week.

The emoticon scenario is used as an exercise for the Piano scenario. The emoticon scenario was downloaded from Greenroom – the Greenfoot teacher online community – as an exercise of Chapter 5 (the piano scenario).

Concepts: parameter in constructor, array, for-loop control structure, if -statement

Figure C.7 The emoticon scenario

Week 8 Comprehensive Practice

• Date: 2013/5/22

• Concepts: method call, if-statement, random number, defining method, comment, constructor, new (creating objects programmatically), for-loop

• Scenarios:

◦ Tank wars: An imitation of the classic game Atari® “Tank”, but largely simplified. Students are presented with a blank battlefield. Students are asked to:

▪ Add the tank and the enemies at random places programmatically.

▪ Add the keyboard controls to the tank to move and fire.

▪ Make bullets move forward, and destroy the enemy on contact.

▪ Make enemies run randomly, and destroy the tank on contact.

The tank wars scenario is used as a comprehensive practice to most of the concepts they learned before. It is expressly designed by the researcher for this Greenfoot class.

Concepts: method call, if-statement, random numbers, defining methods, comment, constructor, variables, assignment, new (creating objects programmatically), for-loop.

Figure C.8 The tank wars scenario

APPENDIX D THE OBSERVATION ITEMS

The observation items are composed of the engagement and exploration behaviors of the students, the teaching events, and other events that may affect the learning behaviors of the students. They are further explained in 3.5.1.

1. Teaching events

A. Loading new scenarios.

B. Switching broadcasting on and off.

C. Tales or jokes told by the teacher.

D. Concepts told by the teacher.

E. The ways the teacher connects the concepts.

F. Demonstration.

2. Classroom atmosphere A. High or low atmosphere.

B. The students screaming or showing their interest.

C. The students distracted by other things (chat rooms, emails, auctions, videos, games, cellular phones, music).

D. The students feeling bored or getting asleep.

E. The students answering the teacher’s question.

F. The students asking the teacher.

G. The discussion of the students.

H. The interest of the students to the answers.

I. The disturbance, gathering, playing of the students.

J. The students wearing special clothing.

K. The special belongings of the students.

3. Knowledge exploration A. The students trying errors.

B. The students trying other ways of playing and practice that the teacher did not teach.

C. The students finding answers from the internet or other external resources.

D. The students finding answers by their own.

E. The students setting their own targets and trying.

4. Cooperative Learning

A. The students asking other students.

B. The students answering other students.

C. The discussion of the students.

D. The students watching the answers of the others.

5. External events

A. Breaking in by students of other classes.

B. Breaking in by other teachers.

C. Construction work.

D. Things that may happen before the class (for example, the previous classes).

E. Things that may follow this class (for example, the next classes).

6. Other events

APPENDIX E A SAMPLE OBSERVATION SHEET

The observation sheet contains the time, students, content and mark of the field observation records. They are further explained in 3.5.1.

Greenfoot Class Observation Sheet

Date: 2013/ / Time: : Week #: Page #: / Observer:

Class: # of students: Male: Female: Seats: / / /

Time Students Content Mark

APPENDIX F EXAMPLES OF RAW FIELD OBSERVATION RECORDS

Greenfoot Class Observation Sheet

Date: 2013/ 4 / 10 Time: 10 : 15 Week #: 2 Page #: 1 / 6 Observer: Yang Class: 103 # of students: 40 Male: 21 Female: 19 Seats: 10 / 10 / 10 / 10

Time Students Content Mark

10:25 1-9 Can move.

10:25 4-10 A lot of crabs.

10:25 Switch screen. turn(pass parameter). Turn around.

10:26 2-9 So disgusting

10:26 4-10 So disgusting

10:26 Switch. Do turn.

10:26 4-9 Scream and laugh.

10:27 4-10 “Oh” 4-9 So disgusting.

10:27 2-9 So cool.

10:28 Touch edge turn. (S)

10:28 Use Scratch to demonstrate “if”, change “if” to text.

10:29 3-9 Read book.

10:29 Ask teacher when is mid-exam. *

10:30 Put in small braces. Notice there are many braces.

Line-up. 4 spaces indent. 4 spaces indent in “if”.

10:31 4-9 “Touch the edge turn” Super cool

10:31 “Oh”

10:31 S

10:32 Ask teacher the progress of the control group. *

10:33 “Line up”

10:33 2-9 Big and small braces

10:34 1-3 “Where should I put the right brace?” Teacher did not notice.

10:34 4-9 Finished. “So disgusting”

APPENDIX G A SAMPLE TRANSCRIPTION SHEET

The transcription sheet contains the meta information of that class, and the time, students, event, comment and tags of the transcribed records. They are further explained in the “Field observation” section. The definitions of the tags are attached in Appendix H.

Greenfoot Class Observation Records Date

Time Week # Observer Class

# students Seats Absent Scenarios Concepts Upload?

Summary

Time Students Event Comment Tags

APPENDIX H THE DEFINITIONS OF THE TAGS

The definitions of the tags used in the transcription and analysis process. These tags are initially added in an arbitrarily manner to reflect the patterns emerged from the observation records. They are not mutually-exclusive. Primitive tags may joined into abstract tags in subsequent reviews, until they reach the final “interest”, “explore”, and

“difficulty” tags. They are further explained in 3.5.1.

Greenfoot Class Field Observation Record Tag Definitions

Tag Definition and description

class The teaching and learning events of the class. It is used to reconstruct the class progress, and as the causes of the learning behaviors of the students. It is defined as “the events that are part of the progress of the class.” It includes but not limited to:

1. Class on, class off, and free time.

2. The teacher loads new scenarios.

3. The teacher describes new concepts.

4. The teacher demonstrates the result.

5. The teacher switches broadcasting on and off.

6. The students finish their jobs.

7. The students upload their works.

interest The interest of the students. It is defined as “the behaviors of the students that demonstrate positive

interest The interest of the students. It is defined as “the behaviors of the students that demonstrate positive

相關文件