13,410 research outputs found
Designing and comparing two Scratch-based teaching approaches for students aged 10-12 years — extended version
Programming and computational thinking are becoming more important in primary education. This raises the question of how different approaches to teaching programming in primary schools compare with each other. We designed two approaches to teach programming to primary school students. One approach uses the instructionistic 4C/ID model, the other approach uses constructionism. The learning gains of these two approaches were compared using a pre- and post test. In total, 129 students from two di!erent schools participated. A signi"cant di!erence (p = .037, d = .59) between the two approaches was found on one of the schools, favoring the 4C/ID approach. On the other school and for the total group no signi"cant di!erence was found. This is explained by the di!erent backgrounds between the students from the di!erent schools
A compiler architecture for domain-specific type error diagnosis
Domain-specific languages (DSLs) permeate current programming practices. An important kind of DSLs includes those developed and integrated within a host language, which we call embedded or internal DSLs. Unfortunately, embedded DSLs usually fall short on domainspecific error diagnosis, that is, they do not give control to DSL authors over how errors are reported to the programmer. As a consequence, implementation details of the DSL leak through in error messages, and programmers need to understand the internals of the DSL implementation to fix their code in a productive way. This paper addresses the challenge of building a compiler with integrated support for domain-specific error diagnosis. We assume that the type system is described using a constraint-based approach, and constraint solving is specified using rewrite rules. Domain information can then be injected at constraint gathering time via type rules, during constraint solving via specialized rules and axioms, and finally at blaming and reparation time via transformations. Furthermore, we define error contexts as a way to control the order in which solving and blaming proceeds. We engineer domain-specific error diagnosis in such a way that the compiler can also reuse the techniques for improving general error diagnosis
Handbook for Learning-centred evaluation of Computer-facilitated learning projects in higher education
This handbook supports a project funded by the Australian Government Committee for University Teaching and Staff Development (CUTSD). The amended project title is “Staff Development in Evaluation of Technology-based Teaching Development Projects: An Action Inquiry Approach”.
The project is hosted by Murdoch University on behalf of the Australasian Society for Computers in Learning in Tertiary Education (ASCILITE), as a consortium of 11 universities.
The rationale of the project is to guide a group of university staff through the evaluation of a Computer-facilitated Learning (CFL1) project by a process of action inquiry and mentoring, supported by the practical and theoretical material contained in this handbook
Cognitive Modelling with Term Rewriting
Term rewriting is a well established formal method used for defining semantics of programming languages, program transformations, automatic theorem proving, symbolic programming, intelligent tutoring system development etc. In this paper, we present a language based on term rewriting as an alternative formalism for modelling cognitive skills. We show how the language overcomes some deficiencies of production systems (compositionality, readability, control-flow etc.) and how, as a consequence, it can help with addressing practical problems raised by the cognitive modelling community
The Automatic Generation of Knowledge Spaces From Problem Solving Strategies
In this paper, we explore theoretical and practical aspects of the automatic generation of knowledge spaces from problem solving strategies. We show how the generated spaces can be used for adapting strategy-based problem solving learning environments (PSLEs)
Effectieve computerapplicaties: vergelijk de didactiek, niet het domein
Wie inzicht wil krijgen in wat een computerapplicatie voor het onderwijs effectief maakt, moet zich niet beperken tot een domein, maar insteken op het didactische principe van de applicaties. Dan blijkt dat de manier waarop de leerling ondersteuning krijgt bepalend is voor de effectiviteit van een computerapplicatie – of deze nu gaat over rekenen of over taal. Applicaties die de stappen van de leerling van feedback voorzien blijken het meest effectief
Proceedings TFPIE 2015: the Fourth International Workshop on Trends in Functional Programming in Education
Teaching and learning probability in an age of technology
Modern classrooms have access to a range of potential technologies, ranging from calculators to computers to the Internet. This paper explores some of the potential for such technologies to affect the curriculum and teaching of probability in the secondary school and early undergraduate years, rather than relying on the classical and formal approaches focusing on set theory and counting techniques. Different approaches to probability, including the study of risk, are identified. We describe some of the ways in which the teaching of probability might be supported by the availability of various forms of technology, including calculators, computer software and the Internet. We consider especially the role of simulation as a tool for both teachers and students, focusing on activities that are not possible without the use of technology. Modern technology provides an excellent means of exploring many of the concepts associated with probability. Many of these opportunities for learning were not available before the technology development and access within schools we enjoy today. This paper suggests some of the avenues for exploration, research and development and provides advice on where to get further information and resources
Datatype generic programming in F#
Datatype generic programming enables programmers to define functions by induction over the structure of types on which these functions operate. This paper presents a library for datatype generic programming in F#, built on top of the .NET reflection mechanism. The generic functions defined using this library can be called by any other language running on the .NET platform
Strategy-based feedback in a programming tutor
More and more people take up learning how to program: in schools and universities, in large open online courses or by learning it by themselves. A large number of tools have been developed over the years to support learners with the difficult task of building programs. Many of these tools focus on the resulting program and not on the process: they fail to help the student to take the necessary steps towards the final program. We have developed a prototype of a programming tutor to help students with feedback and hints to progress towards a solution for an introductory imperative programming problem. We draw upon the ideas of a similar tutor for functional programming and translate these ideas to a different paradigm. Our tutor is based on model solutions from which a programming strategy is derived, capturing the different paths to these solutions. We allow for variation by expanding the strategy with alternatives and using program transformations. The instructor is able to adapt the behaviour of the tutor by annotating the model solutions. We show a tutoring session to demonstrate that a student can arrive at a solution by following the generated hints. We have found that we can recognise between 33% and 75% of student solutions to three programming exercises that are similar to a model solution, which we can increase by incorporating more variations
- …
