There is increasing interest in computerscience and computing bachelor programs due to the growing importance of technology in the globalized world. Thus, as higher education institutions strive to serve a diverse st...
详细信息
There is increasing interest in computerscience and computing bachelor programs due to the growing importance of technology in the globalized world. Thus, as higher education institutions strive to serve a diverse student demographic, it is salient to gauge their programming abilities to improve guidance on learning processes regarding their initial knowledge state. Despite the availability of certain instruments to measure student programming skills, these are traditionally aimed at younger populations and do not accurately discriminate the different levels of ability among university students. This article introduces a translation into Spanish and validation of an existing English-language aptitude test for computing jobs that can be used to measure the programming abilities of students with no prior experience in the field. Following a cyclic research methodology, two iterations were carried out in this article. First, the aforementioned test was translated and validated via expert judgment and focus groups, in which certain items were removed subsequent to a quantitative analysis. The resultant instrument underwent a second validation using a larger population of students. Analysis conducted after the second iteration showed this instrument to deliver good internal consistency, good difficulty and discrimination indices, and a moderate correlation with the grades of the midterm exam of a programming course undertaken by first year engineering students. This work contributes to both increasing the number of tests available in the Spanish language with which to assess programming abilities, as well as to the broader literature regarding test adaptation, translation and validation.
Stencil calculations are a widely-used computing pattern, and tracking the performance of such computing pattern on modern GPGPUs is of interest to the computational community. In this document we focus on how directi...
详细信息
ISBN:
(数字)9783031725678
ISBN:
(纸本)9783031725661;9783031725678
Stencil calculations are a widely-used computing pattern, and tracking the performance of such computing pattern on modern GPGPUs is of interest to the computational community. In this document we focus on how directive-based programming models profit from the GPGPUs computing power and how they compare with the native programming model. One major takeaway is that OpenMP and OpenACC are still behind native code but closing the gap with newer generations of accelerators and SW stack. In particular, to address programmability we do compare the development effort of implementing optimized kernels with all the above mentioned programming models. Finally, we further extend the analysis to cover power consumption aspects, which complements the programming and performance perspectives.
We introduce Kongruent, a new shader language and compiler, developed from scratch without any dependencies. Kongruent can cross-compile to all relevant system shader languages and bytecodes and provides significant a...
详细信息
ISBN:
(纸本)9783031741371;9783031741388
We introduce Kongruent, a new shader language and compiler, developed from scratch without any dependencies. Kongruent can cross-compile to all relevant system shader languages and bytecodes and provides significant advances in ease of use, compilation times, shader optimization and data-exchange between CPUs and GPUs. We provide an overview of the overall project and detail a collection of interesting features currently implemented in Kongruent. This includes its handling of data-buffers, data-exchange between shader stages, integration with regular programming languages and its compilation model. The compilation model in particular is discussed in detail as it is the basis that unlocks many of its other features.
The emergence of tools based on artificial intelligence has also led to the need of producing explanations which are understandable by a human being. In most approaches, the system is considered a black box, making it...
详细信息
ISBN:
(纸本)9789819789429;9789819789436
The emergence of tools based on artificial intelligence has also led to the need of producing explanations which are understandable by a human being. In most approaches, the system is considered a black box, making it difficult to generate appropriate explanations. In this work, though, we consider a setting where models are transparent: probabilistic logic programming (PLP), a paradigm that combines logic programming for knowledge representation and probability to model uncertainty. However, given a query, the usual notion of explanation is associated with a set of choices, one for each random variable of the model. Unfortunately, such a set does not explain why the query is true and, in fact, it may contain choices that are actually irrelevant for the considered query. To improve this situation, we present in this paper an approach to explaining explanations which is based on defining a new query-driven inference mechanism for PLP where proofs are labeled with choice expressions, a compact and easy to manipulate representation for sets of choices. The combination of proof trees and choice expressions allows us to produce comprehensible query justifications with a causal structure.
Multi-core shared memory architectures have become ubiquitous in computing hardware nowadays. As a result, there is a growing need to fully utilize these architectures by introducing appropriate parallelization scheme...
详细信息
Multi-core shared memory architectures have become ubiquitous in computing hardware nowadays. As a result, there is a growing need to fully utilize these architectures by introducing appropriate parallelization schemes, such as OpenMP worksharing-loop constructs, to applications. However, most developers find introducing OpenMP directives to their code hard due to pervasive pitfalls in managing parallel shared memory. To assist developers in this process, many compilers, as well as source-to-source (S2S) translation tools, have been developed over the years, tasked with inserting OpenMP directives into code automatically. In addition to having limited robustness to their input format, these compilers still do not achieve satisfactory coverage and precision in locating parallelizable code and generating appropriate directives. Recently, many data-driven AI-based code completion (CC) tools, such as GitHub CoPilot, have been developed to ease and improve programming productivity. Leveraging the insights from existing AI-based programming-assistance tools, this work presents a novel AI model that can serve as a parallel-programming assistant. Specifically, our model, named PragFormer, is tasked with identifying for loops that can benefit from conversion to parallel worksharing-loop construct (OpenMP directive) and even predict the need for specific data-sharing attributes clauses on the fly. We created a unique database, named Open-OMP, specifically for this goal. Open-OMP contains over 32,000 unique code snippets from different domains, half of which contain OpenMP directives, while the other half do not. We experimented with different model design parameters for these tasks and showed that our best-performing model outperforms a statistically-trained baseline as well as a state-of-the-art S2S compiler. In fact, it even outperforms the popular generative AI model of ChatGPT. In the spirit of advancing research on this topic, we have already released source code for Pra
Software and IT infrastructure keeps changing the way we live and work, but not necessarily for the better for all of us. Considering the implications of software on our society, and the industry's expectations to...
详细信息
ISBN:
(纸本)9798400701382
Software and IT infrastructure keeps changing the way we live and work, but not necessarily for the better for all of us. Considering the implications of software on our society, and the industry's expectations towards computing graduates, it appears natural to address social and ethical competencies within computing curricula. However, this is not necessarily the case in German computing education. Due to this desideratum, this paper addresses the role of ethical guidelines and social responsibility in programming education in contrast to industry expectations. Expected competencies in programming education and ethics modules of CS study programs were identified by a secondary analysis of available data. The present work also gathered and qualitatively analyzed job advertisements with regard to expected competencies. The results (1) illustrate the lack of correspondence with what is expected in educational settings and the profession, and (2) outline implications for a socially responsible programming education. These findings will support educators in developing competency-based pedagogical approaches to address socially responsible learning objectives in future programming courses and CS study programs.
In this paper, we present a set of six activities using the Lego Spike Prime robotics kit. The primary learning objectives of these activities are to develop students' programming and algorithmic skills, computati...
详细信息
ISBN:
(纸本)9783031670589;9783031670596
In this paper, we present a set of six activities using the Lego Spike Prime robotics kit. The primary learning objectives of these activities are to develop students' programming and algorithmic skills, computational thinking, and soft skills. Our research introduces one of the possible appropriate command sequences combined with the specific sensors of the selected kit. This approach aims to respect the cognitive difficulty of the tasks based on the age of the students and, simultaneously, exploit the motivational potential of educational robotics. Unlike traditional programming, this allows teachers to incorporate hands-on activities as a modern element of teaching. The activities are designed with consideration for the framework and needs of the Slovak education system, specifically for a 90 min computerscience lesson in lower secondary school. We conducted qualitative research in three different schools with students aged 10 to 15. These students were not necessarily robotics enthusiasts. Each task in every activity is briefly described, along with the commands taught. These activities are the result of our iterative research and multiple implementations in the educational process, encompassing the design idea, used sensors, and commands.
Dynamic programming (DP) can be used for optimal control of hybrid electric vehicles but requires a large number of computations to be performed. As many of these computations can be performed in parallel, FPGAs are a...
详细信息
ISBN:
(纸本)9783031628733;9783031628740
Dynamic programming (DP) can be used for optimal control of hybrid electric vehicles but requires a large number of computations to be performed. As many of these computations can be performed in parallel, FPGAs are an interesting platform for executing the dynamic programming algorithm. This paper presents a scalable architecture for performing dynamic programming on FPGAs using a pipelined model of a hybrid electric vehicle (HEV). The proposed architecture supports multiple parallel model execution units and is scalable to support a configurable number of units, inputs, states, and time steps. The run time of the optimization process is shown to be improved significantly compared to a CPU implementation. With four parallel model execution units, the design runs in about 1.5% of the time required for an Intel Xeon W-1250 CPU. This shows that DP-based optimal control is feasible for HEVs and that FPGAs can be used to achieve it.
There has been significant progress in increasing the access to computing education for many K-12 students, including states adopting computerscience (CS) standards and/or requiring CS courses. This includes the crea...
详细信息
Linear logic gives us additive pairs in the form of the additive conjunction. Intuitionistic type theory gives us dependent pairs in the form of the dependent sum type. What happens when we combine these two kinds of ...
详细信息
ISBN:
(数字)9783031745584
ISBN:
(纸本)9783031745577;9783031745584
Linear logic gives us additive pairs in the form of the additive conjunction. Intuitionistic type theory gives us dependent pairs in the form of the dependent sum type. What happens when we combine these two kinds of pairs together? And is this new pair type useful in practice? To answer these questions, we employ quantitative type theory, which can describe both substructural and dependent types simultaneously. In our previous work, we introduced dependent additive pairs. In this work, we show how these pairs can be used in three completely different scenarios: folding data structures using linear recursion schemes, computing resource-aware proofs, and defining additive versions of inductive and coinductive types. Each of these scenarios is then illustrated by an implementation in the Janus language.
暂无评论