26,403 research outputs found
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
Functional Baby Talk: Analysis of Code Fragments from Novice Haskell Programmers
What kinds of mistakes are made by novice Haskell developers, as they learn about functional programming? Is it possible to analyze these errors in order to improve the pedagogy of Haskell? In 2016, we delivered a massive open online course which featured an interactive code evaluation environment. We captured and analyzed 161K interactions from learners. We report typical novice developer behavior; for instance, the mean time spent on an interactive tutorial is around eight minutes. Although our environment was restricted, we gain some understanding of Haskell novice errors. Parenthesis mismatches, lexical scoping errors and do block misunderstandings are common. Finally, we make recommendations about how such beginner code evaluation environments might be enhanced
Learning to communicate computationally with Flip: a bi-modal programming language for game creation
Teaching basic computational concepts and skills to school children is currently a curricular focus in many countries. Running parallel to this trend are advances in programming environments and teaching methods which aim to make computer science more accessible, and more motivating. In this paper, we describe the design and evaluation of Flip, a programming language that aims to help 11–15 year olds develop computational skills through creating their own 3D role-playing games. Flip has two main components: 1) a visual language (based on an interlocking blocks design common to many current visual languages), and 2) a dynamically updating natural language version of the script under creation. This programming-language/natural-language pairing is a unique feature of Flip, designed to allow learners to draw upon their familiarity with natural language to “decode the code”. Flip aims to support young people in developing an understanding of computational concepts as well as the skills to use and communicate these concepts effectively. This paper investigates the extent to which Flip can be used by young people to create working scripts, and examines improvements in their expression of computational rules and concepts after using the tool. We provide an overview of the design and implementation of Flip before describing an evaluation study carried out with 12–13 year olds in a naturalistic setting. Over the course of 8 weeks, the majority of students were able to use Flip to write small programs to bring about interactive behaviours in the games they created. Furthermore, there was a significant improvement in their computational communication after using Flip (as measured by a pre/post-test). An additional finding was that girls wrote more, and more complex, scripts than did boys, and there was a trend for girls to show greater learning gains relative to the boys
Learning Dimensions: Lessons from Field Studies
In this paper, we describe work to investigate the creation of engaging programming learning experiences. Background research informed the design of four fieldwork studies involving a range of age groups to explore how programming tasks could best be framed to motivate learners. Our empirical findings from these four studies, described here, contributed to the design of a set of programming "Learning Dimensions" (LDs). The LDs provide educators with insights to support key design decisions for the creation of engaging programming learning experiences. This paper describes the background to the identification of these LDs and how they could address the design and delivery of highly engaging programming learning tasks. A web application has been authored to support educators in the application of the LDs to their lesson design
An evaluation of a professional learning network for computer science teachers
This paper describes and evaluates aspects of a professional development programme for existing CS teachers in secondary schools (PLAN C) which was designed to support teachers at a time of substantial curricular change. The paper’s particular focus is on the formation of a teacher professional development network across several hundred teachers and a wide geographical area. Evidence from a series of observations and teacher surveys over a two-year period is analysed with respect to the project’s programme theory in order to illustrate not only whether it worked as intended, by why. Results indicate that the PLAN C design has been successful in increasing teachers’ professional confidence and appears to have catalysed powerful change in attitudes to learning. Presentation of challenging pedagogical content knowledge and conceptual frameworks, high-quality teacher-led professional dialogue, along with the space for reflection and classroom trials, triggered examination of the teachers’ own current practices
Facilitating Online Learning via Zoom Breakout Room Technology : A Case of Pair Programming Involving Students with Learning Disabilities
The coronavirus disease of 2019 (COVID-19) pandemic has required many educators to redesign how they deliver their courses. In this study, we develop innovative procedures and pedagogy to teach pair programming via Zoom breakout rooms in a cloud environment. We report six fundamental innovative teaching mechanisms and procedures: 1) strategically planning a course, 2) effectively managing teaching resources, 3) enhancing faculty responsiveness, 4) selecting reliable technology, 5) mandating online educator’s training, and 6) accommodating students with learning disabilities. From teaching pair programming via Zoom breakout rooms, we have gained valuable experience in promoting collaborative, engaging, active, and problem-based learning activities in a cloud environment. Our results enrich our knowledge of delivering online education and contribute to pair programming literature in general
- …