ITBO-Programming-part-2 und ITBO-Programming-part-1: Unterschied zwischen den Seiten

Aus ZUM-Unterrichten
(Unterschied zwischen Seiten)
Markierung: 2017-Quelltext-Bearbeitung
 
Markierung: 2017-Quelltext-Bearbeitung
 
Zeile 1: Zeile 1:
{{DISPLAYTITLE:Programming for prospective educators (using Scratch) - unit 2}}  
{{DISPLAYTITLE:Programming for prospective educators (using Scratch) - unit 1}}  


| [[Programming_for_prospective_educators_(using_Scratch)| ⇠ back to main page]] | [[ITBO-Programming-part-1| unit 1]] | '''unit 2'''  | [[ITBO-Programming-part-3| unit 3 →]] | [[ITBO-Programming-part-4| unit 4 →]]|
| [[Programming_for_prospective_educators_(using_Scratch)| ⇠ back to main page]] | '''unit 1''' | [[ITBO-Programming-part-2| unit 2 →]] | [[ITBO-Programming-part-3| unit 3 →]] | [[ITBO-Programming-part-4| unit 4 →]] |


   
   


=='''Guidance for students (Open Document Format ODF)'''== {{Box|Download|[[Datei:ProgrammierenTeil2StudentEditionV4.odt|mini]]|Download }}
=='''Guidance for students (Open Document Format ODF)'''== {{Box|Download|[[Datei:ProgrammierenTeil1StudentEditionV4.odt|mini]]|Download }}


=='''Handout for teachers'''== {{Box|Download|[[Datei:ProgrammierenTeil1TeacherEditionV4.odt|mini]]|Download }}


