9,297 research outputs found

    Curriculum Guidelines for Undergraduate Programs in Data Science

    Get PDF
    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

    Get PDF
    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

    Full text link
    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

    Get PDF
    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

    Mathematics and language

    Full text link
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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
    corecore