185,235 research outputs found

    C-Sheep: Controlling Entities in a 3D Virtual World as a Tool for Computer Science Education

    Get PDF
    One of the challenges in teaching computer science in general and computer programming in particular is to maintain the interest of students, who often perceive the subject as difficult and tedious. To this end, we introduce C-Sheep, a mini-language-like system for computer science education, using a state of the art rendering engine, usually found in entertainment systems. The intention is to motivate students to spend more time programming, which can be achieved by providing an enjoyable experience. Computer programming is an essential skill for software developers and as such is always an integral part of every computer science curriculum. However, even if students are pursuing a computer science related degree, it can be very difficult to interest them in the act of computer programming, the writing of software, itself. In the C-Sheep system this is addressed by using the visual gimmickry of modern computer games, which allows programs to provide instant visualisation of algorithms. This visual feedback is invaluable to the understanding of how the algorithm works, and - if there are unintended results - how errors in the program can be debugged. The C-Sheep programming language is a (100% compatible) subset of the ANSI C programming language. Apart from just being a tool for learning the basics of the C programming language, C-Sheep implements the C control structures that are required for teaching the basic computer science principles encountered in structured programming. Unlike other teaching languages which have minimal syntax and which are variable free to provide an environment with minimal complexity, C-Sheep allows the declaration and use of variables. C-Sheep also supports the definition of sub-routines (functions) which can be called recursively. "The Meadow" virtual environment is the virtual world in which entities (in our case sheep) controlled by C-Sheep programs exist. This micro world provides a graphical representation of the algorithms used in the programs controlling the virtual entities. Their position and orientation within the virtual world visualise the current state of the program. "The Meadow" is based on our proprietary "Crossbow" game engine which incorporates a virtual machine for executing CSheep programs. The Crossbow Engine is a compact game engine which is flexible in design and offers a number of features common to more complex engines. The Crossbow Virtual Machine used with C-Sheep in "The Meadow" - an improvement on the ZBL/0 virtual machine - is a module of the Crossbow Engine. The C-Sheep system also provides a counterpart library for C, mirroring the CSheep library functions of the virtual machine. This allows C-Sheep programs to be compiled into an executable using a normal off-the-shelf C/C++ compiler. This executable can then be run from within the native working environment of the operating system. The purpose of this library is to simplify the migration from the educational mini-language to real-world systems by allowing novice programmers to make an easy transition from using the C-Sheep system to using the C programming language

    Using multimedia to develop students\u27 programming concepts

    Get PDF
    The growing use of computers and computer technology is creating a worldwide need for more programmers and computer professionals. The increasing complexity of programming languages and applications is demanding higher skills sets from the programmers who are being trained. Kann et al. (1997) suggest that the graphic representation of algorithms used in most textbooks are too abstract and insufficient for learners to develop the logical thinking required in computer science courses. Many programming students have problems due to a lack of understanding of conceptual and mental models (Soloway et al., 1981). This paper describes the development of an alternative teaching approach, based on constructivist learning principles, and multimedia technologies. The Dynamic Interactive Visualisation Tool in teaching C (DIVTIC), uses multimedia and visual imagery to provide learners with a step-by-step representation of program executions in the C language as a means to enhance their understanding. DIVTIC was designed around constructivist principles, and combines collaborative and visualisation learning strategies with use of the Internet and the World Wide Web to support the learning of programming. This paper will describe the conceptual framework supporting the design of DIVTIC and will report on a study which sought to explore the effectiveness of its use among a cohort of students studying introductory programming at Suranaree University of Technology (SUT) in Thailand. The paper will describe how the students used DIVTIC and will discuss how this use was able to support and encourage their learning

    Creative Computation for CS1 and K9-12

    Get PDF
    We present the design and development of a new approach to teaching the introductory computing course (CS1), at both the college-level as well as K9-12, using the context of digital art and creative computation. Creative computation is a highly interdisciplinary area combining theory and methodology from computer science and engineering with aesthetic principles and creative practices from the arts. Using the Processing programming language, students create a portfolio of aesthetic visual designs that employ basic programming constructs and structures typically taught in traditional CS1 courses. The goal of this approach is to bring the excitement, creativity, and innovation fostered by the context of creative coding. We have developed a web portal containing an extensive set of resources for adoption by others. A comprehensive textbook has also been published in 2013 [Greenberg et al 2013]. We present results from a comparative study involving multiple offerings of the new course at the two lead institutions as well as several other partner institutions. We also describe the success of bringing creative computation via Processing into two very different high schools that span the range of possibilities of grades 9-12 in American education. We report on how contextualized computing that supports integration of media arts, design, and computer science can successfully motivate students to learn foundations of programming and come back for more. The work of two high school teachers with divergent pedagogical styles is presented. They successfully adapted a college-level creative computation curriculum to their individual school cultures providing a catalyst for significant increases in enrollment and female participation in high school computer science

    Creative Computation for CS1 and K9-12

    Get PDF
    We present the design and development of a new approach to teaching the introductory computing course (CS1), at both the college-level as well as K9-12, using the context of digital art and creative computation. Creative computation is a highly interdisciplinary area combining theory and methodology from computer science and engineering with aesthetic principles and creative practices from the arts. Using the Processing programming language, students create a portfolio of aesthetic visual designs that employ basic programming constructs and structures typically taught in traditional CS1 courses. The goal of this approach is to bring the excitement, creativity, and innovation fostered by the context of creative coding. We have developed a web portal containing an extensive set of resources for adoption by others. A comprehensive textbook has also been published in 2013 [Greenberg et al 2013]. We present results from a comparative study involving multiple offerings of the new course at the two lead institutions as well as several other partner institutions. We also describe the success of bringing creative computation via Processing into two very different high schools that span the range of possibilities of grades 9-12 in American education. We report on how contextualized computing that supports integration of media arts, design, and computer science can successfully motivate students to learn foundations of programming and come back for more. The work of two high school teachers with divergent pedagogical styles is presented. They successfully adapted a college-level creative computation curriculum to their individual school cultures providing a catalyst for significant increases in enrollment and female participation in high school computer science

    Critters in the Classroom: A 3D Computer-Game-Like Tool for Teaching Programming to Computer Animation Students

    Get PDF
    The brewing crisis threatening computer science education is a well documented fact. To counter this and to increase enrolment and retention in computer science related degrees, it has been suggested to make programming "more fun" and to offer "multidisciplinary and cross-disciplinary programs" [Carter 2006]. The Computer Visualisation and Animation undergraduate degree at the National Centre for Computer Animation (Bournemouth University) is such a programme. Computer programming forms an integral part of the curriculum of this technical arts degree, and as educators we constantly face the challenge of having to encourage our students to engage with the subject. We intend to address this with our C-Sheep system, a reimagination of the "Karel the Robot" teaching tool [Pattis 1981], using modern 3D computer game graphics that today's students are familiar with. This provides a game-like setting for writing computer programs, using a task-specific set of instructions which allow users to take control of virtual entities acting within a micro world, effectively providing a graphical representation of the algorithms used. Whereas two decades ago, students would be intrigued by a 2D top-down representation of the micro world, the lack of the visual gimmickry found in modern computer games for representing the virtual world now makes it extremely difficult to maintain the interest of students from today's "Plug&Play generation". It is therefore especially important to aim for a 3D game-like representation which is "attractive and highly motivating to today's generation of media-conscious students" [Moskal et al. 2004]. Our system uses a modern, platform independent games engine, capable of presenting a visually rich virtual environment using a state of the art rendering engine of a type usually found in entertainment systems. Our aim is to entice students to spend more time programming, by providing them with an enjoyable experience. This paper provides a discussion of the 3D computer game technology employed in our system and presents examples of how this can be exploited to provide engaging exercises to create a rewarding learning experience for our students

    Student Teaching and Research Laboratory Focusing on Brain-computer Interface Paradigms - A Creative Environment for Computer Science Students -

    Full text link
    This paper presents an applied concept of a brain-computer interface (BCI) student research laboratory (BCI-LAB) at the Life Science Center of TARA, University of Tsukuba, Japan. Several successful case studies of the student projects are reviewed together with the BCI Research Award 2014 winner case. The BCI-LAB design and project-based teaching philosophy is also explained. Future teaching and research directions summarize the review.Comment: 4 pages, 4 figures, accepted for EMBC 2015, IEEE copyrigh

    Do Robots Dream of Virtual Sheep: Rediscovering the "Karel the Robot" Paradigm for the "Plug&Play Generation"

    Get PDF
    We introduce ”C-Sheep”, an educational system designed to teach students the fundamentals of computer programming in a novel and exciting way. Recent studies suggest that computer science education is fast approaching a crisis - application numbers for degree courses in the area of computer programming are down, and potential candidates are put off the subject which they do not fully understand. We address this problem with our system by providing the visually rich virtual environment of ”The Meadow”, where the user writes programs to control the behaviour of a sheep using our ”CSheep” programming language. This combination of the ”Karel the Robot” paradigm with modern 3D computer graphics techniques, more commonly found in computer games, aims to help students to realise that computer programming can be an enjoyable and rewarding experience and intends to help educators with the teaching of computer science fundamentals. Our mini-language-like system for computer science education uses a state of the art rendering engine offering features more commonly found in entertainment systems. The scope of the mini-language is designed to fit in with the curriculum for the first term of an introductory computer program ming course (using the C programming language)
    corecore