9,297 research outputs found
Curriculum Guidelines for Undergraduate Programs in Data Science
The Park City Math Institute (PCMI) 2016 Summer Undergraduate Faculty Program
met for the purpose of composing guidelines for undergraduate programs in Data
Science. The group consisted of 25 undergraduate faculty from a variety of
institutions in the U.S., primarily from the disciplines of mathematics,
statistics and computer science. These guidelines are meant to provide some
structure for institutions planning for or revising a major in Data Science
Introductory programming: a systematic literature review
As computing becomes a mainstream discipline embedded in the school curriculum and acts as an enabler for an increasing range of academic disciplines in higher education, the literature on introductory programming is growing. Although there have been several reviews that focus on specific aspects of introductory programming, there has been no broad overview of the literature exploring recent trends across the breadth of introductory programming.
This paper is the report of an ITiCSE working group that conducted a systematic review in order to gain an overview of the introductory programming literature. Partitioning the literature into papers addressing the student, teaching, the curriculum, and assessment, we explore trends, highlight advances in knowledge over the past 15 years, and indicate possible directions for future research
A Systematic Mapping Study of Code Quality in Education -- with Complete Bibliography
While functionality and correctness of code has traditionally been the main
focus of computing educators, quality aspects of code are getting increasingly
more attention. High-quality code contributes to the maintainability of
software systems, and should therefore be a central aspect of computing
education. We have conducted a systematic mapping study to give a broad
overview of the research conducted in the field of code quality in an
educational context. The study investigates paper characteristics, topics,
research methods, and the targeted programming languages. We found 195
publications (1976-2022) on the topic in multiple databases, which we
systematically coded to answer the research questions. This paper reports on
the results and identifies developments, trends, and new opportunities for
research in the field of code quality in computing education
Technical Debt Prioritization: State of the Art. A Systematic Literature Review
Background. Software companies need to manage and refactor Technical Debt
issues. Therefore, it is necessary to understand if and when refactoring
Technical Debt should be prioritized with respect to developing features or
fixing bugs. Objective. The goal of this study is to investigate the existing
body of knowledge in software engineering to understand what Technical Debt
prioritization approaches have been proposed in research and industry. Method.
We conducted a Systematic Literature Review among 384 unique papers published
until 2018, following a consolidated methodology applied in Software
Engineering. We included 38 primary studies. Results. Different approaches have
been proposed for Technical Debt prioritization, all having different goals and
optimizing on different criteria. The proposed measures capture only a small
part of the plethora of factors used to prioritize Technical Debt qualitatively
in practice. We report an impact map of such factors. However, there is a lack
of empirical and validated set of tools. Conclusion. We observed that technical
Debt prioritization research is preliminary and there is no consensus on what
are the important factors and how to measure them. Consequently, we cannot
consider current research conclusive and in this paper, we outline different
directions for necessary future investigations
Recommended from our members
Formalising Engineering Judgement on Software Dependability via Belief Networks
Mathematics and language
This essay considers the special character of mathematical reasoning, and
draws on observations from interactive theorem proving and the history of
mathematics to clarify the nature of formal and informal mathematical language.
It proposes that we view mathematics as a system of conventions and norms that
is designed to help us make sense of the world and reason efficiently. Like any
designed system, it can perform well or poorly, and the philosophy of
mathematics has a role to play in helping us understand the general principles
by which it serves its purposes well
Applying Behavior Driven Development Practices and Tools to Low-Code Technology
One of the main reasons software projects fail is the lack of communication between
stakeholders. Low Code Platforms have been recently growing in the software development
market. These allow creating state-of-the-art applications with facilitated design
and integration, in a rapid development fashion and as such, avoiding communication
errors among stakeholders is indispensable to avoid regressions. Behavior-Driven Development
(BDD) is a practice that focuses on developing value-based software, promoting
communication by bringing business people into development.
The BDDFramework is an open-source testing automation framework within the Out-
Systems environment. It allows describing test scenarios using the Gherkin syntax but it
is not focused on enabling the BDD process. Our main challenge is: - How can we apply
the BDD process in Low Code and support it from a technological point of view, considering the
particularities of Low Code environments and having as case study the OutSystems platform?
Is the BDDFramework prepared for this?
We interviewed some people in the domain to understand their development and testing
challenges and their experience with the BDDFramework. With the information gathered
and after studying other existing BDD process supporting tools for other languages,
we built a prototype that uses the existing BDDFramework and automates it, allowing
scenarios to be described in text files, which helps the introduction of business people in
the process. The prototype generates all the test structure automatically, reusing equal
steps while detecting parameters in the Gherkin descriptions.
We performed some real user testing to validate our prototype and we found that our
solution was faster, easier, with better usability and we obtained more correct tests than
with the previous approach - the BDDFramework alone.
Testing in Low Code is still an area with a lot to explore and errors have a huge impact
when development is very accelerated, so as communication errors tend to decrease we
can start building software even faster and this is what BDD proposes to solve. With this
prototype we have been able to demonstrate that it is possible to build a framework that
will allow us to enable this process by taking advantage of the OutSystems language particularities
to potentiate the BDD practice technologically, while setting a test standard
for the OutSystems language
A conceptual model of pair programming knowledge-based sharing for improving programming skills
One of eXtream Programming practices is Pair Programming (PP) (the pair consists of a driver and a navigator), which is used for promoting knowledge sharing among students. This practice encourages students to think creatively of programming solutions, and simplify learning, especially for difficult course such as Java. By applying PP, students are enforced to improve their social skills as they communicate with each others. Despite the numerous benefits of PP (discussed by previous studies), statistics show lack of demonstrating the extent at which the knowledge sharing, communication and transfer between the driver and the navigator can improve the code quality. Therefore this study aims propose a conceptual model of a PP knowledge-based sharing for improving programming skills. In order to achieve the stated objective, PP laboratory assignments were conducted and compared to evaluate the impact of PP on code quality with and without adopting the conceptual model. The conceptual model was validated by analyzing the collected data from the participants of PP laboratory assignment using Partial Least Square form of Structural Equation Modeling (PLS-SEM). The findings of the study show that socialization, combination, and internalization are the
determinant factors for achieving better code quality in PP environment. The findings of this study would be benefited to academic environment especially the agile programmers in the pair programming domain
On end-user computing productivity Results of controlled experiments
Two important classes of end-users are: command level users, and end-user programmers. For each of these classes, controlled experiments have been conducted to measure their productivity. For command level users working with databases, our results indicate that they perform better when the logical data model used is consistent with their own views of reality. For end-user programmers writing programs in high-level procedural programming language, the quality of programs is generally low and no program development method clearly stands out in terms of quality; though writing programs directly without any preplanning is expeditious
Curriculum Guidelines for Undergraduate Programs in Data Science
The Park City Math Institute 2016 Summer Undergraduate Faculty Program met for the purpose of composing guidelines for undergraduate programs in data science. The group consisted of 25 undergraduate faculty from a variety of institutions in the United States, primarily from the disciplines of mathematics, statistics, and computer science. These guidelines are meant to provide some structure for institutions planning for or revising a major in data science
- …