IEEE transactions on learning technologies

Vol. 11, num. 3, p. 321-333

DOI: 10.1109/TLT.2017.2723389

Date of publication: 2018-07

Abstract:

Jutge.org is an open educational online programming judge designed for students and instructors, featuring a repository of problems that is well organized by courses, topics and difficulty. Internally, Jutge.org uses a secure and efficient architecture and integrates modern verification techniques, formal methods, static code analysis and data mining. Jutge.org has exhaustively been used during the last decade at the Universitat Politecnica de Catalunya to strengthen the learn-by-doing approach in several courses. This paper presents the main characteristics of Jutge.org and shows its use and impact in a wide range of courses covering basic programming, data structures, algorithms, artificial intelligence, functional programming and circuit design.]]>

Abstract:

Internet is producing important changes, not only in society, but also in the computing discipline. For example, the web has made possible the existence of new forms of computing like cloud computing. On the other hand, the web also allows us to access large amounts of data, that can be used for very diverse purposes. In parallel, the progressive increase in the power of computers has made it possible to deal with problems that previously could not be addressed. A consequence of all this is that many traditional methods of searching or obtaining information, or designing, modeling, analyzing or verifying algorithms or systems have become partially obsolete. This project aims to address the study of some problems in this new scenario. In particular, the project will focus on the study of largescale computer systems, using graphs as the unifying element of this study. More specifically, the project is structured at two levels. At the most fundamental level, we propose the study of several issues that will serve as a basis for the design and analysis of large-scale information processing systems in the network. In particular, we will study the modeling of the network and how the information is disseminated in it, some logical methods to reason about these systems and some algorithmic methods that can help to design them. Whereas, at the second level, we would study some specific problems related to the type of systems we want to deal with. In particular, the search of information in the network, using the paradigm of graph databases, the processing of large volumes of data, and the design and construction of these systems.]]>

Abstract:

Over the last years, a number of new developments in computer science are deeply affecting the foundations of the discipline. In particular, the web has allowed for the existence of new forms of computation and interaction that are on the basis of the so-called service-oriented systems or of cloud computing. On the other hand, the web also allows us to access enormous amounts of information that can be processed and used for different purposes. As a consequence, traditional methods for information search and recovery, or for the modeling, design, analysis or verification of systems or algorithms are now partially obsolete. The aim of this project is to address the study of some problems in this new scenario. In particular, the project will be centered around the study of network-based systems, including service-oriented systems, cloud computing or some forms of data searching and processing. More specifically, the project is structured around two main goals. The first goal aims at the definition, study and application of mathematical, computational and logical models that, on the one hand, take into account the evolutionary character of the web and could be used for the analysis of algorithms over the net; on the other hand, they could be used as a basis for the definition of negotiation models that could be used to achieve strategic goals by means of cooperation and competition; and, finally, that they could be used as a basis for the modeling and design of systems that are based on the autonomous interaction of sets of units or processes and to reason about their behavior. The second goal aims at the development of methods for searching and retrieving information from the web or from huge data repositories, and also to process these data in connection to some kinds of problems.]]>