13,986 research outputs found
A review of Australasian investigations into problem solving and the novice programmer
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
Fostering Program Comprehension in Novice Programmers - Learning Activities and Learning Trajectories
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
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?
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
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
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
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
- …