• Tidak ada hasil yang ditemukan

Mentoring Software Project Development 7

Dalam dokumen Guide to Teaching Computer Science (Halaman 140-146)

In what follows, we first address the contribution of project-based learning to learners in general and in the context of computer science education in particular. Then, we describe several activities to be facilitated in the MTCS course with respect to the mentoring pro- cess of software project development in high school computer science classes.

In Project Based Learning (PBL) situation learners work individually or cooperatively in groups, while the teacher mentors the process of project development. PBL aims to make the learned subject matter relevant for learners and to enable active learning (Blumenfeld et al. 1991). In PBL, learners ask questions, examine their assumptions, design the investi- gation process, collect and analyze data, use technology and exchange ideas (Krajcik et al.

1999), all while interacting in and with the learning environment in a constructivist fashion (Thomas 2000), and dealing with experiences and deliberations on significant problems (Ernest 1995). Barak et al. (2000) and Waks (1997) assert that PBL makes the learning authentic since it involves learners in activities that are based on daily situations. Further, learners’ ownership over the learning process develops their responsibility for their actions, and their cooperative learning with peers involves also social interaction.

Research works indicate that PBL develops thinking practices, independent learner abil- ities, motivation, self confidence, classmate cooperation, and an integrative understanding of the content as well as of the process (Krajcik et al. 1999; Barak et al. 2000; Green 1998;

Shepherd 1998). These results are hardly surprising, since PBL enables teachers to adapt the variety of tasks possible in PBL environments to each learner’s learning style (Krajcik et al. 1999). At the same time, however, PBL poses some difficulties that learners must face, such as difficulties in coping with the complex and open environment and difficulties with information processes (Krajcik et al. 1998).

In order to help learners deal with a variety of problems, the teacher is required to create an investigation-oriented environment that encourages learners’ responsibility and empha- sizes an intensive learning process of the project components (Blumenfeld et al. 1991). In general, Waks (1997) asserts that the focus of the teacher’s role must be modified in PBL environments from “teaching” activities to “learning” activities, by establishing conditions that enhance learners’ curiosity and motivation.

One example of PBL in computer science education is examined in Kay et al.’s (2000) research, which explored different teaching approaches for the Introduction to Computer Science course taught according to the object-oriented approach. PBL was found to be the most suitable approach, since it provides learners with the opportunity to deal with real problem-solving situations and to acquire problem-solving skills and practices. In the same spirit, Johnson (1997) claims that since instructors must teach in a way that develops learn- ers’ problem-solving experiences for the benefit of their future work environment, their teaching must guide learners to develop conceptual thinking, criticism, and creativity.

