174 research outputs found

    Teaching how to program using automated assessment and functional glossy games (Experience Report)

    Get PDF
    Our department has long been an advocate of the functional-first school of programming and has been teaching Haskell as a first language in introductory programming course units for 20 years. Although the functional style is largely beneficial, it needs to be taught in an enthusiastic and captivating way to fight the unusually high computer science drop-out rates and appeal to a heterogeneous population of students.This paper reports our experience of restructuring, over the last 5 years, an introductory laboratory course unit that trains hands-on functional programming concepts and good software development practices. We have been using game programming to keep students motivated, and following a methodology that hinges on test-driven development and continuous bidirectional feedback. We summarise successes and missteps, and how we have learned from our experience to arrive at a model for comprehensive and interactive functional game programming assignments and a general functionally-powered automated assessment platform, that together provide a more engaging learning experience for students. In our experience, we have been able to teach increasingly more advanced functional programming concepts while improving student engagement.The authors would like to thank the precursors of the 20-year functional programming culture and FPro unit at our university, and all the instructors and TAs that have been involved in the PLab unit throughout the years. This work is financed by the ERDFs European Regional Development Fund through the Operational Programme for Competitiveness and Internationalisation - COMPETE 2020 Programme within project POCI-01-0145-FEDER-006961, and by National Funds through the Portuguese funding agency, FCT s Fundacao para a Ciencia e a Tecnologia as part of project UID/EEA/50014/2013

    Addressing teachers' concerns about the Prog&Play serious game with context adaptation

    Get PDF
    International audienceComputers games are supposed to provide a good learning environment. We study a large-scale use (260 students and 20 teachers) of Prog&Play, a serious game specially designed to teach computer programming fundamentals. In earlier quantitative studies, we found, through a students' motivation survey, that the students' interest for Prog&Play was not only related to the intrinsic game quality, it was also related to the teaching context. In this paper, we investigate contextual effects that influence motivational and learning benefits while using Prog&Play in different teaching settings. Results from a qualitative study of 41 students' and 18 teachers' comments, suggest guidelines for a successful implementation of Prog&Play

    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

    Self-Beliefs in the Introductory Programming Lab and Games-based Fantasy Role-Play

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

    Proceedings of The Rust-Edu Workshop

    Get PDF
    The 2022 Rust-Edu Workshop was an experiment. We wanted to gather together as many thought leaders we could attract in the area of Rust education, with an emphasis on academic-facing ideas. We hoped that productive discussions and future collaborations would result. Given the quick preparation and the difficulties of an international remote event, I am very happy to report a grand success. We had more than 27 participants from timezones around the globe. We had eight talks, four refereed papers and statements from 15 participants. Everyone seemed to have a good time, and I can say that I learned a ton. These proceedings are loosely organized: they represent a mere compilation of the excellent submitted work. I hope you’ll find this material as pleasant and useful as I have. Bart Massey 30 August 202

    Teaching introductory game development with unreal engine: Challenges, strategies, and experiences

    Get PDF
    From the days of Pong to 100 million dollar projects such as the Grand Theft Auto franchise, video games have evolved significantly over the years. This evolution has also changed the way game development is viewed as a career. Today, video games are one of the most profitable forms of entertainment, and game development courses are appearing at universities around the world. Even with this growth, a degree from a university has yet to be an important factor in finding a job in game development (Owen, 2013). This thesis examines a method of creating and implementing an introductory gaming course and recommends ways to improve the curriculum. ^ The main focus of the course was to introduce game development to the students. Each week, they were given an exercise that covered a different topic. Students also took part in a team project in which they were tasked with creating a complete game. The goal of the team projects was to expand the student\u27s basic knowledge given to them from the exercises. Data was gathered on the students\u27 subjective experiences with the class. This data and the class\u27s overall performance were compared with past iterations of the course. New to the course was the Unreal Engine. Students used the latest version of the engine, Unreal Engine 4, to complete exercises. Not all students chose to use this engine for the team project. Instructor and students experiences with the engine were also recorded. While there were some problems implementing the engine within our lab environment, we were still able to execute the overall lesson plan. Even with the engine issues, the course had overall good performance. CGT 241, Introduction to 3D Animation, was shown to help the students to complete the course while CGT 215, Computer Graphics Programming I, did not provide enough information on game programming. Exercises were found to be helpful but students wanted a better understanding of how these skills can be applied to game development. Team projects also went well with most teams creating a functional project. Students wanted more time to complete projects along with a structured approach to the project. Confidence in game development and the Unreal Engine were not high but students were enthusiastic in continuing in the field of game development.Recommendations were made to the curriculum in order to fix some of the issues with the introductory course and help students find a career. In order to fix the gap between the programming course and the introductory game course, a video game programming course was recommended that focused on teaching students how code works with video game engines. An option to specialize was also recommended in order to see a higher level of understanding on game concepts and a higher level of quality of game projects. Changes to the higher courses were also made for a yearlong course where students would focus on a single project to publish. This would expand on the introductory course while also replicating the game development process

    Comparing importance of knowledge and professional skill areas for engineering programming utilizing a two group Delphi survey

    Get PDF
    All engineering careers require some level of programming proficiency. However, beginning programming classes are challenging for many students. Difficulties have been well-documented and contribute to high drop-out rates which prevent students from pursuing engineering. While many approaches have been tried to improve the performance of students and reduce the dropout rate, continued work is needed. This research seeks to re-examine what items are critical for programming education and how those might inform what is taught in introductory programming classes (CS1). Following trends coming from accreditation and academic boards on the importance of professional skills, we desire to rank knowledge and professional skill areas in one list. While programming curricula focus almost exclusively on knowledge areas, integrating critical professional skill areas could provide students with a better high-level understanding of what engineering encompasses. Enhancing the current knowledge centric syllabi with critical professional skills should allow students to have better visibility into what an engineering job might be like at the earliest classes in the engineering degree. To define our list of important professional skills, we use a two-group, three-round Delphi survey to build consensus ranked lists of knowledge and professional skill areas from industry and academic experts. Performing a gap analysis between the expert groups shows that industry experts focus more on professional skills then their academic counterparts. We use this resulting list to recommend ways to further integrate professional skills into engineering programming curriculum
    • …
    corecore