13,986 research outputs found

    A review of Australasian investigations into problem solving and the novice programmer

    Get PDF
    This Australasian focused review compares a number of recent studies that have identified difficulties encountered by novices while learning programming and problem solving. These studies have shown that novices are not performing at expected levels and many novices have only a fragile knowledge of programming, which may prevent them from learning and applying problem solving strategies. The review goes on to explore proposals for explicitly incorporating problem solving strategy instruction into introductory programming curricula and assessment, in an attempt to produce improved learning outcomes for novices. Finally, directions suggested by the reviewed studies are gathered and some unanswered questions are raised

    An Empirical Evaluation of Visual Metaphors in the Animation of Roles of Variables

    Get PDF

    Fostering Program Comprehension in Novice Programmers - Learning Activities and Learning Trajectories

    Get PDF
    This working group asserts that Program Comprehension (ProgComp) plays a critical part in the process of writing programs. For example, this paper is written from a basic draft that was edited and revised until it clearly presented our idea. Similarly, a program is written incrementally, with each step tested, debugged and extended until the program achieves its goal. Novice programmers should develop program comprehension skills as they learn to code so that they are able both to read and reason about code created by others, and to reflect on their code when writing, debugging or extending it. To foster such competencies our group identified two main goals: (g1) to collect and define learning activities that explicitly address key components of program comprehension and (g2) to define tentative theoretical learning trajectories that will guide teachers as they select and sequence those learning activities in their CS0/CS1/CS2 or K-12 courses. The WG has completed the first goal and laid down a strong foundation towards the second goal as presented in this report. After a thorough literature review, a detailed description of the Block Model is provided, as this model has been used with a dual purpose, to classify and present an extensive list of ProgComp tasks, and to describe a possible learning trajectory for a complex task, covering different cells of the Block Model matrix. The latter is intended to help instructors to decompose complex tasks and identify which aspects of ProgComp are being fostered

    On the Concept of Variable Roles and its Use in Software Analysis

    Full text link
    Human written source code in imperative programming languages exhibits typical patterns for variable use such as flags, loop iterators, counters, indices, bitvectors etc. Although it is widely understood by practitioners that these variable roles are important for automated software analysis tools, they are not systematically studied by the formal methods community, and not well documented in the research literature. In this paper, we study the notion of variable roles on the example of basic types (int, float, char) in C. We propose a classification of the variables in a program by variable roles, and demonstrate that classical data flow analysis lends itself naturally both as a specification formalism and an analysis paradigm for this classification problem. We demonstrate the practical applicability of our method by predicting membership of source files to the different categories of the software verification competition SVCOMP 2013

    Graduates of venture creation programs - where do they apply their entrepreneurial competencies?

    Get PDF
    The assessment of entrepreneurship education outcomes should move beyond a focus on firm creation and associated economic impact to consider a more nuanced view that pays attention to graduates and their entrepreneurial competencies. There is currently limited understanding to what extent entrepreneurial competencies developed through entrepreneurship education are applied in graduates\u27 subsequent careers across various occupational roles, either as employees or as self-employed. Our analysis is based on a survey administered to 556 graduates from three Nordic master-level entrepreneurship education programs (1997-2018), all identified as venture creation programs. We find that, to a large extent, entrepreneurial competencies developed through venture creation programs are applied in subsequent careers across multiple occupational roles encompassing self-employment, hybrid entrepreneurship, and intrapreneurship. Entrepreneurship education is relevant not only to new firm creation but also to entrepreneurial positions in established organizations when it comes to graduates\u27 application of entrepreneurial competencies in subsequent careers. Plain English Summary Entrepreneurial competencies developed through entrepreneurship education are applicable to careers other than "start-up entrepreneur." This article examines graduates from three entrepreneurship education programs in Northern Europe where students experienced venture creation as part of the education. Graduates report the extent to which they apply entrepreneurial competencies (AECs) in their subsequent career. The most common career among graduates is self-employed entrepreneur, closely followed by a career as intrapreneur, where graduates apply their entrepreneurial competencies in established organizations. A smaller group of graduates have careers as hybrid entrepreneurs, where they combine paid employment with self-employment. A minority group of graduates have more conventional careers as full-time employees in established companies, where entrepreneurial tasks are not their main activities. The results indicate that venture creation programs provide fertile ground for graduates to engage in a broad spectrum of entrepreneurial careers. From the analysis, we found that a career as an intrapreneur is more similar to a self-employed entrepreneur than to a conventional employee. An implication for entrepreneurship education is that real-life educational experience through venture creation is applicable to entrepreneurial careers beyond start-ups. Additionally, the study provides a first attempt to connect entrepreneurial competencies developed through education with how such competencies are manifested in graduates\u27 subsequent careers, motivating a discursive shift in how policies could spur a more entrepreneurial society that goes beyond a narrow start-up perspective

    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

    Strategies in object-oriented design

    Full text link
    This paper presents a study aiming to analyse the design strategies of experts in object-oriented programming. We report an experiment conducted with four experts. Each subject solved three problems. Our results show that three strategies may be used in program design according to the solution structure. An object-centred strategy and a function-centred strategy are used when the solution has a hierarchical structure with vertical communication between objects. In this case, the plan which guides the design activity is declarative. A procedure-centred strategy is used when the solution has a flat structure with horizontal communication between objects. In this case, the plan which guides the design activity is procedural. These results are discussed in relation with results on design strategies in procedural design. Furthermore, our results provide insight into the knowledge structures of experts in object-oriented design. To conclude, we point out limitations of this study and discuss implications of our results for Human-Computer Interaction systems, in particular for systems assisting experts in their design activity

    Exploring the Clinical Reasoning of Experienced Occupational Therapists: A Metacognitive Approach

    Get PDF
    This study explored the clinical reasoning of experienced occupational therapists’ (OTs) perceptions of how practitioners apply anatomy concepts in practice. The research question was: how do OTs apply anatomy concepts during their clinical reasoning processes in everyday practice
    • …
    corecore