Teemu Sirkiä

Learn More
Visual program simulation (VPS) is a form of interactive program visualization in which novice programmers practice tracing computer programs: using a graphical interface, they are expected to correctly indicate each consecutive stage in the execution of a given program. Naturally, students make mistakes during VPS; in this article, we report a study of(More)
We investigated students' use of program visualizations (PVs) that were tightly integrated into the electronic book of an introductory course on programming. A quantitative analysis of logs showed that most students, and beginners especially, used the PVs, even where the PV did not directly affect their grade. Students commonly spent more time studying(More)
Computer science educators are increasingly using interactive learning content to enrich and enhance the pedagogy of their courses. A plethora of such learning content, specifically designed for computer science education, such as visualization, simulation, and web-based environments for learning programming, are now available for various courses. We call(More)
Code examples are commonly used learning resources that help students grasp various programming structures and concepts. However, example code usually requires explanations about what each line or part of the code does. Otherwise, students may find it difficult to follow an example. In this paper, we compare two types of code examples that use different(More)
Modern learning environments support a variety of smart learning content, such as animations, exercises or other interactive learning material. These can be incorporated into different online platforms. However, there are many technical challenges in using the same smart learning content in multiple learning management systems. We describe the main problems(More)
We discuss uses of <i>embedded computing questions</i> (ECQs) in interactive electronic textbooks on programming, identifying a non-exhaustive list of three main categories of ECQs and nine subcategories. The main categories are: ECQs that introduce content, ECQs that reinforce learning, and ECQs that highlight content. We provide examples from an existing(More)
  • 1