174,266 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

    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

    SQUAD GAME: AGENT BASED MODELING IMPLEMENTATION

    Get PDF
    ABSTRAKSI: -Kata Kunci : -ABSTRACT: Most of Game Theories and Artificial Intelligences nowadays cover the characters in the game as individual not a team. Whereas, there are several games with team work needed for running the characters.This final essay covers the development on a MAS (Multi-agent System) to control the behavior of characters in Squad Game. The system design by using Prometheus Methodology as the model, and Q-Learning as the learning method. This system is designed by using Prometheus Design Tool (PDT) that will generate the JACK code, which is transformed to C# programming language.Overall, up to 80% of the tests in all scenarios succes to solve all problems faced in the game.Keyword: agent, multi-agent system, prometheus, q-learning, observer pattern

    Promoting Computer Science with Video Games: Teaching Object-Oriented Programming through Unity

    Get PDF
    In recent years, the demand for people educated in computer science has continued to grow as the possible applications of software expand. For this reason, it is important to not only offer young adults the ability to learn computer science, but also to intrigue them with interesting and engaging applications of computer science. Organizations, such as the CollegeBoard and Exploring Computer Science, have been working to make computer science education more available and desirable to younger audiences. This project contributes to these goals by creating and implementing a curriculum for teaching object-oriented programming to high school students through video game programming. Students were taught how to use a third-party game engine called Unity to create complex 3D games. The curriculum was designed to provide students with a basic understanding of the tools and concepts they needed to make a game, and provided students with several hours of learning time to create their own games. This course was taught at San Luis Obispo High School to a group of 20 students. A survey was taken by 14 of the 20 students before and after the course. This survey revealed that half of the students who did not understand objects in programming before the course did understand objects after the course. The survey also showed that many students were able to learn C#, an object oriented programming language, during the course. Lastly, most of the students ended the course with a completed project that could be added to a portfolio

    Special Issue on Deep Reinforcement Learning and Adaptive Dynamic Programming

    Get PDF
    none5siThe sixteen papers in this special section focus on deep reinforcement learning and adaptive dynamic programming (deep RL/ADP). Deep RL is able to output control signal directly based on input images, which incorporates both the advantages of the perception of deep learning (DL) and the decision making of RL or adaptive dynamic programming (ADP). This mechanism makes the artificial intelligence much closer to human thinking modes. Deep RL/ADP has achieved remarkable success in terms of theory and applications since it was proposed. Successful applications cover video games, Go, robotics, smart driving, healthcare, and so on. However, it is still an open problem to perform the theoretical analysis on deep RL/ADP, e.g., the convergence, stability, and optimality analyses. The learning efficiency needs to be improved by proposing new algorithms or combined with other methods. More practical demonstrations are encouraged to be presented. Therefore, the aim of this special issue is to call for the most advanced research and state-of-the-art works in the field of deep RL/ADP.openZhao D.; Liu D.; Lewis F.L.; Principe J.C.; Squartini S.Zhao, D.; Liu, D.; Lewis, F. L.; Principe, J. C.; Squartini, S

    Puzzle games: a metaphor for computational thinking

    Get PDF

    Teaching programming using computer games: a program language agnostic approach

    Get PDF

    Learning to communicate computationally with Flip: a bi-modal programming language for game creation

    Get PDF
    Teaching basic computational concepts and skills to school children is currently a curricular focus in many countries. Running parallel to this trend are advances in programming environments and teaching methods which aim to make computer science more accessible, and more motivating. In this paper, we describe the design and evaluation of Flip, a programming language that aims to help 11ā€“15 year olds develop computational skills through creating their own 3D role-playing games. Flip has two main components: 1) a visual language (based on an interlocking blocks design common to many current visual languages), and 2) a dynamically updating natural language version of the script under creation. This programming-language/natural-language pairing is a unique feature of Flip, designed to allow learners to draw upon their familiarity with natural language to ā€œdecode the codeā€. Flip aims to support young people in developing an understanding of computational concepts as well as the skills to use and communicate these concepts effectively. This paper investigates the extent to which Flip can be used by young people to create working scripts, and examines improvements in their expression of computational rules and concepts after using the tool. We provide an overview of the design and implementation of Flip before describing an evaluation study carried out with 12ā€“13 year olds in a naturalistic setting. Over the course of 8 weeks, the majority of students were able to use Flip to write small programs to bring about interactive behaviours in the games they created. Furthermore, there was a significant improvement in their computational communication after using Flip (as measured by a pre/post-test). An additional finding was that girls wrote more, and more complex, scripts than did boys, and there was a trend for girls to show greater learning gains relative to the boys
    • ā€¦
    corecore