139 research outputs found
Comparing Text-based, Blocks-based, and Hybrid Blocks/Text Programming Tools
ABSTRACT This dissertation investigates the comparative affordances and drawbacks of blocks-based, text-based, and hybrid blocks/text introductory programming tools. Blocks-based programming environments are growing in popularity and are increasingly being used in formal introductory programming contexts. To date, much of the work evaluating such tools has focused on their effectiveness in out-of-school contexts and emphasized engagement and attitudinal measures over content mastery. Given their growing presence in classrooms, it is important to understand the benefits and limitations of the use of the blocks-based programming approach in formal learning contexts relative to text-based or hybrid blocks/text alternatives. This dissertation will carry out a quasi-experimental study in high school computer science classrooms to answer questions related to the impact of blocks-based, text-based, and hybrid blocks/text introductory tools, assess the suitability of such tools for preparing students for future computer science learning opportunities, and explore the design space between blocks-based and text-based programming. The goal of this work is to better understand the tools we are using to introduce today's learners to computer science and lay the foundation for creating the tools of tomorrow
Visual and Textual Programming Languages: A Systematic Review of the Literature
It is well documented, and has been the topic of much research, that Computer
Science courses tend to have higher than average drop out rates at third level.
This is a problem that needs to be addressed with urgency but also caution. The
required number of Computer Science graduates is growing every year but the
number of graduates is not meeting this demand and one way that this problem
can be alleviated is to encourage students at an early age towards studying
Computer Science courses.
This paper presents a systematic literature review on the role of visual and
textual programming languages when learning to program, particularly as a first
programming language. The approach is systematic, in that a structured search
of electronic resources has been conducted, and the results are presented and
quantitatively analysed. This study will give insight into whether or not the
current approaches to teaching young learners programming are viable, and
examines what we can do to increase the interest and retention of these
students as they progress through their education.Comment: 18 pages (including 2 bibliography pages), 3 figure
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
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
Hybrid Java: The creation of a Hybrid Programming Environment
This article details the creation of a hybrid computer programming environment combining the power of the text-based Java language with the visual features of the Snap! language. It has been well documented that there exists a gap in the education of computing students in their mid-to-late teenage years, where perhaps visual programming languages are no longer suitable and textual programming languages may involve too steep of a learning curve. There is an increasing need for programming environments that combine the benefits of both languages
into one.
Snap! is a visual programming language which employs "blocks" to allow users to build programs, similar to the functionality offered by Scratch. One added benefit of Snap! is that it offers the ability to create one’s own blocks and extend the functionality of those blocks to create more complex and powerful programs. This will be utilised to create the Hybrid Java environment. The development of this tool will be detailed in the article, along with the motivation and use cases for it.
Initial testing conducted will be discussed including one phase that gathered feedback from a pool of 174 first year Computer Science students. These participants were given instructions to work with the hybrid programming language and evaluate their experience of using it. The analysis of the findings along with future improvements to the language will also be presented
Computing in Education: A study of computing in education and ways to enhance students’ perceptions and understanding of computing
There is a huge demand for computing skills in industry due to computing becoming ubiquitous and essential for modern life. Yet despite this, industry struggles to find employees with suitable computing skills and similarly Further and Higher Education institutions have observed a lack of interest in their computing courses in recent years. This study looks at possible reasons for this lack of interest in computing, how computing is taught in education and ways to improve students’ perceptions and understanding of computing. It focuses around a case study of a university outreach event for secondary schools which investigated how interactive teaching methods can be used to enhance students’ perceptions and understanding of computing and to increase their computing knowledge. It includes the use of physical computing and was designed to make computing fun, motivational and relevant, and to provide examples of real-world applications. Surveys were used before and after the event to understand what students’ impressions and knowledge of computing is and to see if the event improved these. Observations were also used to see how well the students handled the event’s content and whether they appeared to enjoy and understand it. Results from the case study indicate that interactive teaching methods enhance computing education, and physical computing with electronics can enhance lessons and show the relevance of computing with examples of real-world applications, and can be fun and motivational. The case study provides teachers with example tasks and challenges they can use with their students and/or ideas around other interactive teaching methods including practical computing
\u3cem\u3eLearning to Code Music\u3c/em\u3e: Development of a Supplemental Unit for High School Computer Science
Learning to Code Music is a supplemental unit developed for high school computer science. This unit was developed after researching the effects of biases in curriculum, effective teaching, and incorporating the arts into coding. This supplemental unit is intended to be used with one of the Computer Science Principles curriculum approved by the College Board and explained in the literature review. It is my goal to have other teachers and myself to use this supplemental unit in their high school computer science courses. All supplemental unit material can be found at https://sites.google.com/notusschools.org/earsketch-csp/hom
- …