In recent years a small number of web-based tools have been proposed to help students learn to write SQL query statements and also to assess students' SQL writing skills. SQLify is a new SQL teaching and assessment tool that extends the current state-of-the-art by incorporating peer review and enhanced automatic assessment based on database theory to produce more comprehensive feedback to students. SQLify (pronounced as squalify) is intended to yield a richer learning experience for students and reduce marking load for instructors. In this paper SQLify is compared with existing tools and important new features are demonstrated.
Motivating students of the Nintendo generation for Computer Science can only be achieved by providing them with an exiting and fresh CS1 course. The article describes the experience of redesigning the introductory programming course at ETH Zurich and shows how the combination of state-of-the-art visualizations with open project assignments enlivens students' enthusiasm for programming. It shows the setup and the involved libraries, provides example applications that were built in the course, and presents the data gathered in the evaluation of the open assignment.
This paper presents an approach for educators to evaluate student progress throughout a course, and not merely based on a final exam. We introduce progress reports and describe how these can be used as a tool to evaluate student learning and understanding during programming courses. Complemented with data from surveys and the exam, the progress reports can be used to build an overall picture of individual student progress in a course, and to answer questions related to how students (1) understand program code as a whole, (2) understand individual constructs, and (3) perceive the difficulty level of different programming topics. We also present results from using this approach in introductory programming courses at secondary level. Our initial experience from using the progress reports is positive, as they provide valuable information during the course, which most likely would remain uncovered otherwise.
The aim of the paper is to present the characteristics of certain dynamic programming strategies on the decision tree hidden behind the optimizing problems and thus to offer such a clear tool for their study and classification which can help in the comprehension of the essence of this programming technique.
The increasing number of children who need special education in Finland also requires an increasing amount of resources from teachers and a restructuring of the education system. Technology can be a part of the solution to this resource problem; however, for the technological solution to work, technologies need to be designed and implemented in new ways. Technologies used in special education in Finland can roughly be divided into four main categories; assistive technologies, communication technologies, and learning software. Last and the newest category concretizing technologies, such as educational robotics, have successfully been used in the Technologies for Children with Individual Needs Project. Possibilities provided by educational robotics have been extensive, not only because of the technology itself, but also because of how the technology has been implemented in innovative projects with school students. From this point of view, students with individual educational needs as well as those involved in inclusive education and harmonized school days could benefit from the use of technology.
Automatic assessment of programming exercises is typically based on testing approach. Most automatic assessment frameworks execute tests and evaluate test results automatically, but the test data generation is not automated. No matter that automatic test data generation techniques and tools are available.
We have researched how the Java PathFinder software model checker can be adopted to the specific needs of test data generation in automatic assessment. Practical problems considered are: how to derive test data directly from students' programs (i.e., without annotation) and how to visualize and how to abstract test data automatically for students? Interesting outcomes of our research are that with minor refinements generalized symbolic execution with lazy initialization (a test data generation algorithm implemented in PathFinder) can be used to construct test data directly from students' programs without annotation, and that intermediate results of the same algorithm can be used to provide novel visualizations of the test data.
Abstract thinking is a vital skill when learning computer science. Object technology and the concepts it is based upon make this skill even more crucial. However, previous research works show that students in top universities as well as experienced practitioners in industry encounter difficulties in thinking in abstract terms while practicing object oriented development. In this paper we suggest an iterative teaching methodology for supporting students in learning object oriented concepts. The suggested methodology is based on familiarizing students with modeling languages and tools at the early stages of their learning and iterating between model and code. We theoretically examine the contribution of modeling languages, in particular UML, to abstract thinking and consequently to the understanding of object oriented concepts and present some observations acquired during a trial execution of this methodology in a university course.
This article presents an approach to using open-source tools and open-source projects to add realistic and practical examples to a course on software design in a professional master's program of software engineering. Students are encouraged to use object-oriented, open-source software projects available on the Internet, and to analyze their design attributes using open-source tools, to hopefully improve their designs using documented design patterns and other design strategies. The proposed approach provides a variety of realistic examples for study, which can vary from semester to semester, without the instructor having to prepare complicated realistic examples or to rely on over-simplified examples in textbooks. Because the course and the approach are relatively new, a quantifiable assessment of the pedagogical approach has not been presented. However, the argument is made that realistic examples provide for better learning, and evidence is provided to show the feasibility of the approach. The instructor's role is more of a mentor than a traditional teacher, as every open-source project is different from a design perspective.
The ``digital society'' provides not only with new technology, but also with new concepts. Information plays a central role and becomes a valuable good, but knowledge cannot be reduced to information, and one aim for educators is to contribute in a ``knowledge society'', not only an ``information society''. A knowledge society is structured in networks, enriching the traditional hierarchies; a knowledge society promotes a kind of ``collective intelligence''. In such a society, open and distance learning has new dimensions and faces new challenges: collaboration and individualization, dealing with time and space, dealing with presence and distance, and contributing to lifelong learning. The Stellenbosch Declaration gives the main trends for ICT in education in a knowledge society, according to six major issues: digital solidarity, learners and lifelong learning, decision-making strategies, networking, research, teachers.
A web application has been developed using the Microsoft .NET technology, which allows to use the Mathematica software from any personal computer connected to Internet.
It is not necessary to have the Mathematica software in the own computer, therefore the requirements are limited to have a web browser.
All the power of a high level package for numerical and symbolic calculation can be used with no need to spend great amounts of money in individual licenses.
This allows students to use this software from their houses, by means of a simple interface, in any subject or project with mathematical calculations, even to attend virtual laboratories.