Inquiry-based learning has recently become one of the much advocated methodologies used especially in teaching of natural sciences. This of course opens the question whether it is suitable also for teaching informatic...
详细信息
ISBN:
(数字)9783319253961
ISBN:
(纸本)9783319253961;9783319253954
Inquiry-based learning has recently become one of the much advocated methodologies used especially in teaching of natural sciences. This of course opens the question whether it is suitable also for teaching informatics, or even more specifically for teaching programming in a didactical programming environment. In action research conducted within teaching practice of pre-service informatics teachers we tried to explore if any of the approaches and types of activities used by these pre-service teachers correspond to the principles of inquiry-based learning. In the research we study how pre-service teachers cope with these approaches to teaching, what contemporary pupils' attitudes to learning programming are, how this topic and the different activities used in the lessons appeal to them and how this type of lessons is perceived by teachers themselves - pre-service informatics teachers.
In this paper a first introduction to the concept of Pedagogical Content Knowledge (PCK) of programming for secondary school is given. PCK is the knowledge of why a subject should be taught, how that subject should be...
详细信息
ISBN:
(纸本)9781605583815
In this paper a first introduction to the concept of Pedagogical Content Knowledge (PCK) of programming for secondary school is given. PCK is the knowledge of why a subject should be taught, how that subject should be taught, what topics of that subject should be taught and for whom the teaching of the topic is meant. Moreover a method to uncover the PCK of programming is described.
Games have important motivational power. They take advantage of a set of tools to encourage people to engage with them just for the joy of playing and the possibility to win. While gamification is gaining ground in a ...
详细信息
ISBN:
(纸本)9781728109305
Games have important motivational power. They take advantage of a set of tools to encourage people to engage with them just for the joy of playing and the possibility to win. While gamification is gaining ground in a lot of areas in our society, its application in education is still an emerging trend. In recent years, gamification has attracted the attention of researchers from different areas such as teaching and learning computer programming. Ever since the first programming languages emerged, the problems inherent to programmingteaching and learning have been studied and investigated. The theme is very serious, not only for the important concepts underlying computer science courses but also for reducing the lack of motivation, failure, and abandonment that result from student frustration. In most of these studies and research one factor prevails, lack of student motivation or how to motivate students to learn programming. One way to combat this problem is to use gamification. Using game design elements in non-game contexts is one of the good ways to motivate and encourage students to learn programming. To assess how gamification impacted the learning experience, we compared data from one gamified and non-gamified year. In general, the results show significant improvements in terms of attendance to class, participation, and proactivity. They also suggest that our approach can reduce the high rate of failure grade among students. In conclusion, this case study, we show how the use of concepts related to gamification can improve motivation, passion, beauty, joy, awe, e naturally the succeed in programming.
The study for degree of Bachelor in Computer science at our Department lasts four years and besides other subjects, offers several interconnected core courses in programming: Introduction to programming, Data structur...
详细信息
ISBN:
(纸本)9780735412873
The study for degree of Bachelor in Computer science at our Department lasts four years and besides other subjects, offers several interconnected core courses in programming: Introduction to programming, Data structures and algorithms 1 and 2, Operating systems and Compiler construction. The intention in these courses is to put emphasizes on abstract structures and not to insist on particular realization in specific programming language or to use different languages in different courses. In order to avoid teaching many languages and various environments, it was decided to choose one language that is easy to teach and good for development of correct programming style. Chosen language has to be flexible enough to support teaching the different principles, methods and techniques.
Middle school students often avoid programming endeavors, thinking they are boring and non-productive. We have been successful engaging and maintaining interest in programming through the use of App Inventor 2 and a c...
详细信息
ISBN:
(纸本)9781467383677
Middle school students often avoid programming endeavors, thinking they are boring and non-productive. We have been successful engaging and maintaining interest in programming through the use of App Inventor 2 and a curriculum of our design. This paper details the features in App Inventor 2's visual programming environment that we believe are significant contributors for engaging students and facilitating their understanding of abstract concepts.
The main objective of this thesis is to improve the automated assessment of programming assignments from the perspective of assessment tool developers. We have developed visual feedback on functionality of students...
详细信息
The main objective of this thesis is to improve the automated assessment of programming assignments from the perspective of assessment tool developers. We have developed visual feedback on functionality of students'' programs and explored methods to control the level of detail in visual feedback. We have found that visual feedback does not require major changes to existing assessment platforms. Most modern platforms are web based, creating an opportunity to describe visualizations in JavaScript and HTML embedded into textual feedback. Our preliminary results on the effectiveness of automatic visual feedback indicate that students perform equally well with visual and textual feedback. However, visual feedback based on automatically extracted object graphs can take less time to prepare than textual feedback of good quality. We have also developed programming assignments that are easier to port from one server environment to another by performing assessment on the client-side. This not only makes it easier to use the same assignments in different server environments but also removes the need for sandboxing the execution of students'' programs. The approach will likely become more important in the future together with interactive study materials becoming more popular. Client-side assessment is more suitable for self-studying material than for grading because assessment results sent by a client are often too easy to falsify. Testing is an important part of programming and automated assessment should also cover students'' self-written tests. We have analyzed how students behave when they are rewarded for structural test coverage (e.g. line coverage) and found that this can lead students to write tests with good coverage but with poor ability to detect faulty programs. Mutation analysis, where a large number of (faulty) programs are automatically derived from the program under test, turns out to be an effective way to detect tests otherwise fooling our assessment system
This paper describes the experience of using open datasets in "programming" course for the first-year undergraduates in Software engineering. The course is designed according to a combined approach. It conta...
详细信息
ISBN:
(纸本)9781479966004
This paper describes the experience of using open datasets in "programming" course for the first-year undergraduates in Software engineering. The course is designed according to a combined approach. It contains the features of problem based learning and formative assessment. We describe and give examples of open datasets using in training and assessment task development. We also present the problems of open data application to educational process and possible ways of their solving.
This paper describes the design and implementation of an intelligent tutoring system for the Dijkstra-Gries programming methodology as defined by Gries in ''The Science of programming'' [12]. The first...
详细信息
This paper describes the design and implementation of an intelligent tutoring system for the Dijkstra-Gries programming methodology as defined by Gries in ''The Science of programming'' [12]. The first part of the paper identifies the requirements of intelligent tutoring systems in general and those of the methodology in particular. It shows the suitability of the Smalltalk environment for developing expandable intelligent systems and the compatibility of Smalltalk's object-oriented paradigm with the Gries methodology's goal/plan approach to programming. We then describe how these requirements are met: an overview of the system's support of the methodology and the modules that enable the system to respond intelligently. As an example, a reusable tutorial part is presented, first from a student's perspective, then from an author's perspective. Finally the results of an evaluation of the system drawn from actual student experience are presented.
This brief paper describes the considerations behind the design and use of a programming language and editor for use by children of primary school age.
This brief paper describes the considerations behind the design and use of a programming language and editor for use by children of primary school age.
We present several animation tools that we have used in the classroom to help reinforce some fundamental concepts of computer architecture, computer programming, and computer networking. When presenting such concepts ...
详细信息
ISBN:
(纸本)9789896740238
We present several animation tools that we have used in the classroom to help reinforce some fundamental concepts of computer architecture, computer programming, and computer networking. When presenting such concepts to undergraduate students, the concept of concurrency has been particularly difficult to explain and demonstrate. When two more things are happening at the same time, student often struggle to grasp what this actually means. Additionally, when teaching introductory programming classes, we believe it is important for students to understand how their program is converted into a larger number of simpler steps resulting in assembly language or machine code instructions. Attempts to show these concepts using traditional chalkboard methods or static viewgraphs have not worked well. To help present these concepts in a more understandable way, we have created several computer animations that we have shown to students in the classroom to illustrate visually these fundamental concepts. Further, our animation programs can create movie output files that students can download and view as often as desired.
暂无评论