=='''Handout for teachers'''== {{Box|Download|[[Datei:ProgrammierenTeil2TeacherEditionV4.odt|mini]]|Download }}
{{Box|Objectives|* The students will get to know the Scratch programming environment and how to use it in order to create and manage their own programming projects.


* They will learn the basic elements of the Scratch programming language and use them to "write" their first simple programs.


{{Box|Objectives|* The students will get more familiar with Scratch.
* The students will reflect on their experiences with programming.


* They will learn about and apply the "basic building blocks" of programs (sequence, repetition, conditional execution, variables).
* They will also learn (without too many theoretical considerations) basic concepts of "professional" programming (object and event orientation, process communication).|Kurzinfo }}<br />
==='''Introduction'''===
 
:The prior knowledge of the students at a ‹Specialised Upper Secondary School› regarding the programming course will be very different and will continue to change in the course of the coming years. Depending on the situation in the class, the teacher has to either guide or accompany more.
 
:In any case, it is recommended to form teams of two in order to promote discussion and reflection. If the heterogeneity in a class is very high, perhaps the students with experience in programming can take over the guidance of teams; perhaps the tasks of unit 1 can be formulated more openly for the students with corresponding previous knowledge (e.g. instead of the given match puzzle, a self-designed memory or puzzle).
 
==='''Setting up the personal programming environment'''===
 
:The students should create an account on  [https://scratch.mit.edu scratch.mit.edu] ("Join Scratch"). To confirm the creation of the account, they need a valid e-mail address. Students who are not yet of full age should ideally use an e-mail address without a real name or other information that could be used to identify them. Students who have reached the age of majority and especially prospective teachers are freer to choose their e-mail address. In any case, they should create a teacher account so that they have all the possibilities later (e.g. to share the programs).
 
:It may happen that individual students refuse to create an account for personal reasons. Even without creating an account, they can complete the programming course. They have to save their Scratch projects locally on their computers and load them again from there. In this case, Scratch does not save automatically while they are working!
 
:The students may also install Scratch on their personal devices if required (with the exception of mobile Apple devices, i.e. iPhone and iPad).
 
==='''Getting to know Scratch and creating a first program yourself'''===
 
===='''The sample program:  a matchstick puzzle'''====
 
<br/>
[[Datei:MatchStickPuzzle.png|mini|center]]
 
:The first program is based on the idea that a certain problem can be solved by using a program on the computer to represent a selected part of reality (forming a model). In the case of our first program, these are matches that can be laid out on a surface, moved and rotated.
 
:The explanations in the instructions for part 1 of the "programming" course should help the students to make such a program with Scratch themselves, step by step. The teacher observes and helps if necessary.
 
===='''The components of the Scratch programming environment'''====
 
:'''Stage''': The students should first get to know the stage and its design possibilities.
 
:'''Objects (characters)''': In Scratch, the characters (sprites) play roles on the stage. The characters have properties (e.g. size, position) and scripts describe their (re)actions on events such as clicking the start flag.
 
:From a theoretical point of view, this concept corresponds to object- and event-oriented programming. The characters are the objects; the objects are described by their properties (constants, variables) and (re)actions (methods). However, the students should get to know the characters as objects without too many theoretical considerations.
 
:Objects can be duplicated in the programming environment, this simplifies the creation of multiple similar objects.
 
:Objects can also be created dynamically while the program is running. The command in question is called "Create Clone of ...". However, we do not use the dynamic creation (cloning) of objects in the programming course.
 
:→ The students must be provided with the image file [https://openclipart.org/detail/314823/match-kibrit match kibrit.svg] as a "costume" for the objects of the matchstick puzzle (e.g. on a common storage for the whole course).
 
:'''Save, describe and publish the program''': Those students who created an account can save and edit their programs as projects. This includes a description of the program for users, which is especially necessary when the program is published.
 
:The program description should also show that programming is not only communication with the computer, but also communication with people (who use or further develop the program).
 
{{Box|Reflection|* The matchstick puzzle is now ready. You can share it with others or use it yourself to solve it.
 
* The focus is on the objects (in this case the matches) with their properties (appearance, size, position, location). This programming concept is called ''object orientation''. However, the objects do not (yet) act in our program.


* The students shall understand the concept of turtle graphics for the exploratory learning in primary school.
* In the editing mode ("See Inside"), however, you can move and rotate the objects on the stage. The necessary commands to the computer have been realised by the Scratch programmers.|Hervorhebung1 }}


* They will deal with the programming of turtle graphics by means of a concrete example.|Kurzinfo }}


====='''Objects and actions'''=====


==='''Introduction'''===
:Up to this point, the students have only assigned properties to the objects, but not yet scripts (actions).
 
:The formulation of scripts is introduced with the initialisation necessary for the set-up of the matchstick puzzle and a text output.
 
:The students now have to "write" their own scripts. This probably corresponds to what the students imagine by "programming". However, it is important that the students realise that the previous activities (creating objects, duplicating, positioning, etc.) and the considerations made about them are also part of programming!
 
:To position the matches correctly, the students need to know the coordinate system of the Scratch stage. Figure 11 in the instructions introduces this coordinate system.
 
:The text output explaining the matchstick puzzle is used to introduce the concept of Scratch extension blocks. The students need the "Text to Speech" block.
 
====='''Process communication'''=====
 
:With the next step, the students learn about the mechanism of message exchange between objects. Here, message exchange primarily allows the synchronisation of scripts (process communication).
 
:This shows that objects in Scratch can comprise several scripts (→ object-oriented programming, several methods). As a rule, a script is only executed when a certain event occurs, here e.g. clicking on the start flag or an object or receiving a message (→ event-oriented programming). It is also evident that several scripts can be executed "simultaneously".


:From unit 1 of the programming course, the students of ‹Specialised Upper Secondary School - Occupational field of education› are familiar with programming as a process for formulating and implementing computer-based solutions to problems. They are familiar with basic concepts of programming (methodical approach, object and event orientation, process communication).
{{Box|Reflection|* A program comprises objects (in the example program these are the matches and the character chosen for the text output).  


:The example the students will work on in unit 2 of this programming course is a potential lesson in primary school (according to the Swiss curriculum "Lehrplan 21" around the end of grade 4). It has two main focuses.
* The objects are characterised by their properties (e.g. appearance, size, position, location) and the actions (scripts) assigned to them. This programming concept is called object orientation.


:The concept of turtle graphics by  [https://de.wikipedia.org/wiki/Seymour_Papert Seymour Papert] forms one focus. The other one is learning and applying the "basic building blocks" of programs (sequence, repetition, conditional execution, variable).
* The initially independent objects can interact. The most common interaction is synchronisation (an object performs one of its actions when another object has completed a certain action). In Scratch, synchronisation takes place via exchanged messages (process communication).|Hervorhebung1 }}


:Programming for children in primary school can be designed in another way than a programming class in high school. With turtle graphics, primary school children can experiment and immediately see on the screen whether they are correct in their reasoning. If not, they adjust their "program" and observe and reflect on the changes brought about. The students should get to know the idea of turtle graphics by Seymour Papert, so that they can later use programming as a meaningful tool for exploratory learning as teachers in primary school.
<br/>


:The introduction also provides a first look at the concept of turtle graphics.
====='''Remix'''=====


:With these two focal points, Part 2 of the programming course becomes a nesting of two distinct sequences of lessons. In order to enable the  students to recognise the intention behind this nesting, they may need support.
:For the remix of one′s own program, the button "Remix" is missing on the respective project page. The procedure is therefore somewhat different from remixing a "foreign" program. The Youtube video «Scratch Tutorial: How to Remix your OWN Projects» ([https://youtu.be/dLY_MnAMe6o https://youtu.be/dLY_MnAMe6o]) shows how to do it.


==='''Example of a possible lesson with turtle graphics'''===
:It might be worth a try to let the students take over the program of another student (of another group).


:The students are asked to assume that they have to teach the topic "regular polygons" in the primary school. They shall give the primary pupils an exploratory learning task based on turtle graphics in Scratch.
<br/>
====='''Editing and execution mode'''=====


:The students can access the template for the task at: https://scratch.mit.edu/projects/698418539
:The matchstick puzzles programmed by the students are only partially executable programs!


[[Datei:TurtleGrafik.png|zentriert|mini]]
:The students always programmed in edit mode. They could therefore move and rotate the matchsticks on the stage as they wished (because this is a function of the Scratch programming environment).


:Next, the future teachers are asked to put themselves in the pupils's place and program the turtle graphic on their own.
:If such a project is to be published and used by another person, the script that enables its moving with the mouse is missing for each match!


:The instructions for the students are designed in the same way as they could be given to the pupils in primary school. Two imaginary pupils, Alice and Bob, give the necessary explanations in the form of a dialogue.
:In the context of the programming course this is not a disadvantage. But if the students want to publish their programs, they absolutely have to insert the missing scripts. The instructions describe this ″problem″ and its solution.


===='''The "basic building blocks" of programs'''====


:The students have programmed the turtle graphic and experienced how primary school pupils can use the computer for exploratory learning with Scratch.
{{Box|Reflection|* The strong and rapid spread of computer programs is in part due to the fact that new programs can build on existing ones. Open source software, in particular, benefits from this.


:The students should now switch back to their role as a future teacher.
* According to you, what are the advantages of open source software compared to non-open source programs (e.g. the text processing program ''LibreOffice Writer'' compared to ''Microsoft Office Word'')? What disadvantages do you see?


:The turtle graphic that the students have programmed is now used as a basis for learning about and applying the "basic building blocks" of programs: sequence, repetition, conditional execution, variable.
* Could you imagine participating in an open source project (e.g. as a translator or a programmer?)|Hervorhebung1}}


{{Box|Reflection|*Discovery learning with turtle graphics is different from programming an application to solve a problem.
{{Box|Musterlösungen|* Zündholzrätsel Variante 1: https://scratch.mit.edu/projects/671648993


*How would you describe this difference?|Hervorhebung1 }}
Zündholzrätsel Variante 2: https://scratch.mit.edu/projects/671650074


{{Box|Sample solution:|* https://scratch.mit.edu/projects/671362882|Lösung }}
Zündholzrätsel Variante 3: https://scratch.mit.edu/projects/671651532|Lösung }}


----
----
Zeile 69: Zeile 129:


Translation: Patricia Berchtel
Translation: Patricia Berchtel


__INDEXIEREN__
__INDEXIEREN__
[[Kategorie:Informatik]]
[[Kategorie:Programmieren]]
[[Kategorie:Scratch]]
[[Kategorie:Remix]]
[[Kategorie:Remix]]
[[Kategorie:Informatik]]
{{DEFAULTSORT:Programming for prospective educators (using Scratch)}}
[[Kategorie:Programmieren]]
[[Kategorie:Scratch]]
[[Kategorie:Turtle-Grafik]]
[[Kategorie:Seymour Papert]]

Version vom 4. August 2023, 07:34 Uhr


| ⇠ back to main page | unit 1 | unit 2 → | unit 3 → | unit 4 → |


Guidance for students (Open Document Format ODF)

Handout for teachers


Objectives
  • The students will get to know the Scratch programming environment and how to use it in order to create and manage their own programming projects.
  • They will learn the basic elements of the Scratch programming language and use them to "write" their first simple programs.
  • The students will reflect on their experiences with programming.
  • They will also learn (without too many theoretical considerations) basic concepts of "professional" programming (object and event orientation, process communication).


Introduction

The prior knowledge of the students at a ‹Specialised Upper Secondary School› regarding the programming course will be very different and will continue to change in the course of the coming years. Depending on the situation in the class, the teacher has to either guide or accompany more.
In any case, it is recommended to form teams of two in order to promote discussion and reflection. If the heterogeneity in a class is very high, perhaps the students with experience in programming can take over the guidance of teams; perhaps the tasks of unit 1 can be formulated more openly for the students with corresponding previous knowledge (e.g. instead of the given match puzzle, a self-designed memory or puzzle).


Setting up the personal programming environment

The students should create an account on scratch.mit.edu ("Join Scratch"). To confirm the creation of the account, they need a valid e-mail address. Students who are not yet of full age should ideally use an e-mail address without a real name or other information that could be used to identify them. Students who have reached the age of majority and especially prospective teachers are freer to choose their e-mail address. In any case, they should create a teacher account so that they have all the possibilities later (e.g. to share the programs).
It may happen that individual students refuse to create an account for personal reasons. Even without creating an account, they can complete the programming course. They have to save their Scratch projects locally on their computers and load them again from there. In this case, Scratch does not save automatically while they are working!
The students may also install Scratch on their personal devices if required (with the exception of mobile Apple devices, i.e. iPhone and iPad).


Getting to know Scratch and creating a first program yourself

The sample program:  a matchstick puzzle


MatchStickPuzzle.png
The first program is based on the idea that a certain problem can be solved by using a program on the computer to represent a selected part of reality (forming a model). In the case of our first program, these are matches that can be laid out on a surface, moved and rotated.
The explanations in the instructions for part 1 of the "programming" course should help the students to make such a program with Scratch themselves, step by step. The teacher observes and helps if necessary.

The components of the Scratch programming environment

Stage: The students should first get to know the stage and its design possibilities.
Objects (characters): In Scratch, the characters (sprites) play roles on the stage. The characters have properties (e.g. size, position) and scripts describe their (re)actions on events such as clicking the start flag.
From a theoretical point of view, this concept corresponds to object- and event-oriented programming. The characters are the objects; the objects are described by their properties (constants, variables) and (re)actions (methods). However, the students should get to know the characters as objects without too many theoretical considerations.
Objects can be duplicated in the programming environment, this simplifies the creation of multiple similar objects.
Objects can also be created dynamically while the program is running. The command in question is called "Create Clone of ...". However, we do not use the dynamic creation (cloning) of objects in the programming course.
→ The students must be provided with the image file match kibrit.svg as a "costume" for the objects of the matchstick puzzle (e.g. on a common storage for the whole course).
Save, describe and publish the program: Those students who created an account can save and edit their programs as projects. This includes a description of the program for users, which is especially necessary when the program is published.
The program description should also show that programming is not only communication with the computer, but also communication with people (who use or further develop the program).


Reflection
  • The matchstick puzzle is now ready. You can share it with others or use it yourself to solve it.
  • The focus is on the objects (in this case the matches) with their properties (appearance, size, position, location). This programming concept is called object orientation. However, the objects do not (yet) act in our program.
  • In the editing mode ("See Inside"), however, you can move and rotate the objects on the stage. The necessary commands to the computer have been realised by the Scratch programmers.


Objects and actions
Up to this point, the students have only assigned properties to the objects, but not yet scripts (actions).
The formulation of scripts is introduced with the initialisation necessary for the set-up of the matchstick puzzle and a text output.
The students now have to "write" their own scripts. This probably corresponds to what the students imagine by "programming". However, it is important that the students realise that the previous activities (creating objects, duplicating, positioning, etc.) and the considerations made about them are also part of programming!
To position the matches correctly, the students need to know the coordinate system of the Scratch stage. Figure 11 in the instructions introduces this coordinate system.
The text output explaining the matchstick puzzle is used to introduce the concept of Scratch extension blocks. The students need the "Text to Speech" block.
Process communication
With the next step, the students learn about the mechanism of message exchange between objects. Here, message exchange primarily allows the synchronisation of scripts (process communication).
This shows that objects in Scratch can comprise several scripts (→ object-oriented programming, several methods). As a rule, a script is only executed when a certain event occurs, here e.g. clicking on the start flag or an object or receiving a message (→ event-oriented programming). It is also evident that several scripts can be executed "simultaneously".


Reflection
  • A program comprises objects (in the example program these are the matches and the character chosen for the text output).
  • The objects are characterised by their properties (e.g. appearance, size, position, location) and the actions (scripts) assigned to them. This programming concept is called object orientation.
  • The initially independent objects can interact. The most common interaction is synchronisation (an object performs one of its actions when another object has completed a certain action). In Scratch, synchronisation takes place via exchanged messages (process communication).


Remix
For the remix of one′s own program, the button "Remix" is missing on the respective project page. The procedure is therefore somewhat different from remixing a "foreign" program. The Youtube video «Scratch Tutorial: How to Remix your OWN Projects» (https://youtu.be/dLY_MnAMe6o) shows how to do it.
It might be worth a try to let the students take over the program of another student (of another group).


Editing and execution mode
The matchstick puzzles programmed by the students are only partially executable programs!
The students always programmed in edit mode. They could therefore move and rotate the matchsticks on the stage as they wished (because this is a function of the Scratch programming environment).
If such a project is to be published and used by another person, the script that enables its moving with the mouse is missing for each match!
In the context of the programming course this is not a disadvantage. But if the students want to publish their programs, they absolutely have to insert the missing scripts. The instructions describe this ″problem″ and its solution.


Reflection
  • The strong and rapid spread of computer programs is in part due to the fact that new programs can build on existing ones. Open source software, in particular, benefits from this.
  • According to you, what are the advantages of open source software compared to non-open source programs (e.g. the text processing program LibreOffice Writer compared to Microsoft Office Word)? What disadvantages do you see?
  • Could you imagine participating in an open source project (e.g. as a translator or a programmer?)


Musterlösungen

Zündholzrätsel Variante 2: https://scratch.mit.edu/projects/671650074

Zündholzrätsel Variante 3: https://scratch.mit.edu/projects/671651532

Authors: Bruno Wenk, Dieter Burkhard

Translation: Patricia Berchtel