Game programming in introductory courses with direct state manipulation

@inproceedings{Klling2005GamePI,
  title={Game programming in introductory courses with direct state manipulation},
  author={Michael K{\"o}lling and Poul Henriksen},
  booktitle={ITiCSE '05},
  year={2005}
}
While the introduction of object-oriented programming slowly moves down the age groups - starting from advanced university courses, to introductory courses, and now into high schools - many attempts are being made to make object-oriented programming introduction less abstract and theoretical. Visualisation and interaction techniques are being applied in an attempt to give students engaging and concrete experiences with objects. Recently, the greenfoot environment has been proposed as another… 

Figures from this paper

Greenfoot demonstration
TLDR
This demonstration will show what Greenfoot is and how it can be used, and a demonstration of the Greenfoot environment and framework for introductory programming education.
Teaching graphics for games using Microsoft XNA
TLDR
An approach to teaching introductory computer graphics for game development using Microsoft XNA as a development platform to help with the assimilation of the necessary game development and mathematical concepts by connecting the debugging process with visual feedback.
Authoring Game-Based Programming Challenges to Improve Students’ Motivation
TLDR
Asura, a game-based programming assessment environment providing means to minimize the hurdle of building game challenges, is presented and these challenges invite the student to code a Software Agent to solve a certain problem, in a way that can defeat every opponent.
Teaching Object-Oriented Software Engineering through Problem-Based Learning in the Context of Game Design
TLDR
A Problem-Based Learning curriculum centered on game development is proposed to deliver basic Object-Oriented programming concepts in an interactive and engaging manner to alleviate the initial learning curve associated with an inexperienced audience in non-computer science disciplines.
Teaching introductory programming with popular board games
TLDR
This paper advocates and analyzes the inclusion of board, card, and dice games as programming assignments in introductory programming courses (CS1/2) and discusses the implementation of some of these games and their successful use as programming projects.
Distractions in programming environments
TLDR
Students undertaking activities in this mode reported higher levels of difficulty associated with learning programming and performed poorly on a test of programming concepts compared to students presented with the subset form of the interface.
Assessing game-themed programming assignments for CS1/2 courses
TLDR
The paper focuses on the efforts in assessing the assignments: including details of the procedures and instruments for evaluating student achievement of learning outcomes and attitudes towards the assignments, as well as the extra effort required of faculty to adopt the assignments in existing clases.
On the Importance of Visualizing in Programming Education
TLDR
All three presented contributions to the research field of visualization should contribute to an understanding of abstract programming concepts starting with problem or application instead of syntax.
Game-themed programming assignments for faculty: a case study
TLDR
This paper demonstrated that introductory programming concepts can be examined, practiced, and learned based on GTA modules when neither the faculty nor the students involved have backgrounds in graphics or games and showed that it is straightforward to blend the GTA modules into existing classes with minimum alterations.
Distractions in programming evironments
TLDR
Students undertaking activities in this mode reported higher levels of difficulty associated with learning programming and performed poorly on a test of programming concepts compared to students presented with the subset form of the interface.
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 11 REFERENCES
greenfoot: combining object visualisation with interaction
TLDR
A new tool, named greenfoot, for teaching object-oriented programming aimed at students at or below college level, with special emphasis of supporting school age learners, which provides a meta-framework that allows easy creation of different, significantly varied microworlds.
Objects from the beginning - with GUIs
We describe a way to introduce objects at the beginning of the first CS course through the use of objects that have significant nontrivial behavior and interactions with other objects. We will
Objects: visualization of behavior and state
TLDR
Methods that define object behavior and character (class)-level state variables that track state changes for 3D animated objects in small virtual worlds are discussed and it is found that character-level methods provide a means to demonstrate inheritance.
Here, there and everywhere - on the recurring use of turtle graphics in CS1
TLDR
This paper has successfully used turtles to give students an intuitive understanding of central object-oriented concepts and principles such as object, class, message passing, behaviour, object identification, subclasses and inheritance; an intuitiveUnderstanding of recursion; and to show students the use of abstraction in practice.
Karel ++ A Gentle Introduction to the Art of Object-Oriented Programming
TLDR
This creative approach to learning C++ programming introduces readers to Karel the Robot and then shows them how to design programs that instruct Karel to perform complex tasks.
The BlueJ System and its Pedagogy
TLDR
BlueJ, an integrated development environment designed for teaching object-orientation, is introduced and it is discussed how the use of this tool can change the approach to teaching.
A library to support a graphics-based object-first approach to CS 1
TLDR
A library is described that supports an "OO-from-the-beginning" approach to CS 1.0 that helps students to both use objects and write methods early while designing and implementing interesting programs.
Back to the future: the story of Squeak, a practical Smalltalk written in itself
Squeak is an open, highly-portable Smalltalk implementation whose virtual machine is written entirely in Smalltalk, making it easy to. debug, analyze, and change. To achieve practical performance, a
Robot – A Gentle Introduction to the Art of Object-Oriented Programming in Java. Unpublished manuscript, available [18
  • Robot – A Gentle Introduction to the Art of Object-Oriented Programming in Java. Unpublished manuscript, available [18
  • 2004
The College Board (Advanced Placement Program), Marine Biology Case Study
  • Available
  • 2003
...
1
2
...