Although programming is often seen as a key element of construc-tionist approaches, the research on learning to program througha constructionist strategy is somewhat limited, mostly focusingon how to bring the abstract and formal nature of programminglanguages into “concrete” or even tangible objects, graspable evenby children with limited abstraction power. However, in order toenable constructionism in programming several challenges must beaddressed. One of the crucial difficulties for novice programmersis to understand the complex relationship between the programitself (the text of the code) and the actions that take place whenthe program is run by the interpreter. A good command of thenotional machine is a necessary condition to build programming skills, as is recognizing how a relatively low number of abstractpatterns can be applied to a potentially infinite spectrum of specificsituations.Programming languages and environments can eitherhelp or distract novices, thus the choice is not neutral and theircharacteristics should be analyzed carefully to foster a good learn-ing context. The mastery of the notional machine, however, is justthe beginning of the game: to develop a real competence one mustbe able to think about problems in a way suitable to automaticelaboration; to devise, analyse, and compare solutions, being ableto adapt them to unexpected hurdles and needs. Moreover, it isimportant to learn to work productively in a team, in an “organized”way: agile methods seem based on common philosophical groundswith constructionism.
|Untertitel||Constructionism, Computational thinking and Educational Innovation|
|Seiten||888 - 911|
|Publikationsstatus||Veröffentlicht - 22 Aug 2018|
|Veranstaltung||Constructionism 2018: Constructionism, Computational Thinking and Educational Innovation - Faculty of Philosophy Vilnius University, Vilnius, Litauen|
Dauer: 20 Aug 2018 → 25 Aug 2018
|Zeitraum||20/08/18 → 25/08/18|