7 Based on (Meerbaum–Salant and Hazzan 2008). Copyright 2008 by the Association for the Advancement of Computing in Education (AACE). [http://www.aace.org] Included here by permission.

7

Software development projects conducted within high school computer science classes offer a prime example of a PBL environment. Similar to other PBL situations, the role of the computer science teacher in the development process of a software project is different than his or her role when teaching in the class. In addition to the teaching of the intended programming paradigm, programming language and related computer science concepts, computer science teachers are required to mentor the project development process from the early stages of subject selection to the final stages of testing and verification, to evalu- ate the learners’ learning process and, at the end, to evaluate the developed projects.

Fincher and Petre (1998) claim that such a process is a long and complex problem-solving process since it requires computer science teachers to deal with multiple problems simul- taneously and to exhibit supervision, management skills of projects of different scales, flexibility, and creative thinking.

This complexity of the teacher’s role in mentoring PBL in general and in the context of computer science education in particular, stresses the importance of addressing the men- toring process of software projects in the high school in the MTCS course. Activities 49 and 50 introduce to the students in the MTCS course the potential, as well as the chal- lenges, of mentoring software project development in the high school, and elevate their thinking about how to manage this process in their future classes. Additional activities related to project evaluation are presented in Chap. 10.

Since the mentoring process of software project is not a simple pedagogical task, it is recommended to address this topic in a relatively advanced stage of the MTCS course, after the students have already gained some sense of what computer science teaching means.

Activity 49: Analysis of Mentoring Software Project Development Situations

Stage A: Watch a video clip

The following trigger aims to let the students experience, as much as possible, situations they may encounter when guiding pupils in the development process of software projects.

In this trigger, the students watch a well-selected video clip of a class working on the development of a software project. While the students are watching the video, they are asked to focus on the teacher’s behavior, to write down positive and nega- tive characteristics of his or her behavior and to imagine how they would act in similar situations. The video can be paused from time to time for short discussions.

It is important to select the video very carefully so that it indeed presents different kinds of situations and different teacher approaches. If it is selected properly, such a trigger and the stages that follow it let the students experience some of the complex- ity involved in guiding pupils in the development of software projects.

If such a video is not available, as mentioned in Sect. 8.2, it is possible to visit a real high school computer science class whose pupils develop software projects;

alternatively, if this is not an applicable option, the instructor of the MTCS course can start from Stage C of this activity.

(continued)

115 7.4 Mentoring Software Project Development

Activity 49 (continued)

Stage B: Class discussion

After the video is watched, a class discussion takes place, in which the behavior of the computer science teacher is analyzed. Here are several questions that the dis- cussion can concentrate on:

1. What should a computer science teacher know for mentoring software project development?

2. What challenges does a computer science teacher face in this process?

3. What are the pedagogical advantages of software project development by com- puter science learners? What are the disadvantages of such situations?

Stage C: Worksheet on project based learning situations in computer science educa- tion, group work

The students work in groups on the worksheet presented in Table 7.8, whose purpose is to concentrate the students’ attention on the details of class management situations in a computer lab in which learners develop software projects.

(continued) Table 7.8 Worksheet on PBL situations in computer science

Worksheet

The following statements were said by high school pupils while working on their software projects in the computer lab.

Assume that you are the computer science teacher of this class.

Select five statements and for each of them:

– Describe your reaction to the pupil’s statement.

– Explain why you decided to answer the pupil in this particular way.

– Speculate the pupil’s reaction to your response and the continuation of the dialogue between you and the pupil.

Pupils’ statements

– I do not know how to start.

– Why did I choose this project? I am so stupid.

– I cannot do it.

– How does the function XXX work?

– I need a function that does…

– I am so satisfied with my progress.

– The program does not do what I wanted it to do.

– The computer did not save the last version. I quit!

– I am raising my hand for half an hour and you do not approach me.

– How can I start working on it?

– I do not want to present my project in front of the class.

– I do not understand the computer’s response. Why did it print this message?

– It does not work.

– How can I get 100 in the project?

– What should I do now?

7

Activity 49 (continued)

Stage D: Class discussion

The dialogues developed by the students in Stage C are presented and discussed.

It is reasonable to assume that different kind of responses will be suggested for each statement. In all cases, however, it is appropriate to analyze what aspect the students addressed in their scenarios: Did they focus on computer science concepts? Was the help given by the computer science teacher technical? Did the teacher’s response address pupil’s emotions and other motivational factors?

Stage E: Summary

The summary of this activity should address the following issues:

The mentoring of software project development in the high school is a complex

task both from the technical perspective and the emotional perspective.

The mentoring of software projects requires the computer science teacher to

respond simultaneously to many pupils.

When a computer science teacher responds to pupil’s question, the teacher should

not solve the problem for the pupil, but rather guide the pupil in a way that enables the pupil to move on.

Activity 50: Scheduling the Mentoring Process of Software Project Development

Stage A: Setting the framework

The instructor, together with the students, sketches a pedagogical environment in which a computer science teacher mentors a class of 20 pupils in the development process of a software project. This sketch includes: the development environment, the programming paradigm and programming language, the project scope, the length of the development period, and the grading policy.

Stage B: Group work

The students are asked to build a schedule for the mentoring process of the class they just sketched. For each period of time of the entire development process, they are asked to indicate the main activities that the computer science teacher and the pupils accomplish with respect to the project development. They should also explain each of their pedagogical considerations. This process can be repeated with respect to different periods of time, for example, one school year, 3 months, etc.

Stage C: Class discussion

Following the group work, the different options proposed by the groups are pre- sented, together with their pedagogical considerations. In this discussion, it is impor- tant to address several questions, such as:

(continued)

117 References

Activity 50 (continued)

Should a computer science teacher teach first all the relevant material and only

then start guiding his or her pupils in the development process? Or, alternatively, should the computer science teacher integrate the project development process with the actual teaching of the computer science material? What advantages and disadvantages does each approach have?

In what ways are the different-in-length schedules that the students suggested

similar? In what ways are they different? On what factors are these schedules dependent: the development environment? The programming paradigm? The pro- gramming language? Other factors? In what way?

What aspects, beyond the actual teaching of computer science content, should a

computer science teacher pay attention to when mentoring software project development?

Stage D: Read a paper, homework

If the instructor of the MTCS course wishes to further deepen the students’ atten- tion to managerial aspects of mentoring software projects in high school computer science classes, the students can be asked to work on the homework presented in Table 7.9.

Table 7.9 Homework about mentoring methodology for software projects Homework - Mentoring methodology for software projects

The following paper presents a mentoring methodology for high school computer science pupils who develop a software project.

Meerbaum–Salant, O. and Hazzan, O. (2010). An agile constructionist mentoring methodology for software projects in the high school, ACM Transactions on Computing Education – TOCE 9(4).

Read the paper and analyze the mentoring methodology it presents. Address the following questions: What are the advantages of the mentoring methodology?

What are its disadvantages? Can you suggest improvements to the mentoring methodology presented in the paper?

References

Barak M, Waks S, Doppelt Y (2000) Majoring in technology studies at high school and fostering learning. Learn. Environ. Res.: An Int. J. 3: 135–158

Blumenfeld P C, Soloway E, Marx R et al (1991) Motivating project-based learning: Sustaining the doing, supporting the learning. Educ. Psychol. 26: 369–398

Ernest P (1995) The one and the many. In Steffe L P, Gale, J (Eds.) Constructivism in education:

pp. 459–486. Hillsdale, NJ: Lawrence Erlbaum Associates

Fincher S, Petre M (1998) Project-based learning practices in computer science education. Proc. of the Front. in Educ. Conf., Tempe Arizona: 453–494

7

Green A M (1998) Project-based learning: Moving students through the GED with meaningful learning. ERIC Database, ED422466

Hebetim (1995) Educational game – the Conditional-Statement-Bingo, Hebetim – Journal of the Israeli National Center for Computer Science Teachers, June: 31–32

Johnson D S (1997) Learning technological concepts and developing intellectual skills. Int. J. of Technol. and Des. Educ.: 161–180

Kay J, Barg M, Fekete A et al (2000) Problem-based learning for foundation Computer Science courses. Comput. Sci. Educ. 10: 109–128

Krajcik J S, Blumenfeld P C, Marx R W et al (1998) Inquiry in project-based science classrooms:

Initial attempts by middle school students. The J. of the Learn. Sci. 7: 313–350

Krajcik J S, Czerniak C, Berger C (1999) Teaching science: A project- based approach. McGraw- Hill College, New York

Lakoff G, Johnson M (1980) Metaphors we live by. The University of Chicago Press

Lapidot T, Levy D (1993) From programming to computer science: Opportunities and pitfalls. In Kynigos C. (ed) Proc. of the 4th Eur. Logo conf. Athens

Levy D, Lapidot T (1997) Rich task: Opportunities for learning computer science ideas. Hebetim – Journal of the Israeli National Center for Computer Science Teachers, 9: 34–26

Meerbaum–Salant O, Hazzan O (2008) Challenges in mentoring software development projects in the high school: Analysis according to Shulman’s teacher knowledge base model. J. of Comput.

in Math. and Sci. Teach. 28(1): 23–43

Novak J D, Cañas A J (2008) The theory underlying concept maps and how to construct them, Technical Report IHMC CmapTools 2006-01 Rev 01-2008, Florida Inst. for Hum. and Mach.

Cogn. http://cmap.ihmc.us/Publications/ResearchPapers/TheoryUnderlyingConceptMaps.pdf.

Accessed 14 July 2010

Shepherd H G (1998) The Probe Method: A Project-Based-Learning Model’s effect on critical thinking skills. Diss. Abstr. Int., Section A 59(3A): 779

Thomas J W (2000) A review of research on project-based learning. http://www.autodesk.com/

foundation.

Waks S (1997) Education and technology-dimensions and implications. Position paper on pros- pects of interrelationship between the academia and the educational system in Israel, the Van Leer Jerusalem Institute, The Forum for High. Educ., the Ministry of Education, Culture and Sports, Israel

Williams L, Kessler R (2002) Pair programming illuminated. Addison Wesley

119

Lab-Based Teaching 8

Abstract This chapter focuses on computer science teaching methods that fit especially  to be employed in the computer lab. The uniqueness of the computer lab as a learning  environment for computer science is explained by the fact that it enables learners to explore  their problem solving strategies, to express their solutions to a given problem, to get feed- back regarding to the correctness of their solution and to reflect on it, to develop large  projects, to explore new topics, and to deepen their understanding of the nature of the  algorithms they develop. The aim of the lessons in the MTCS course that are dedicated  to this topic is to expose the students to usages of the computer lab as a learning environ- ment and to let them realize how it may improve their future pupils’ understanding of  computer science ideas. One of the main messages of this chapter is that the learning  of computer science in the computer lab is not limited to programming tasks; rather, the  computer lab can be used in additional pedagogical ways that further enhance learners’ 

understanding of computer science. Specifically, the following topics are addressed in  this chapter: what is a computer lab?, the lab-first teaching approach, visualization and  animation, and using the Internet in the teaching of computer science.

8.1

Dalam dokumen Guide to Teaching Computer Science (Halaman 140-146)