Download Bowden_BL_T_2014

Transcript
Chapter 1
Introduction
1.1
Microworlds
Many universities have been using the objects-first strategy in teaching students programming for introductory courses for several years now [19]. This approach teaches students
to focus on object-oriented concepts from the beginning when first learning to program,
such as inheritance, objects, and polymorphism [19]. However, students have to overcome
several hurdles when initially learning programming. To help students overcome some of
these difficulties, microworlds have been developed as a pedagogical tool to ease students
into programming.
Microworlds are visual, 2D, grid-based environments with objects that have programmable
behavior and their goal is to help students think in an algorithmic manner. Microworlds
typically start students off with small programs that have simple objects with well-defined
behaviors so students can focus on writing the logic of the object’s behaviors in the worlds.
This helps emphasize teaching students to think in a step-by-step methodology and focus
on correctly writing out their logic.
Another issue is that students learning programming struggle with the fact that many
1