16 research outputs found

    An Analysis of Introductory Programming Courses at UK Universities

    Get PDF
    Context: In the context of exploring the art, science and engineering of programming, the question of which programming languages should be taught first has been fiercely debated since computer science teaching started in universities. Failure to grasp programming readily almost certainly implies failure to progress in computer science.Inquiry: What first programming languages are being taught? There have been regular national-scale surveys in Australia and New Zealand, with the only US survey reporting on a small subset of universities. This the first such national survey of universities in the UK.Approach: We report the results of the first survey of introductory programming courses (N=80) taught at UK universities as part of their first year computer science (or related) degree programmes, conducted in the first half of 2016. We report on student numbers, programming paradigm, programming languages and environment/tools used, as well as the underpinning rationale for these choices.Knowledge: The results in this first UK survey indicate a dominance of Java at a time when universities are still generally teaching students who are new to programming (and computer science), despite the fact that Python is perceived, by the same respondents, to be both easier to teach as well as to learn.Grounding: We compare the results of this survey with a related survey conducted since 2010 (as well as earlier surveys from 2001 and 2003) in Australia and New Zealand.Importance: This survey provides a starting point for valuable pedagogic baseline data for the analysis of the art, science and engineering of programming, in the context of substantial computer science curriculum reform in UK schools, as well as increasing scrutiny of teaching excellence and graduate employability for UK universities

    A pedagogical approach to teaching game programming: Using the PRIMM approach

    Get PDF

    Recruiting VR Troopers: Bringing Introductory Programming Projects to Life in Virtual Reality

    Get PDF
    Classes in introductory programming often focus on solving small, succinct problems that can typically be completed in few lines of source code. While useful for learning the basics of algorithm implementation and language syntax, this method suggests to learners that all programming problems exist in isolation and are self-contained. In contrast, most programming assignments faced by fresh graduates are large in scope and require use of many pre-built libraries and extensions. As a result, students are not entirely prepared to write code that will function within a larger system. To address this problem, an introductory C programming course at Valparaiso University has explored the use of virtual reality as a means to motivate students to have fun while practicing coding skills and showcase the power of working within constraints of a complex system. Students are provided a brief introduction to the OpenGL 3D graphics framework and then asked to design a small, optionally animated, scene using their current knowledge of the C programming language. Later in the semester, these same students are brought into a VisCube Virtual Reality system to experience their scenes in a fully immersive environment. The VisCube uses eight rendering paths and stereo displays to generate a 3D scene in a 10’x8’x6’ cube. This exercise serves to show students that even a simple scene can then easily expanded to display in a virtual reality environment. We discuss the project assignment and student impacts using assessment and provide a brief discussion of how this can be adapted to facilities with other viualization capabilities

    Programming in groups: developing industry-facing software development skills in the undergraduate mathematics curriculum

    Get PDF
    Programming is increasingly becoming an expected graduate skill for mathematics students. We argue in this article that programming should be given the same priority as any other graduate skill. Given the practical and philosophical constraints placed on undergraduate mathematics curricula, however, we acknowledge the difficulty in introducing, in a meaningful way, many of the core ideas of programming. We therefore present a case study of a second year course on an undergraduate mathematics programme that introduces Object Oriented Programming and aspects of software design, as well as key practical skill such as version control. We will argue that group assessment in this context is a more natural setting for students to be working and reflects more closely the experience of programming in industry; furthermore, it serves as a convenient platform to introduce students to aspects of software design and practical programming considerations. We will present an example of the type of assessment that can be used and how Version Control Systems like Git can be used to give students a more realistic experience of programming with the advantage of allowing tutors and other group members to track student work

    Programming in groups: developing industry-facing software development skills in the undergraduate mathematics curriculum

    Get PDF
    Programming is increasingly becoming an expected graduate skill for mathematics students. We argue in this article that programming should be given the same priority as any other graduate skill. Given the practical and philosophical constraints placed on undergraduate mathematics curricula, however, we acknowledge the difficulty in introducing, in a meaningful way, many of the core ideas of programming. We therefore present a case study of a second year course on an undergraduate mathematics programme that introduces Object Oriented Programming and aspects of software design, as well as key practical skill such as version control. We will argue that group assessment in this context is a more natural setting for students to be working and reflects more closely the experience of programming in industry; furthermore, it serves as a convenient platform to introduce students to aspects of software design and practical programming considerations. We will present an example of the type of assessment that can be used and how Version Control Systems like Git can be used to give students a more realistic experience of programming with the advantage of allowing tutors and other group members to track student work

    Teaching Computational Thinking

    Get PDF
    Computational thinking is a fundamental skill for everyone, not just computer scientists. Computational thinking is the thought processes involved in formulating problems and their solutions so that the solutions are represented in a form that can be effectively carried out by an information processing agent. Teaching Computational Thinking introduces the fundamental principles of communicating computing to learners across all levels. The book delves into the philosophical and psychological foundations of computer science as a school subject as well as specific teaching methods, curriculum, tools, and research approaches in computing education. This book is intended as a guide and teaching companion for pre-service and in-service computer science teachers

    Using Skills Profiling to Enable Badges and Micro-Credentials to be Incorporated into Higher Education Courses

    Get PDF
    Employers are increasingly selecting and developing employees based on skills rather than qualifications. Governments now have a growing focus on skilling, reskilling and upskilling the workforce through skills-based development rather than qualifications as a way of improving productivity. Both these changes are leading to a much stronger interest in digital badging and micro-credentialing that enables a more granular, skills-based development of learner-earners. This paper explores the use of an online skills profiling tool that can be used by designers, educators, researchers, employers and governments to understand how badges and micro-credentials can be incorporated within existing qualifications and how skills developed within learning can be compared and aligned to those sought in job roles. This work, and lessons learnt from the case study examples of computing-related degree programmes in the UK, also highlight exciting opportunities for educational providers to develop and accommodate personalised learning into existing formal education structures across a range of settings and contexts
    corecore