170 likes | 243 Views
The Programming Playground explores teaching programming through peer-to-peer learning in a virtual world like Second Life. The project focuses on engagement, exploration, and student-led discovery to enhance learning outcomes. By creating a virtual programming playground with interactive objects, students can experiment with coding concepts, promoting a deeper understanding of algorithms and programming principles. Through Linden Scripting Language (LSL) and hands-on activities, students develop practical skills in program design and implementation. The project adapts the learning environment to appeal to different learning styles and encourages students to actively participate and learn by doing. Initial results indicate increased engagement and a variety of learning behaviors, catering to different types of learners.
E N D
The Programming PlaygroundMike Hobbs Marie Gordon, Elaine Brown Department of Computing Anglia Ruskin UniversityCambridge and Chelmsford UK
The Problem – Learning to Program • 'Good' computing Students • get into programming • try things out and experiment • complete and extend examples • can't be stopped • 'Poor' computing students • find programming hard and boring • use rote learning and/or cut and paste • do not engage with exercises • can't get started
Solution? – student learning focus • Don't 'teach' programming – encourage: • exploration and discovery • peer to peer learning • social constructivism • Other approaches • reusable learning objects • online tutorials • games • competitions
Why Use a Virtual World ? • Engagement • Increased feedback from environment • ‘Rich’ environment manipulated by user • More customisable = more ‘ownership’ = greater engagement • Constructive • egalitarian approach to learning • remove teacher learner barrier • student contribution equally valued
Features of Second Life • A kind of MMORPG? • Not a game but uses game technology • no theme • no levels , no goals, no challenges • no rewards, no penalties • no end point • Content provided by residents for residents • create themes, set goals, provide rewards • build communities • Strong SL – RL links • Music, art, movies, business, retail, news, educational resources, SL campus
The learning advantage • Use SL to facilitate • An open ended environment away from the classroom • More ‘realistic’ task based activity • Appeals to different learning styles • Support a student led exploratory approach to learning • Programming and design • can only be learned by doing • grammar + syntax ≠shakespear
Initial project idea • Create a 'playground' of artefacts for novice programmers e.g. • Swing – will swing ‘n’ times demonstrating a for loop • Round-a-bout – will rotate ‘while’ an avatar is sat on it. • Slide – one ladder gives access to a number of different slides – demonstrating choice • Objects to have both obvious and 'surprise' behaviours • Students input parameters to objects • Students 'discover' properties of objects
Developing learning outcomes • BUT • limited range of actions for objects • demonstrate rather than participate • need to teach concept of 'algorithm' • So, extend the learning • create building blocks for a task • clearly outline the requirements of a task • students assemble elements to achieve task • e.g. sorting different sized and coloured objects.
Realisation • Second level computing students • Already program (mostly) • need to link design and implementation • project re-cast to support program design • Get students to create playground objects • introduce lsl via tutorials and examples • 'jumping box' and 'rotating object' examples linked to UML design exercises
Linden Scripting Language • LSL is a 'C' like Language - Not Object Oriented • State based • Restrictions on data storage • limited IDE, quirky • Using non OO language for pure OO simulation • Avatars = Actors • Objects = Objects • Programming details 'hidden' • Interaction via message passing
Student activities • Registration and orientation in SL • Technical issues - firewall and port ids) • Orientation island - keeps changing) • Help island – has building and scripting demos • Getting started • Find the Anglia Ruskin Computing land, join group. • Further orientation tasks – treasure hunt • Set up reporting process (Moodle, snapzilla, photbucket, blogger, multiply)
Designing and using lsl • My first object • Introduction to lsl – jumping box. • Playground artefacts • each student has a go at building one playground object • Car park Scenario • groups pick an aspect to model and implement: • vehicle • ticket machine • barrier • parking space(s) • Different objects have to interact...
Initial results – user interaction types • Different types of interaction with SL • Superficial - user does not engage • Realistic – Behaves in SL as they would in RL • Empowered – Realistic but empowered to be more adventurous • Fantastic – SL regarded as a game, bold social behaviour. • Different types of learner – (Honey and Mumford) • Theorist – rational and structured learning • Reflector – learn by observation and review • Pragmatist – seek practical applications • Activist – learn by experiencing
Superficial Realistic Empowered Fantastic Theorist Pragmatist Reflector Activist Initial Results: Learning Styles
Initial results – learning behaviours • Learning from each other • Students can see the effect of their actions • Learning through student discovery • peer to peer • online / in-world tutorials • student decides what they need. • Highly personalised – each has own point of view • Classroom communication preferred to in-world instant messaging. • Blurring of SL / RL barrier.