The Introductory Programming Course: A Game Design Approach for the E-Learning Environment

The Introductory Programming Course: A Game Design Approach for the E-Learning Environment

Nancy L. Martin (Southern Illinois University, USA) and Andrey Soares (Southern Illinois University, USA)
DOI: 10.4018/978-1-5225-1034-5.ch005
OnDemand PDF Download:
$30.00
List Price: $37.50

Abstract

Teaching and learning in the introductory programming course can be difficult. Numerous studies address this problem with none resulting in a perfect approach for either students or instructors. The authors of this chapter found success in the introductory programming course by implementing problem-based learning and by delivering the entire course in the context of game design. While this approach has been successful in a face-to-face environment, the e-learning environment presents some challenges. This chapter describes successful pedagogical strategies for the introductory programming course and provides recommendations for their implementation in the e-learning environment.
Chapter Preview
Top

Introduction

Learning, and teaching, introductory programming can be challenging, if not difficult. As a result, instructors struggle with finding the perfect pedagogy for teaching introductory programming in an effort to attract and retain students and to insure that students acquire the skills of at least a novice programmer. The authors of this chapter have found success teaching the introductory Java programming course by incorporating problem-based learning (PBL) and game design (Soares, Fonseca, & Martin, 2015). While the course has been successful in a face-to-face classroom setting, transitioning to an e-learning environment presents some challenges. This chapter describes aspects of the course structure, content and delivery, and makes recommendations to help transition those aspects to the e-learning environment.

Specifically, the objectives of the chapter are to:

  • 1.

    Provide a brief discussion about the difficulty of learning to program and the usefulness of certain approaches to course design for the introductory programming course,

  • 2.

    Present pedagogical strategies that have been successful in the authors’ introductory programming course, and

  • 3.

    Discuss the implementation of those pedagogical features in an e-learning environment.

Top

Background

Introduction to Programming

Learning to program is challenging for many students (Robins, Rountree, & Rountree, 2003). Introductory programming course failure rates are high, exceeding 30% and even 50% for some programs (Bennedsen & Caspersen, 2007), and students report a fear of learning to program (Rogerson & Scott, 2010). Learning to program is difficult because it requires the absorption of complex new knowledge, strategies, and skills (Rountree, Rountree, & Robins, 2002). Not only must students learn about programming structures, specific language syntax, and other basic concepts, they must also quickly begin to construct strategies for combining the new knowledge to solve problems via computer code. The task is then still not finished because the code must be tested, debugged, and often reformulated and optimized. The novice’s most challenging skill development is not in language or syntax, but rather in program planning (Spohrer & Soloway, 1986; Winslow, 1996) and generation (Rountree et al., 2002) which is a direct result of deficient problem solving skills.

Teaching programming can also be difficult because a programming course requires much more than imparting knowledge. Rather, instructors are expected to foster a learning experience with “a project realistic enough to excite interest, while providing structured problems for [the students] to practice and learn the basic skills” (Fonseca & Spence, 2014, p. 12). Complicating matters for the instructor is the fact that different students approach the task of learning to program in different ways (Bruce et al., 2004) and often have varying degrees of prior knowledge and skill level.

To address these difficulties, the authors have implemented two pedagogical strategies into the introductory programming course: game design and PBL.

Complete Chapter List

Search this Book:
Reset