ESMAD - DI - Comunicações em eventos científicos
Permanent URI for this collection
Browse
Browsing ESMAD - DI - Comunicações em eventos científicos by Title
Now showing 1 - 10 of 12
Results Per Page
Sort Options
- Authoring game-based programming challenges to improve students’ motivationPublication . Paiva, José Carlos; Leal, José Paulo; Queirós, RicardoOne of the great challenges in programming education is to keep students motivated while working on their programming assignments. Of the techniques proposed in the literature to engage students, gamification is arguably the most widely spread and effective method. Nevertheless, gamification is not a panacea and can be harmful to students. Challenges comprising intrinsic motivators of games, such as graphical feedback and game-thinking, are more prone to have longterm positive effects on students, but those are typically complex to create or adapt to slightly distinct contexts. This paper presents Asura, a game-based programming assessment environment providing means to minimize the hurdle of building game challenges. These challenges invite the student to code a Software Agent to solve a certain problem, in a way that can defeat every opponent. Moreover, the experiment conducted to assess the difficulty of authoring Asura challenges is described.
- Defining requirements for a gamified programming exercises formatPublication . Swacha, Jakub; Queirós, Ricardo; Paiva, José Carlos; Leal, José PauloComputer programming is a complex domain both to teach and learn. This incited endeavors to find methods that could mitigateat least some of the existing barriers. In the last years, automatic assessment has been playing an important role in reducing theburden of teachers in the assessment of students’ attempts to solve programming exercises and fostering the autonomy of studentsby allowing them to practice in any place and at any time with timely feedback.Even more recent development is the use of gamification in computer programming education in order to raise the enjoyment andengagement of students. Despite its rising spread, until now, there is not a programming exercise specification format addressingthe needs of gamification, such as the definition of challenges, the underlying storyline, including the links to other exercises, orthe rewards for solving challenges in form of points, badges or virtual items. Such a data format would allow the exchange ofready-to-use programming exercises along with the gamification-related data among different educational institutions and courses,providing instructors a possibility to make use of gamification in their courses without having to invest their own time in defininggamification rules themselves.In this paper, we analyze a set of concepts related to programming gamification developed in our previous work to identify therequirements for the specification of a gamified exercise format.
- Fostering students-driven learning of computer programming with an ensemble of e-learning toolsPublication . Queirós, Ricardo; Leal, José PauloLearning through practice is crucial to acquire a complex skill. Nevertheless, learning is only effective if students have at their disposal a wide range of exercises that cover all the course syllabus and if their solutions are promptly evaluated and given the appropriate feedback. Currently the teaching-learning process in complex domains, such as computer programming, is characterized by an extensive curricula and a high enrolment of students. This poses a great workload for faculty and teaching assistants responsible for the creation, delivering and assessment of student exercises. In order to address these issues, we created an e-learning framework - called Ensemble - as a conceptual tool to organize and facilitate technical interoperability among systems and services in domains that use complex evaluation. These domains need a diversity of tools, from the environments where exercises are solved, to automatic evaluators providing feedback on the attempts of students, not forgetting the authoring, management and sequencing of exercises. This paper presents and analyzes the use of Ensemble for managing the teaching-learning process in an introductory programming course at ESEIG - a school of the Polytechnic of Porto. An experiment was conducted to validate a set of hypotheses regarding the expected gains: increase in number of solved exercises, increase class attendance, improve final grades. They support the conclusion that the use of this e-learning framework for the practice-based learning has a positive impact on the acquisition of complex skills, such as computer programming.
- Kaang: a RESTful API generator for the modern webPublication . Queirós, RicardoTechnology is constantly evolving, as a result, users have become more demanding and the applications more complex. In the realm of Web development, JavaScript is growing in a surprising way, already leaving the boundaries of the browser, mainly due to the advent of Node.js. In fact, JavaScript is constantly being reinvented and, from the ES2015 version, began to include the OO concepts typically found in other programming languages. With Web access being mostly made by mobile devices, developers face now performance challenges and need to perform a plethora of tasks that weren’t necessary a decade ago, such as managing dependencies, bundling files, minifying code, optimizing images and others. Many of these tasks can be achieved by using the right tools for the job. However, developers not only have to know those tools, but they also must know how to access and operate them. This process can be tedious, confusing, time-consuming and error-prone. In this paper, we present Kaang, an automatic generator of RESTFul Web applications. The ultimate goal of Kaang is to minimize the impact of creating a RESTFul service by automating all its workflow (e.g., files structuring, boilerplate code generation, dependencies management, and task building). This kind of generators will benefit two types of users: will help novice developers to decrease their learning curve while facing the new frameworks and libraries commonly found in the modern Web and speed up the work of expert developers avoiding all the repetitive and bureaucratic work. At the same time, Kaang promotes the good development principles by adding automatic testing and documentation generation. For this accomplishment, Kaang generates the main API content based on the user’s input and a set of templates which will help developers to manage and test routes, define resources, store data models and others. In order to provide an addition level of confidence to the generator’s end-users, the generator will be integrated on Travis CI and published on both the npmjs and Yeoman registries.
- Learning JavaScript in a local playgroundPublication . Queirós, RicardoJavaScript is currently one of the most popular languages worldwide. Its meteoric rise is mainly due to the fact that the language is no longer bound to the limits of the browser and can now be used on several platforms. This growth has led to its increasing use by companies and, consequently, to become part of the curriculum in schools. Meanwhile, in the teaching-learning process of computer programming, teachers continue to use automatic code evaluation systems to relieve their timeconsuming and error prone evaluation work. However, these systems reveal a number of issues: they are very generic (one size fits all), they have scarce features to foster exercises authoring, they do not adhere to interoperability standards (e.g. LMS communication), they rely solely on remote evaluators being exposed to single point of failure problems and reducing application performance and user experience, which is a feature well appreciated by the mobile users. In this context, LearnJS is presented as a Web playground for practicing the JavaScript language. The system uses a local evaluator (the user’s own browser) making response times small and thus benefiting the user experience. LearnJS also uses a sophisticated authoring system that allows the teacher to quickly create new exercises and aggregate them into gamified activities. Finally, LearnJS includes universal LMS connectors based on international specifications. In order to validate its use, an evaluation was made by a group of students of Porto Polytechnic aiming to validate the usability of its graphical user interface.
- LearnJS - a JavaScript learning playgroundPublication . Queirós, RicardoThe JavaScript ecosystem is evolving dramatically. Nowadays, the language is no longer confined to the boundaries of the browser and is now running in both sides of the Web stack. At the same time, JavaScript it’s starting to play also an important role in desktop and mobile applications development. These facts are leading companies to massively adopt JavaScript in their Web/mobile projects and schools to augment the language spectrum among their courses curricula. Several platforms appeared in recent years aiming to foster the learning of the JavaScript language. Those platforms are mainly characterized with sophisticated UI which allow users to learn JavaScript in a playful and interactive way. Despite its apparent success, these environments are not suitable to be integrated in existent educational platforms. Beyond these interoperability issues, most of these platforms are rigid not allowing teachers to contribute with new exercises, organize the existent exercises in more suitable and modular activities to be deployed in their courses, neither keep track of student’s progress. This paper presents LearnJS as a simple and flexible platform to teach and learn JavaScript. In this platform, instructors can contribute with new exercises and combine them with expositive resources (e.g videos) to define specific course activities. These activities can be gamified with the injection of dynamic attributes to reward the most successful attempts. Finally, instructors can deploy activities in their educational platforms. On the other hand, learners can solve exercises and receive immediate feedback on their solutions through static and dynamic analyzers. Since we are in the early stages of implementation, the paper focus on the presentation of the LearnJS architecture, their main components and their data and integration models. Nevertheless, a prototype of the platform is available in a GitHub repository.
- Magni - a framework for developing context-aware mobile applicationsPublication . Queirós, Ricardo; Portela, Filipe; Machado, JoséThe advent of Internet and ubiquitous technologies has been fostering the appearance of intelligent mobile applications aware of their environment and the objects nearby. Despite its popularity, mobile developers are often required to write large and disorganized amounts of code, mixing UI with business logic and interact, in a ad-hoc fashion, with sensor devices and services. These habits hinder the code maintenance, refactoring and testing, while negatively influencing the consistency and performance of mobile applications. In this paper we present Magni as an abstract framework for the design and implementation of personalized and context-aware mobile applications. The corner stone of the framework is its architectural pattern based on the Model–View–Presenter pattern in the UI layer relying in REST services the majority of the app features. This paradigm fosters the modular design, implementing the separation of concerns concept and allowing an easier implementation of unit tests. In order to validate the framework, we present a prototype for an healthcare automotive app. The main goal of the app is to facilitate the access to health related points of interest such as hospitals, clinics and pharmacies.
- Perceptions, beliefs, and attitudes of first year third level students: an empirical study of portuguese, russian, polish, finnish, and irish studentsPublication . Brown, K.; Lopes, Ana Paula; Soares, Filomena Baptista; Larionova, V.; Cellmer, A.; Hurme, J.The contemporary skillset of undergraduates includes a degree of sophistication in the application of ICT within their daily lives as well as within the higher education environment. The assumption of the student as a digital native, with the ability to cognitively process information in an ICT focused educational environment, is omnipresent in higher education. It has been suggested this assumption does not aid learning and adds an additional burden on the student. This study investigated whether experiences and perceptions, of mathematics and online assessment, are common to students studying in different countries and their respective higher education systems. The purpose of the investigation was to determine what issues influence the attitudes of students in the application of ICT for the online assessment of mathematics in the first year of undergraduate programmes. The investigation was conducted online by means of a quantitative questionnaire, consisting of 16 survey items, using Google Forms to self-selecting students (n=374) across several academic disciplines including engineering, business studies, media, and tourism. The survey was delivered in English to the majority students and translated to Russian for the Russian students to enable each group to reply in their own native language. The questionnaire design utilized a 6-point Likert scale where students were asked to express their experiences and perceptions of mathematics and online assessment in their chosen programme of study. The data was exported to IBM SPSSv24 and regression analyses were conducted to ascertain possible associations and relationships between the two student groups in the case study. The results of the investigation reveal some peculiar features and the respective investigation outcomes of the investigation will be utilized in the design of learner-centered assessments and shared with international partners.
- SeCoGen – a Service Code GeneratorPublication . Queirós, RicardoThe architectural pattern of micro-services is being increasingly adopted by developers, facilitating the maintenance and scalability of the systems’ code. The adoption and consumption of these micro-services are often seen on the front-end code of the Web applications. Nevertheless, this adoption obliges web designers/developers to know where to look for those web services, to read their documentation and to write the request/response code as well to control the corresponding UI rendering. This whole process is time-consuming and error-prone. This article introduces SeCoGen as an interactive code generator for Web service parsing and consumption. The generator benefits from an HTTP request template, a query normalizer and dynamic UI templates. In order, to validate the generator feasibility and usefulness, a REST API to search for countries is used.
- SOS – Simple Orchestration of ServicesPublication . Queirós, Ricardo; Simões, AlbertoNowadays, we continue to write redundant code which can often be reused from the Web. Reusing programming tasks is beneficial since it speeds up the process of creating applications and reduces the errors related with the task creation from scratch. At the same time, the demands of our applications are increasing, leading to a simple problem having to be solved through several tasks. With the advent of the cloud, there are countless Web services that proliferate on the Web. One solution for developers is to use these Web Services. However, the process of mastering and coordinating all these services manually is time-consuming and error-prone. This paper presents SOS, a Simple Orchestration of Services. The ultimate goal of this tool is to act as a service composer while promoting the separation of concerns for two typical actors in this realm: the developer and the business analyst. The developer must define a service as a SOS task based on a JSON schema and submit it in a Web specialized editor. The business analyst uses the SOS editor, in an interactive way, to chain the required tasks to solve a specific problem. Then, the developer, uses a a simple client API – a SOS engine wrapper – to load a SOS manifest and to iterate over all tasks, without the need to dominate any bureaucratic aspects related with HTTP clients and messages. As a case study, several tasks are instantiated and aggregated in order to generate a composite service for a mobile app whose goal is to give an translated description of a picture taken with a mobile phone.