53 research outputs found

    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

    Self-beliefs in the introductory programming lab and game-based fantasy role-play

    Get PDF
    This thesis was submitted for the degree of Doctor of philosophy and awarded by Brunel University LondonIt is important for students to engage in adequate deliberate practice in order to develop programming expertise. However, students often encounter anxiety when they begin to learn. This can present a challenge to educators because such anxiety can influence practice behaviour. This thesis situates this challenge within the Control- Value Theory of Achievement Emotions, emphasising a need for domain-specific research and presenting new research tools which can be used to investigate the area. Analysis of data collected from three cohorts of introductory programming students on web programming (2011-12) and robot programming (2012-13 and 2013-14) courses show that programming self-concept and programming aptitude mindset can predict programming anxiety and that programming anxiety is negatively correlated with programming practice. However, levels of anxiety remained consistently high across this period. A method to enrich these psychological constructs through a multimedia-rich learning environment is proposed. Drawing upon the interplay between narrative reinforcement and procedural rhetoric that can be achieved in a fantasy role-play, students' self-concept can be enhanced. A double-blind randomised controlled trial demonstrates promising results, however small effect sizes suggest further research is needed

    Computing degree apprenticeships: an opportunity to address gender imbalance in the IT sector?

    Get PDF
    This paper explores the potential for new work-based apprenticeship degrees to encourage more women into computing degrees and the IT sector. In the UK, women are currently under-represented on computing courses. Meanwhile the IT industry requires more computing graduates, in general, and specifically more highly skilled women to create appropriate products and systems. The UK has recently introduced apprenticeship computing degrees, where the apprentice is a work-based employee. In some models, apprentices spend 20% of their time on Higher Education studies and also gain credits through work-based learning; in others, apprentices spend blocks of time in Higher Education and the workplace. These degrees offer a new and innovative route to studying computing at university. Largely funded by employers, apprentices are salaried, and their fees are paid, paving the way for more people to study for a degree. The work context enables apprentices to keep their jobs (if relevant) or to move into IT roles and start a computing degree without necessarily having computing qualifications; the degrees have no upper age limit. Extending the work-based approach of US cooperative education and student work placement models, apprenticeship degrees have been introduced to increase skills levels through a close partnership between universities and employers. This is particularly important in IT, where the sector is expanding, and employers are looking for both good technical and personal skills. With this model, employers are collaboratively involved in the design of the degrees and apprentices graduate with extensive work experience.We posed the following research question: Are there differences in the paths into computing apprenticeship degrees between women and men? A survey was conducted with apprentices beginning a degree in Fall 2019: Cyber Security, Data Science, IT Management for Business, or Software Engineering/Development. Participants were asked about their routes into the apprenticeship and the IT sector. Apprentices at five universities in Scotland and one in Northern Ireland completed the survey, on paper or online (n=85; 23 female, 59 male).The results revealed a less severe gender imbalance than with comparative on-campus degrees (28% female), but this varied greatly across the subjects, from Data Science, where 55% of respondents identified as female and IT Management for Business (40% female), to Software Development (27% female) and Cyber Security (only 11% female). Apprentices were more likely to have started the degree at least a few years after leaving school and this was especially true for women. More female respondents had also been with their current employer for over five years. However, women were slightly more likely to have joined their employers in order to start the apprenticeship.This initial work identifies opportunities to recruit women onto computing degree apprenticeships, for example by targeting women who have started careers. It also highlights that there are challenges in recruiting women into certain subject areas, especially Cyber Security, but also Software Development. Exploring our respondents' motivations for choosing their subjects illuminates the gender balance challenge and indicates how degree apprenticeships can encourage more women into the IT sector

    Defining the Competencies, Programming Languages, and Assessments for an Introductory Computer Science Course

    Get PDF
    The purpose of this study was to define the competencies, programming languages, and assessments for an introductory computer science course at a small private liberal arts university. Three research questions were addressed that involved identifying the competencies, programming languages, and assessments that academic and industry experts in California’s Central Valley felt most important and appropriate for an introduction to computer science course. The Delphi methodology was used to collect data from the two groups of experts with various backgrounds related to computing. The goal was to find consensus among the individual groups to best define aspects that would best comprise an introductory CS0 course for majors and non-majors. The output would be valuable information to be considered by curriculum designers who are developing a new program in software engineering at the institution. The process outlined would also be useful to curriculum designers in other fields and geographic regions who attempt to address their local education needs. Four rounds of surveys were conducted. The groups of experts were combined in the first round to rate the items in the straw models determined from the literature and add additional components when necessary. The academic and industry groupings were separated for the remainder of the study so that a curriculum designer could determine not only the items deemed most important, but also their relative importance among the two distinct groups. The experts selected items in each of the three categories in the second round to reduce the possibilities for subsequent rounds. The groups were then asked to rank the items in each of the three categories for the third round. A fourth round was held as consensus was not reached by either of the groups for any of the categories as determined by Kendall’s W. The academic experts reached consensus on a list of ranked competencies in the final round and showed a high degree of agreement on lists of ranked programming languages and assessments. Kendall’s W, values, however, were just short of the required 0.7 threshold for consensus on these final two items. The industry experts did not reach consensus and showed low agreement on their recommendations for competencies, programming languages, and assessments

    Approaches to networked learning : an investigation into the nature of autonomous student interaction with web-based educational environments.

    Get PDF
    A Networked Learning Environment is an autonomously accessible web resource that combines hypertext course materials, online communication channels, multimedia and other interactive features. Constructivist learning theory makes many claims about the potential of such environments, and the educational ‘affordances’ inherent within them. Yet what we understand about the ways in which students learn online, and whether this is conducive to realising the potential benefits on offer, is somewhat limited. Research into learning style differences and attitudes towards online studying provides a partial insight. However, by using tools designed for assessing how students undertake learning in traditional contexts, and through having been predominantly quantitative, much of the research to date can only highlight the relevance of such factors. Consequently, many questions regarding the how and why of networked learning behaviour remain largely unanswered, and there is a growing consensus that an understanding that is informed by the subjective perspectives of learners is required. This thesis describes a primarily qualitative investigation that shared this concern. The main research element involved a phenomenographic study that focused on the perceptions, behaviours and experiences of students who interacted with NLEs that were the sole or primary means of course delivery in three undergraduate, campus- based contexts. Two case studies and a naturalistic experiment were conducted, and the phenomenographic study was supplemented with other data relating to assignment grades, online discussion contributions, and preferences for conventional studying. The phenomenographic analysis identified three distinct types of approach to networked learning that can be seen as increasingly effective in terms of networked learning interactions and outcomes. Based on the findings of the phenomenography, and other aspects of the research, the thesis argues that while many students will experience to some extent the affordances inherent within NLEs, there is an important distinction between students recognising the benefits of networked learning, and actually undertaking this in a way that is conducive to good knowledge development. This thesis concludes by presenting a theoretical framework that conceptualises the relationship between a range of individual and contextual factors that influence networked learning, and which has a number of implications for theory and practice

    Automatização de feedback para apoiar o aprendizado no processo de resolução de problemas de programação.

    Get PDF
    No ensino de programação, é fundamental que os estudantes realizem atividades práticas. Para que sejam bem sucedidos nessas atividades, os professores devem guiá-los, especialmente os iniciantes, ao longo do processo de programação. Consideramos que o processo de programação, no contexto do ensino desta prática, engloba as atividades necessárias para resolver um problema de computação. Este processo é composto por uma série de etapas que são executadas de forma não linear, mas sim iterativa. Nós consideramos o processo de programação adaptado de Polya (1957) para a resolução de problemas de programação, que inclui os seguintes passos [Pól57]: (1) Entender o problema, (2) Planejar a solução, (3) Implementar o programa e (4) Revisar. Com o foco no quarto estágio, nós almejamos que os estudantes tornem-se proficientes em corrigir as suas estratégias e, através de reflexão crítica, serem capazes de refatorar os seus códigos tendo em vista a boa qualidade de programação. Durante a pesquisa deste doutorado, nós desenvolvemos uma abordagem para gerar e fornecer feedback na última fase do processo de programação: avaliação da solução. O desafio foi entregar aos estudantes feedback elaborado e a tempo, referente ás atividades de programação, de forma a estimulá-los a pensar sobre o problema e a sua solução e melhorar as suas habilidades. Como requisito para a geração de feedback, comprometemo-nos a não impormais carga de trabalho aos professores, evitando-os de criar novos artefatos. Extraímos informações a partir do material instrucional já desenvolvido pelos professores quando da criação de uma nova atividade de programação: a solução de referência. Implementamos e avaliamos nossa proposta em um curso de programação introdutória em um estudo longitudinal. Os resultados obtidos no nosso estudo vão além da desejada melhoria na qualidade de código. Observamos que os alunos foram incentivados a melhorar as suas habilidades de programação estimulados pelo exercício de raciocinar sobre uma solução para um problema que já está funcionando.In programming education, the development of students’ programming skills through practical programming assignments is a fundamental activity. In order to succeed in those assignments, instructors need to provide guidance, especially to novice learners, about the programming process. We consider that this process, in the context of programming education, encompasses steps needed to solve a computer-programming problem. We took into consideration the programming process adapted from Polya (1957) to computer programming problem-solving, that includes the following stages [Pól57]: (1) Understand the problem; (2) Plan the solution; (3) Implement the program and (4) Look Back. Focusing on the fourth stage, we want students to be proficient in correcting strategies and, with critical reflection, being able to refactor their code caring about good programming quality. During this doctoral research, we developed an approach to generate formative feedback to leverage programming problem-solving in the last stage of the programming process: targeting the solution evaluation. The challenge was to provide timely and elaborated feedback, referring to programming assignments, to stimulate students to reason about the problem and their solution, aiming to improve their programming skills. As a requirement for generating feedback, we compromised not to impose the creation of new artifacts or instructional materials to instructors, but to take advantage of a usual resource already created when proposing a new programming assignment: the reference solution. We implemented and evaluated our proposal in an introductory programming course in a longitudinal study. The results go beyond what we initially expected: the improved assignments’ code quality. We observed that students felt stimulated, and in fact, improved their programming abilities driven by the exercise of reasoning about their already functioning solution
    corecore