32 documents found, page 1 of 4

Sort by Issue Date

Autocorrection in projectional editors

Santos, A. L.; Mendonça, A.

People often mistype words when using keyboards. Word processors commonly feature autocorrection that checks for dictionary-based spelling mistakes and automatically performs text replacement after the user types a word. Programs are mostly described using text, and hence, the programmer may introduce typos when writing program identifiers (or keywords). In this paper, we describe an approach to integrate autoc...

Date: 2024   |   Origin: Repositório ISCTE

Educational program visualizations using synthetized execution information

Mourato, R.; Santos, A. L.

Visualization is a powerful tool for explaining, understanding, and debugging computations. Over the years, several visualization tools have been developed for educational purposes. Most of these tools feed visualization engines using the raw program state data available provided by the debugger API. While this suffices in certain contexts, there are situations where additional relevant information could aid in...

Date: 2024   |   Origin: Repositório ISCTE

A domain-specific language for dynamic white-box evaluation of Java assignments

Caniço, A. B.; Santos, A. L.

Programming exercises involving algorithms typically involve time and spatial constraints. Automated assessments for such implementations are often carried out in a black-box manner or through static analysis of the code, without considering the internal execution properties, which could lead to falsely positive evaluations of students' solutions. We present Witter, a domain-specific language for defining white...

Date: 2024   |   Origin: Repositório ISCTE

Witter: A library for white-box testing of introductory programming algorithms

Caniço, A. B.; Santos, A. L.

Software testing is mostly performed in a black-box manner, that is, without incorporating any knowledge of the internal workings of programs into the tests. This practice usually suffices for enterprises and general practitioners, where the focus lies on producing reliable results while most algorithmic tasks are provided by third-party libraries. However, for computer science students and the like, it might n...

Date: 2023   |   Origin: Repositório ISCTE

Code merging using transformations and member identity

Teles, A. R.; Santos, A. L.

Conventionally, merging code files is performed using generic line-based merging algorithms (e.g., diff3) that are unaware of the syntax and semantics of the programming language, outputting conflicts that could be avoided. Structured and semistructured merging techniques are capable of reducing conflicts, but they still suffer from false positives (conflicts that could be avoided) and false negatives (conflict...

Date: 2023   |   Origin: Repositório ISCTE

PescaJ: A projectional editor for Java featuring scattered code aggregation

Lopes, J. F.; Santos, A. L.

Conventionally, source code (and its documentation) is simultaneously a storage and editing representation, through files and editors to manipulate them as text. Over the years, IDEs have become increasingly sophisticated, providing features to augment the visible text content with helpful information (e.g., overlay documentation popups, inlay type hints), or on the opposite, to decrease it to reduce clutter (e...

Date: 2023   |   Origin: Repositório ISCTE

Manual de Boas Práticas Gestão do Solo e da Água em Espécies Produtoras de Frut...

Rodrigues, M. A.; Arrobas, M.; Santos, A. L.; Marrão, R.; Santos, D.; Machado, O.; Pato, R. L.; Amaro, R.; Cunha, M. J.; Gomes, A. A.; Menino, R.


Sprinter: A didactic linter for structured programming

Alfredo, F.; Santos, A. L.; Garrido, N.

Code linters are tools for detecting improper uses of programming constructs and violations of style issues. Despite that professional linters are available for numerous languages, they are not targeted to introductory programming, given their prescriptive nature that does not take into consideration a didactic viewpoint of learning programming fundamentals. We present Sprinter, a didactic code linter for struc...

Date: 2022   |   Origin: Repositório ISCTE

Jask: Generation of questions about learners’ code in Java

Santos, A. L.; Soares, T.; Garrido, N.; Lehtinen, T.

We present Jask, a system capable of generating questions about a learner's code written in Java. Given Java code as input, Jask provides a set of meaningful questions formulated in terms of the actual code (using its constructs and identifiers) and the corresponding correct answers. We integrated Jask in a web-based system where students submit their code (e.g., from lab exercises), answer questions about it, ...

Date: 2022   |   Origin: Repositório ISCTE

Let's ask students about their programs, automatically

Lehtinen, T.; Santos, A. L.; Sorva, J.

Students sometimes produce code that works but that its author does not comprehend. For example, a student may apply a poorly-understood code template, stumble upon a working solution through trial and error, or plagiarize. Similarly, passing an automated functional assessment does not guarantee that the student understands their code. One way to tackle these issues is to probe students' comprehension by asking...

Date: 2021   |   Origin: Repositório ISCTE

32 Results

Queried text

Refine Results

Author





















Date
















Document Type






Access rights




Resource






Subject