We have applied static analysis to find out how vulnerable the plugins available at the official ... more We have applied static analysis to find out how vulnerable the plugins available at the official WordPress plugin directory are to well known security exploits. We have compared the amount of potential vulnerabilities and vulnerability density to the user ratings, to determine if user ratings can be used for finding secure plugins. We conclude that the quality of the plugins varies and there is no clear correlation between the ratings of plugins and the number of vulnerabilities detected in them. Indeed, an additional manual review exposed a simple but severe SQL injection vulnerability in a plugin, which has both good user ratings and a high download count. We recommend plugins to be individually inspected for typical vulnerabilities before using them in any WordPress powered site.
Executive Summary Parson's programming puzzles are a family of code construction assignments wher... more Executive Summary Parson's programming puzzles are a family of code construction assignments where lines of code are given, and the task is to form the solution by sorting and possibly selecting the correct code lines. We introduce a novel family of Parson's puzzles where the lines of code need to be sorted in two dimensions. The vertical dimension is used to order the lines, whereas the horizontal dimension is used to change control flow and code blocks based on indentation as in Python.
A wide range of visualization systems has been developed to demonstrate various computer science ... more A wide range of visualization systems has been developed to demonstrate various computer science core topics in the past decade. The major problem, for example, in teaching data structures and algorithms has been the difficulty of capturing the dynamic nature of the material. A proper tool for classroom demonstration would provide an ideal way to teach these kinds of concepts.
Abstract In this paper, we present our vision for OpenDSA, an open-source, community-based effort... more Abstract In this paper, we present our vision for OpenDSA, an open-source, community-based effort to create a complete active-eBook for Data Structures and Algorithms courses at the undergraduate level. We define active-eBooks as going beyond classic hyper textbooks, being a close integration of text and images with interactive visualizations/simulations and assessment activities.
Abstract In this paper, we present a tool that facilitates the learning of programming by providi... more Abstract In this paper, we present a tool that facilitates the learning of programming by providing a mobile application for Parsons problems. These are small assignments where learners build programs by ordering and indenting fragments of code. Parsons problems are well-suited to the mobile context as the assignments form small chunks of learning content that individually require little time to go through and may be freely divided across multiple learning sessions.
Abstract The process of solving a programming assignment is generally invisible to the teacher. W... more Abstract The process of solving a programming assignment is generally invisible to the teacher. We only see the end result and maybe a few snapshots along the way. In order to investigate this process with regard to Parsons problems, we used an online environment for Parsons problems in Python to record a detailed trace of all the interaction during the solving session. In these assignments, learners are to correctly order and indent a given set of code fragments in order to build a functioning program that meets the set requirements.
Abstract Algorithm animations and visualizations (AVs) aim at making program code or algorithms m... more Abstract Algorithm animations and visualizations (AVs) aim at making program code or algorithms more understandable by providing a view of the code on a higher level of abstraction. Despite the demonstrated benefits, algorithm visualizations have not been widely adopted in teaching. Presentation tools such as Microsoft PowerPoint and OpenOffice. org Impress are often used by instructors, and algorithm animations are added to the lecture slides.
In this paper, we present our experiences in using two automatic assessment tools, TRAKLA and TRA... more In this paper, we present our experiences in using two automatic assessment tools, TRAKLA and TRAKLA2, in a second course of programming. In this course, 500700 students have been enrolled annually during the period 19932004. The tools are specifically designed for ...
We have applied static analysis to find out how vulnerable the plugins available at the official ... more We have applied static analysis to find out how vulnerable the plugins available at the official WordPress plugin directory are to well known security exploits. We have compared the amount of potential vulnerabilities and vulnerability density to the user ratings, to determine if user ratings can be used for finding secure plugins. We conclude that the quality of the plugins varies and there is no clear correlation between the ratings of plugins and the number of vulnerabilities detected in them. Indeed, an additional manual review exposed a simple but severe SQL injection vulnerability in a plugin, which has both good user ratings and a high download count. We recommend plugins to be individually inspected for typical vulnerabilities before using them in any WordPress powered site.
Executive Summary Parson's programming puzzles are a family of code construction assignments wher... more Executive Summary Parson's programming puzzles are a family of code construction assignments where lines of code are given, and the task is to form the solution by sorting and possibly selecting the correct code lines. We introduce a novel family of Parson's puzzles where the lines of code need to be sorted in two dimensions. The vertical dimension is used to order the lines, whereas the horizontal dimension is used to change control flow and code blocks based on indentation as in Python.
A wide range of visualization systems has been developed to demonstrate various computer science ... more A wide range of visualization systems has been developed to demonstrate various computer science core topics in the past decade. The major problem, for example, in teaching data structures and algorithms has been the difficulty of capturing the dynamic nature of the material. A proper tool for classroom demonstration would provide an ideal way to teach these kinds of concepts.
Abstract In this paper, we present our vision for OpenDSA, an open-source, community-based effort... more Abstract In this paper, we present our vision for OpenDSA, an open-source, community-based effort to create a complete active-eBook for Data Structures and Algorithms courses at the undergraduate level. We define active-eBooks as going beyond classic hyper textbooks, being a close integration of text and images with interactive visualizations/simulations and assessment activities.
Abstract In this paper, we present a tool that facilitates the learning of programming by providi... more Abstract In this paper, we present a tool that facilitates the learning of programming by providing a mobile application for Parsons problems. These are small assignments where learners build programs by ordering and indenting fragments of code. Parsons problems are well-suited to the mobile context as the assignments form small chunks of learning content that individually require little time to go through and may be freely divided across multiple learning sessions.
Abstract The process of solving a programming assignment is generally invisible to the teacher. W... more Abstract The process of solving a programming assignment is generally invisible to the teacher. We only see the end result and maybe a few snapshots along the way. In order to investigate this process with regard to Parsons problems, we used an online environment for Parsons problems in Python to record a detailed trace of all the interaction during the solving session. In these assignments, learners are to correctly order and indent a given set of code fragments in order to build a functioning program that meets the set requirements.
Abstract Algorithm animations and visualizations (AVs) aim at making program code or algorithms m... more Abstract Algorithm animations and visualizations (AVs) aim at making program code or algorithms more understandable by providing a view of the code on a higher level of abstraction. Despite the demonstrated benefits, algorithm visualizations have not been widely adopted in teaching. Presentation tools such as Microsoft PowerPoint and OpenOffice. org Impress are often used by instructors, and algorithm animations are added to the lecture slides.
In this paper, we present our experiences in using two automatic assessment tools, TRAKLA and TRA... more In this paper, we present our experiences in using two automatic assessment tools, TRAKLA and TRAKLA2, in a second course of programming. In this course, 500700 students have been enrolled annually during the period 19932004. The tools are specifically designed for ...
Uploads
Papers by Ville Karavirta