Using Alice to develop Introductory Programming Skills - PowerPoint PPT Presentation

1 / 30
About This Presentation
Title:

Using Alice to develop Introductory Programming Skills

Description:

Transition to semester 2 Java-based IDE (BlueJ) has been challenging. ... Alice 3.0 Sims. Being developed by Electronic Arts and Carnegie Mellon University ... – PowerPoint PPT presentation

Number of Views:110
Avg rating:3.0/5.0
Slides: 31
Provided by: rogermc
Category:

less

Transcript and Presenter's Notes

Title: Using Alice to develop Introductory Programming Skills


1
Using Alice to develop Introductory Programming
Skills
G. Eccleston, G. Brindley, R. McDermott School of
Computing The Robert Gordon University Aberdeen,
UK ge_at_comp.rgu.ac.uk
2
Plan of Talk
  • The Context
  • The Problem
  • Module Desiderata
  • Alice
  • Assessment
  • Evaluation
  • Conclusion

3
The Context
  • CM1010 First Programming Module in School of
    Computing at RGU
  • Policy of Java as first language
  • Semester 1 introductory programming module taken
    by all students
  • Followed by second OOP module in semester 2
  • Initial stress on correct syntax
  • Subsequent emphasis on structured programming
  • Not much OOP per se
  • Assessed by individual coursework submission
  • Introduction of new route, BSc Computing for
    Graphics and Animation

4
Programming How hard can it be?
  • A Very Simple Java Program

// A simple Java program to display some output
on the screen. import javax.swing. public
class HelloWorld public static void main
(String args) JOptionPane.showMessageDial
og(null, "Hello World!")
5
Problems
  • Relatively high module failure rate
  • Mitigated by progressively diminishing module
    expectation
  • Student disengagement with the subject at an
    early stage
  • Major implications for subsequent learning
  • The Programming Problem
  • Emphasis on the algorithmic aspects of
    programming
  • Not suitable for our student cohort
  • Didnt make useful contact with their prior
    experience
  • Too mathematical
  • What to do?

6
Module Desiderata
  • Should be engaging (graphics, animation?)
  • Conceptual model must make contact with students
    prior experience in a positive way
  • (metaphor vs paradigm).
  • Should be syntactically forgiving
  • Should allow observable skill progression
  • Should introduce basic OO vocabulary, e.g. class,
    instance, method,
  • Should allow smooth transition to more
    conventional code-based development environment
    (BlueJ)

7
Assessment Objectives
  • Should allow assessment that was consonant with
    the above framework
  • Should facilitate open-ended, divergent
    assessment
  • Students should be able to negotiate aspects of
    assessment
  • Should reduce the assessment burden
  • Portfolio-based, from weekly lab exercises
  • Group Project

8
Alice 2.0
  • Microworld-type environment developed by Carnegie
    Mellon University
  • Users create objects in a virtual 3D world
  • Code assembled using mouse to select program
    building blocks
  • Then drag-and-drop them into place
  • Prevents students from making syntax errors.

Textbook by W. Dann, S. Cooper, R. Pausch Also
work by C. Kelleher R. Pausch Ideas on metaphor
9
Alice 2.0
  • Facilitates a change of programming metaphor from
    algorithmic execution to that of storytelling and
    control
  • Scenarios and storyboards
  • Program run as an animation
  • provides immediate feedback.
  • straightforward to see the impact of a
    programming statement.
  • And its FREE!!!

10
Advantages of Alice 2.0
  • Allows students to learn computer programming
    more easily
  • Drag-and-Drop editor for creating programs
  • Programs are 3D movies or games
  • Alice has been formally shown to improve learning
    and retention
  • Alice is highly motivating for students
  • Provided free (open source) by Carnegie Mellon
  • Runs on

11
Creating a new world
  • Create a new world
  • File ? New
  • Choose template

12
Techniques and Tools
  • Mouse is used to
  • approximately position objects in the scene
  • Camera Navigation is used to
  • set the camera point of view
  • Drop-down menu methods are used to
  • resize objects
  • more precisely position objects in the scene
  • Quadview is used to
  • position one object relative to another object

13
Objects
  • An "object" is
  • any thing that can be identified as unique
    from other things
  • How is an object unique?
  • has a name
  • has properties
  • width, height, colour, location
  • can perform actions (methods)
  • associated actions it can perform
  • tasks it can carry out

14
Objects are more real
15
Three Basic Activities in Alice
  • 1. Scene layout 2. Editing programs
  • 3. Running programs

16
Tutorials in-built
17
(No Transcript)
18
The Work Area
19
Objects
  • Objects come equipped with
  • Standard Properties
  • colour, opacity, vehicle, texture,
  • Standard Methods
  • move, turn, roll, resize, say, think, play
    sound, move to/toward/away from, orient to, turn
    to face,
  • Standard Functions
  • Proximity functions, size, spatial relations,
    point of view,
  • User can create own functions, variables,
    methods, for objects
  • Inheritance (sort of!)

20
Adding Objects
21
Program Blocks
  • Alice has Program Action blocks
  • Do In Order sequential execution
  • Do Together concurrent execution
  • If/Else selection control structure
  • Loop definite loops
  • While indefinite loops
  • For All In Order sequential iteration through
    list/array
  • For All Together concurrent iteration through
    list/array
  • Wait delays execution
  • Print text output
  • // comments

22
Design and Implementation
  • Stages
  • The Scenario
  • The Storyboard of Scenes Subscenes
  • graphical
  • textual
  • Stepwise refinement to pseudocode
  • Implementation (code assembly)
  • Testing
  • running the animation
  • checking appropriate interactivity

23
The Assessment
  • Portfolio
  • Group Project
  • Based on a user-specified story e.g. adaptation
    of a film, music video, computer game, fairytale
    or own story.
  • Assessment specified each individual scene had to
    contain
  • Separate sub-scenes,
  • A user-created class
  • At least 2 user-created methods
  • At least 1 user-created function
  • Variables, parameter passing, and keyboard- or
    mouse-driven interactions,

24
Evaluation
  • Much greater student engagement
  • Storytelling metaphor did indeed resonate with
    students more than the more formal idea of an
    algorithm
  • Clear development of proficiency over semester
  • Students did more design prior to coding
  • (though still not enough!)
  • Evidence of testing
  • Introduced to OO vocabulary and limited
    application

25
But
  • By the end of the module, students were operating
    at limits of software operation
  • Software bugs
  • Concurrency slowdown
  • Transition to semester 2 Java-based IDE (BlueJ)
    has been challenging.
  • Students seemed to cope well with syntax
    requirements
  • Problems with the Alice object model
  • Alice is Prototype-based Language rather than OO
    Language
  • Leads to some confusion about OO concepts

26
Conclusions
  • Good engaging, empowering experience for
    students
  • Positive end-of-module feedback from Students
  • Higher module pass rate
  • Especially good for at-risk students
  • Basic understanding of storytelling metaphor by
    students
  • Lack of code-writing facility problematic
  • Still run up against the algorithm problem in
    follow-up module.
  • The Alice trial has been successful but further
    work needs to be done on the transition to
    (BlueJ) Java

27
Future Development
  • Integrated Foundation year
  • Group work
  • Supplementary work in other modules to support
    programming module
  • More managed control of group project/portfolio
  • Preparation for new version of Alice
  • due January 2008?
  • Develop link to BlueJ

28
Look more closely at the java codeAlice code
Java code
29
Alice 3.0 Sims
  • Being developed by Electronic Arts and Carnegie
    Mellon University
  • Based on Sims characters

30
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com