0000000000427308
AUTHOR
Jonne Itkonen
How Do Computer Science Students Use Distributed Version Control Systems?
The inclusion of version control systems into computing curricula enables educators to promote competences needed in real-life situations. The use of a version control system also has several potential benefits for the teacher. The teacher might, for instance, use the tool to monitor students’ progress and to give feedback efficiently. This study analyzes how students used the distributed version control system Git in several computing courses. We analyzed students’ commit log data in two advanced programming courses, a second-year introductory software engineering course, and two courses where students developed software products. This enables us to compare Git usage between introductory l…
Test-driven lecturing
One can easily compare the current style of teaching and lecturing to the so called waterfall model of software development. We first design the course, then execute it, and in the end we make tests to see, if everything went well. As with waterfall model, the assessment comes too late, if anything fails.Therefore, we need a lecturing model which entwines assessment into course execution. Test-driven development (TDD) is a model of software development in which the computer program is designed by writing first small tests that assure the meeting of the requirements. In test-driven lecturing, students first take tests to show how well they master the topics to be discussed. In this way both …
A replication study on the intuitiveness of programming language syntax
AbstractIn this article, we present a replication of an empirical experiment that evaluates intuitiveness and comprehensibility of keywords relating to different concepts in programming languages, originally conducted by Stefik and Gellenbeck. Novice programmers face many barriers when learning programming. One of these barriers is syntax, which for many languages is not designed based on empirical evidence. The purpose of the experiment was to provide more empirical evidence on the subject, to find out if the results of the original experiment can be replicated and if conducting the experiment in an environment where English is not the native language affects the results. The results of ou…
Potku – New analysis software for heavy ion elastic recoil detection analysis
Time-of-flight elastic recoil detection (ToF-ERD) analysis software has been developed. The software combines a Python-language graphical front-end with a C code computing back-end in a user-friendly way. The software uses a list of coincident time-of- flight–energy (ToF–E) events as an input. The ToF calibration can be determined with a simple graphical procedure. The graphical interface allows the user to select different elements and isotopes from a ToF–E histogram and to convert the selections to individual elemental energy and depth profiles. The resulting sample composition can be presented as relative or absolute concentrations by integrating the depth profiles over user-defined rang…
Research has noticed that imparting TDD-like testing to an early computing curriculum is challenging because it increases technical and cognitive load for the students. This paper addresses the challenge with a software-based solution constructed to facilitate the process of writing tests. The solution allows using a compact while efficient syntax for formulating tests, writing tests into JavaDoc comments, thus close to the source code that implements intended functionalities, and automates the generation of actual test code. The constructed solution -- the ComTest tool -- has now been used in four introductory level programming course offerings. The paper presents the tool and concludes wi…