13 research outputs found
Comparing loops misconceptions in block-based and text-based programming languages at the K-12 level
Teacher perspectives on introducing programming constructs through coding mobile-based game to secondary school students
Programming is one of the most important aspects of a Computing course. Teaching programming is a challenging task due to a number of factors, ranging from lack of student problem solving skills to different teaching methods. This paper focuses on Maltese Computing teachers’ perspectives about the difficulties encountered when teaching programming to secondary school students in order to determine whether introducing programming to secondary school students through creating mobile-based games is an effective method to teach programming constructs. A resource pack consisting of various activities using MIT App Inventor 2 was created which incorporated constructivist approaches to teaching. This resource pack was reviewed by the teachers and their feedback was collected by means of a case study. The teachers agreed that developing mobile-based games would be highly stimulating to their students but there were uncertainties how this would affect students with different learning abilities and due to a general lack of computational thinking and problem-solving skills by most students.peer-reviewe
The Effectiveness of Codesters in Teaching Basic Computer Science Topics
Founded in 2014, Codesters is a visual programming environment (VPE) like the popular Scratch and Alice. Its goal is to teach middle school and older student’s computer programming. Unlike its predecessors, users of Codesters drag and drop actual Python code instead of blocks and can edit the code themselves. Codesters has also developed modules that integrate coding lessons into the VPE.
In this study, we consider the Codesters Python 1 module and investigate its effectiveness in teaching the basic coding concepts of variables, loops and conditionals. During Fall 2018 and Spring 2019, we ran a coding class for eighth graders at a local Milwaukee school based on this module. We gave a pre-test, three quizzes and a post-test to evaluate what the students have learned. We then analyzed the results of these evaluations and compared them to those taken by students who learned programming in a traditional CS1 class.
Our results indicate that users of Codesters understood loops and conditionals as well as the students from the traditional CS1 class. We also found that the pre-test was a poor indicator of students’ performance in the coding class suggesting that Codesters is able to engage students who might not necessarily excel in a traditional classroom
Istraživanje postignuća i motivacije učenja tekstualnoga programskog jezika među učenicima osnovnih škola u Republici Srbiji
The introduction of Informatics and Computing as a compulsory subject for students
from the fifth to the eighth grade of elementary school, and programming as a basic
content of the curriculum represents a major advancement in elementary education
in the Republic of Serbia. In this study we conducted research on 58 primary
school students in the sixth grade. In the 2016/17 school year, students studied the
programming language Scratch, and in the school year 2017/18, they learned the
Python programming language. The programming courses took place once a week
(45 minutes) over 17 weeks. This study aimed to monitor the flow of learning visual
and textual programming language following the new elementary school curriculum
in Republic of Serbia, that is, the achievement and motivation of students to continue
learning programming. The research instrument used was a questionnaire. The results
of this study showed that it was easier for students to master the visual programming
language Scratch than the textual programming language Python. However, the
research results show that algorithmic way of thinking and motivation to learn by
programming a text language are satisfactory, given that students have not had
previous experience with it.Uvođenje informatike i računarstva kao obveznoga predmeta za učenike od petog
do osmog razreda osnovne škole te programiranja kao osnovnoga sadržaja kurikula
predstavlja veliki iskorak u osnovnom obrazovanju u Republici Srbiji. U ovom
radu provodeno je istraživanje na N = 58 učenika osnovnih škola šestog razreda. U
školskoj godini 2016./17. učenici su učili programski jezik Scratch, a u školskoj godini
2017./18. učili su programski jezik Python. Tečajevi programiranja realizirali su se
jednom tjedno (45 minuta) tijekom 17 tjedana. Cilj je ove studije pratiti tijek učenja
vizualnoga i tekstualnoga programskog jezika sljedeći novi OŠ kurikul u Republici
Srbiji te istražiti postignuće i motivaciju učenika za nastavak učenja programiranja.
Korišteni istraživački instrument bio je upitnik. Rezultati ovoga istraživanja pokazali
su da je učenicima bilo lakše svladati vizualni programski jezik Scratch nego
tekstualni programski jezik Python. Međutim, rezultati istraživanja pokazuju da su
algoritamski način razmišljanja i motivacija za učenje programiranjem tekstualnoga
jezika zadovoljavajući s obzirom na to da učenici s tim nisu imali prethodno iskustvo
Recommended from our members
Learning to Code: Effects of Programming Modality in a Game-based Learning Environment
As new introductory block-based coding applications for young students to learn basic computer science concepts, such as, loops and conditionals, continue to increase in popularity, it is necessary to consider the best method of teaching students these skills. Many of these products continue to exhibit programmatic misconceptions of these concepts and many students struggle with how to apply what they learn to a text-based format due to the difficulties with learning the syntactic structure not present in block-based programming languages. If the goal of teaching young students how to program is meant to develop a set of skills they may apply when learning more complex programming languages, then discerning how they are introduced to those practices is imperative. However, few studies have examined how the specific modality in which students are taught to program effects how they learn and what skills they develop. More specifically, research has yet to effectively investigate modality in the context of an educational coding game where the modality feature is controlled, and content is consistent throughout game-play. This is mainly due to the lack of available games with this feature designed into the application.
This dissertation explores whether programming modality effects how well students can learn and transfer computer science concepts and practices from an educational programming game. I proposed that by being guided from a blocks-based to text-based programming language would instill a deeper understanding of basic computer science concepts and would support learning and improve transfer and performance on new challenging tasks.
Two experimental studies facilitated game-play sessions on the developed application for this project. The first study was a 2x2 between subjects design comparing educational module (game versus basic) and programming modality (guided versus free choice). The findings from Study 1 informed the final version design for the module used in the second study where only the game module was used in order to focus the comparison between programming modality. Findings showed that students who coded using the game module performed better on a learning test. Study 2 results showed that students who are transitioned from blocks-based to text-based programming language learn basic computer science concepts with greater success than those with the free choice modality.
A comparative study was conducted using quantitative data from learning measures and qualitative video data from the interviews during the challenge task of the second study. This study examined how students at the extreme levels of performance utilized the toggle switch feature during game-play and how the absence of the feature impacted how they completed the challenge task. This analysis showed two different methods of toggle switch usage being implemented by a high and low performing student. The high performing student utilized the resources more often during the challenge tasks in lieu of leveraging the toggle switch and were still able to submit high level code. Results suggest that a free choice student who uses the feature as a tool to check their prewritten code rather than a as short cut for piecing code together as blocks and submitting the text upon the final attempt. This practice leads to a shallower understanding of the basic concepts and make it extremely difficult to expand and apply that knowledge to a more difficult task.
This dissertation includes five chapters: an introduction and theoretical framework, a game design framework and implementation description, two experimental investigations, and a quantitative and qualitative comparative analysis. Chapter one provides the conceptual and theoretical framework for the two experimental investigations. Chapter two describes the theory and design structure for the game developed for this dissertation work. Chapter three and four will discuss the effects of programming modality on learning outcomes. Specifically, chapter 3 focuses on implications of programming modality when determining how to implement changes for the design of the game for Study 2. Chapter five discusses a comparative analysis that investigated differing work flow patterns within the free choice condition between high and low performing students. Results from these three chapters illustrate the importance of examining this component of the computer science education process in supplemental games for middle and high school students. Additionally, this work contributes in furthering the investigation of these educational games and discusses implications for design of similar applications
Teaching programming for novices by designing computer games
Programiranje je apstraktno i teško, pogotovo za početnike na osnovnoškolskoj razini školovanja. Za „klasično“ poučavanje programiranja uglavnom se koriste tekstualni programski jezici, što dodatno otežava učenje početnicima zbog naglašenih problema sintakse. Osim toga, dodatni problem je kontekst programiranja koji se uglavnom svodi na rješavanje matematičkih problema, što pripadnicima digitalnog doba smanjuje motivaciju. Ublažavanje problema sintakse, ali i pomak konteksta programiranja sa matematičkih problema na npr. oblikovanje igara može se postići korištenjem vizualnih programskih jezika primjerenim uzrastu. Prema navedenom postavljena su tri osnovna cilja istraživanja: a) utvrditi utjecaj na poučavanje programiranja, kod početnika u osnovnoj školi, oblikovanjem igara u blokovski orijentiranom, vizualnom programskom jeziku, primjerenom dobi učenika; b) utvrditi utjecaj promjene konteksta učenja s matematičkih problema prema oblikovanju računalnih igara na razumijevanje koncepta petlje i motivaciju učenika u osnovnoj školi; c) osmisliti model poučavanja programiranja početnika u osnovnoj školi uz uporabu alata i zadataka primjerenim dobi učenika. Prema ciljevima osmišljeno je istraživanje u četiri faze koje se provodilo tijekom četiri školske godine u osnovnim školama. Rezultati cjelokupnog istraživanja pokazali su kako učenici postižu bolje rezultate kada se za poučavanje programiranja kod početnika u osnovnoj školi koristi kontekst oblikovanja igara te kada se za programiranje koristi vizualni-blokovski programski jezik primjeren dobi. Također je utvrđeno kako je stav prema programiranju bolji u odnosu na „klasično“ poučavanje programiranja. Rezultati istraživanja mogu biti smjernice za razvoj novih načina poučavanja programiranja početnika u osnovnim školama.Programming is abstract and hard, especially for beginners at the primary level of education. The traditional way of teaching programming is based on using text-based programming languages which further complicates learning for beginners by emphasizing syntax problems. Besides that, additional problem is the programming context which is mostly based on solving math problems, reducing the motivation for members of the digital age. Syntax problems can be reduced, but also context can be shifted from solving math problems towards the design of computer games, by using visual programming languages appropriate for target age. Per the above, three main goals were set: a) determine the appropriateness and effectiveness of using visual programming language for designing computer games for programming novices in the elementary school; b) determine the effectiveness of the understanding of repeating algorithm by designing games using visual programming languages; c) offer teaching model for programming novices at the elementary school level by using appropriate tools and tasks. According to set goals, the research is organized in four stages during four school years in elementary schools. The results of the revealed that students gain a better understanding of programming concepts by using visual programming languages appropriate for students age compared to the traditional way of teaching programming. Besides, students motivation toward programming is also improved by programming games using visual programming languages. According to the results, the new didactic strategy that will enrich the methodological knowledge will be proposed
Teaching programming for novices by designing computer games
Programiranje je apstraktno i teško, pogotovo za početnike na osnovnoškolskoj razini školovanja. Za „klasično“ poučavanje programiranja uglavnom se koriste tekstualni programski jezici, što dodatno otežava učenje početnicima zbog naglašenih problema sintakse. Osim toga, dodatni problem je kontekst programiranja koji se uglavnom svodi na rješavanje matematičkih problema, što pripadnicima digitalnog doba smanjuje motivaciju. Ublažavanje problema sintakse, ali i pomak konteksta programiranja sa matematičkih problema na npr. oblikovanje igara može se postići korištenjem vizualnih programskih jezika primjerenim uzrastu. Prema navedenom postavljena su tri osnovna cilja istraživanja: a) utvrditi utjecaj na poučavanje programiranja, kod početnika u osnovnoj školi, oblikovanjem igara u blokovski orijentiranom, vizualnom programskom jeziku, primjerenom dobi učenika; b) utvrditi utjecaj promjene konteksta učenja s matematičkih problema prema oblikovanju računalnih igara na razumijevanje koncepta petlje i motivaciju učenika u osnovnoj školi; c) osmisliti model poučavanja programiranja početnika u osnovnoj školi uz uporabu alata i zadataka primjerenim dobi učenika. Prema ciljevima osmišljeno je istraživanje u četiri faze koje se provodilo tijekom četiri školske godine u osnovnim školama. Rezultati cjelokupnog istraživanja pokazali su kako učenici postižu bolje rezultate kada se za poučavanje programiranja kod početnika u osnovnoj školi koristi kontekst oblikovanja igara te kada se za programiranje koristi vizualni-blokovski programski jezik primjeren dobi. Također je utvrđeno kako je stav prema programiranju bolji u odnosu na „klasično“ poučavanje programiranja. Rezultati istraživanja mogu biti smjernice za razvoj novih načina poučavanja programiranja početnika u osnovnim školama.Programming is abstract and hard, especially for beginners at the primary level of education. The traditional way of teaching programming is based on using text-based programming languages which further complicates learning for beginners by emphasizing syntax problems. Besides that, additional problem is the programming context which is mostly based on solving math problems, reducing the motivation for members of the digital age. Syntax problems can be reduced, but also context can be shifted from solving math problems towards the design of computer games, by using visual programming languages appropriate for target age. Per the above, three main goals were set: a) determine the appropriateness and effectiveness of using visual programming language for designing computer games for programming novices in the elementary school; b) determine the effectiveness of the understanding of repeating algorithm by designing games using visual programming languages; c) offer teaching model for programming novices at the elementary school level by using appropriate tools and tasks. According to set goals, the research is organized in four stages during four school years in elementary schools. The results of the revealed that students gain a better understanding of programming concepts by using visual programming languages appropriate for students age compared to the traditional way of teaching programming. Besides, students motivation toward programming is also improved by programming games using visual programming languages. According to the results, the new didactic strategy that will enrich the methodological knowledge will be proposed