21 research outputs found

    Bricklayer: An Authentic Introduction to the Functional Programming Language SML

    Full text link
    Functional programming languages are seen by many as instrumental to effectively utilizing the computational power of multi-core platforms. As a result, there is growing interest to introduce functional programming and functional thinking as early as possible within the computer science curriculum. Bricklayer is an API, written in SML, that provides a set of abstractions for creating LEGO artifacts which can be viewed using LEGO Digital Designer. The goal of Bricklayer is to create a problem space (i.e., a set of LEGO artifacts) that is accessible and engaging to programmers (especially novice programmers) while providing an authentic introduction to the functional programming language SML.Comment: In Proceedings TFPIE 2014, arXiv:1412.473

    Increasing Student Performance Through the Use of Web Services in Introductory Programming Classrooms: Results from a Series of Quasi-Experiments

    Get PDF
    An introduction to programming course can be a challenge for both students and instructors. This paper describes a study that introduced Web services (WS) and Service-Oriented Architecture in Information Systems 1 (IS 1) and Computer Science 1 (CS 1) programming courses over a two-year period. WS were used as an instruction tool based on their increased use in industry as well as their ability to provide a real world feel to student programming activities. The paper includes an example WS teaching module and a proposed implementation model for future studies based on lessons learned from the current experiment. The study was successful in showing a significant increase in student test performance for WS-taught courses over standard-taught courses

    Calico: a multi-programming-language, multi-context framework designed for computer science education

    Get PDF
    The Calico project is a multi-language, multi-context programming framework and learning environment for computing education. This environment is designed to support several interoperable programming languages (including Python, Scheme, and a visual programming language), a variety of pedagogical contexts (including scientific visualization, robotics, and art), and an assortment of physical devices (including different educational robotics platforms and a variety of physical sensors). In addition, the environment is designed to support collaboration and modern, interactive learning. In this paper we describe the Calico project, its design and goals, our prototype system, and its current use

    Phyro: Exploring an Untethered Model for Robots in CS-1

    Get PDF
    Robots are becoming more popular, both industrially and commercially. As new robots are created, designers must choose whether to tether to a primary computer. Many robots used in an introductory computing context, like the Scribbler robot and Fluke attachment, are tethered. Untethering educational robots is the next step in improving the way robots are used in CS-1. This project aims to demonstrate the advantages of untethered robots, using the Scribbler robot and Fluke singleboard computer attachment as a model. We developed the Phyro library to make programming an untethered Scribbler and Fluke easier for students. By comparing program performance and function execution time, it is shown that Phyro on an untethered Scribbler and Fluke can match and in some cases even outperform a tethered Scribbler and Fluke

    The Benefits of Intersecting Foreign and Programming Language Acquisition Pedagogical Methods

    Get PDF
    This study describes an interview survey of college instructors of foreign and programming languages as well as a content analysis of textbooks from these fields. Seven interviews were conducted with instructors in Romance Languages and Computer Science at five colleges in central North Carolina. The purpose of the interviews was to determine how instructors of foreign and programming languages view their teaching methodology and how this relates to the textbooks they choose. Based on the information gathered at the interviews and a subsequent content analysis of six textbooks, this study explored the possibilities that exchanging teaching ideas between foreign and programming language texts might afford if these were applied creatively across these two curricula

    Mass production of individual feedback

    Get PDF
    Learning to program is intrinsically difficult. In addition there is a trend towards increased student diversity and larger class sizes. Student diversity increases the need for individual attention for each student, while increased class sizes decreases the amount of time a lecturer has to provide this attention. This thesis investigates an approach to help provide each student with detailed individual feedback. This feedback is important where individual attention is lacking. We used two trials to determine the effectiveness of the system. The first of these trial runs was in Autumn 2002 and the system provided the facility to the tutors to give personal and detailed feedback to each student. There was a statistically significant improvement in the weaker students’ exam results for that Semester. The system was improved for the second trial. The tutors could provide feedback as before, but also this time the students could provide feedback on each other through peer-assessment and self-assessment. The system remained popular and useful. However for the second trial we were interested in making the peer assessment aspect a success. The thesis will discuss our limited success in this area. Eighty eight percent of the students were motivated to provide feedback through bonus marks and the incentive of getting feedback from others, but many students gave absolute minimum feedback

    From Legos and Logos to Lambda: A Hypothetical Learning Trajectory for Computational Thinking

    Get PDF
    This thesis utilizes design-based research to examine the integration of computational thinking and computer science into the Finnish elementary mathematics syllabus. Although its focus is on elementary mathematics, its scope includes the perspectives of students, teachers and curriculum planners at all levels of the Finnish school curriculum. The studied artifacts are the 2014 Finnish National Curriculum and respective learning solutions for computer science education. The design-based research (DBR) mandates educators, developers and researchers to be involved in the cyclic development of these learning solutions. Much of the work is based on an in-service training MOOC for Finnish mathematics teachers, which was developed in close operation with the instructors and researchers. During the study period, the MOOC has been through several iterative design cycles, while the enactment and analysis stages of the 2014 Finnish National Curriculum are still proceeding.The original contributions of this thesis lie in the proposed model for teaching computational thinking (CT), and the clarification of the most crucial concepts in computer science (CS) and their integration into a school mathematics syllabus. The CT model comprises the successive phases of abstraction, automation and analysis interleaved with the threads of algorithmic and logical thinking as well as creativity. Abstraction implies modeling and dividing the problem into smaller sub-problems, and automation making the actual implementation. Preferably, the process iterates in cycles, i.e., the analysis feeds back such data that assists in optimizing and evaluating the efficiency and elegance of the solution. Thus, the process largely resembles the DBR design cycles. Test-driven development is also recommended in order to instill good coding practices.The CS fundamentals are function, variable, and type. In addition, the control flow of execution necessitates control structures, such as selection and iteration. These structures are positioned in the learning trajectories of the corresponding mathematics syllabus areas of algebra, arithmetic, or geometry. During the transition phase to the new syllabus, in-service mathematics teachers can utilize their prior mathematical knowledge to reap the benefits of ‘near transfer’. Successful transfer requires close conceptual analogies, such as those that exist between algebra and the functional programming paradigm.However, the integration with mathematics and the utilization of the functional paradigm are far from being the only approaches to teaching computing, and it might turn out that they are perhaps too exclusive. Instead of the grounded mathematics metaphor, computing may be perceived as basic literacy for the 21st century, and as such it could be taught as a separate subject in its own right

    Examining the Impact of Game-Based Learning on Student Engagement and Performance in an Introductory Computer Programming Course at the University of the Southern Caribbean (USC)

    Get PDF
    At the University of the Southern Caribbean (USC) students often struggle with learning programming. Because of this struggle, they often become disengaged with the programming courses, with some transferring to other degree programmes or withdrawing from the programme. While several strategies have been used to ensure that students can problem- solve, design, and develop coded solutions, it has not been enough to alleviate the issues. Game- based learning (GBL) emerged as a possible strategy that can potentially help students develop these skills while keeping them engaged with the course content. Implementing such a strategy within the department requires evidence that it can be an effective technique for teaching and learning programming. Therefore, the aim of this study is to evaluate the impact of GBL on student engagement and overall performance in an introductory programming course. The research was designed as a deductive exploratory single case study research strategy and method. It approaches the aims and objectives from a pragmatic perspective, and as a result, uses a mixed methodological approach to data collection and analysis. The findings show that while GBL does not alleviate the common negative reactions to learning programming, it does provide a learning environment engaging enough for students to overlook these. This results in students having an enhanced perception of the knowledge and improved performance. In implementing GBL in other programming courses, some features that are potentially the most impactful on students learning are immediate feedback, freedom to fail, user interface, code without limitations, and a visual representation of progress
    corecore