• No results found

1

N/A
N/A
Protected

Academic year: 2021

Share "1"

Copied!
35
0
0

Loading.... (view fulltext now)

Full text

(1)

Vesa Lappalainen, Lecturer PhD

Antti-Jussi Lakanen, University teacher MSc

Department of Mathematical Information Technology

University of Jyväskylä, Finland

ACM SIGCSE 2011

Dallas, Texas

Room Dallas A1

(2)
(3)
(4)

Vesa Lappalainen

PhD 1985 in Mathematics

Teaching programming since 1982

Research activities:

InSitu

: Interaction possibilities on a mass lecture

ComTest

: Making test-driven development (TDD)

simple

Students’ perceptions of programming

Early recruitment in ICT

My gaming background

(5)

Antti-Jussi Lakanen

MSc 2010 in Mathematical

Information Technology

Teaching programming,

recruitment, tutoring freshmen

Research activities

CS1 and games, effect on study success

K-8/K-12 programming

My gaming background

Commodore 64, Amiga 500, ...

(6)

Our presentation in a nutshell

We are worried about the

decline in IT, science and math students

We developed a week-long

game programming course for

youngsters to motivate studying

IT, science and math

Jypeli programming library was

developed as a tool to reduce the

cognitive load in beginning game programming

(7)

Disclaimer

The course concept

introduced is a

combination of

1.

department staff

(teachers),

2.

tools (Jypeli etc.),

3.

content and

4.

motivated participants

Each of these has its’

own important role in

the process

If we change some part,

(8)

Links

https://trac.cc.jyu.fi/projects/npo

https://www.jyu.fi/it/laitokset/mit/opiskelu/nuortenk

urssi

Facebook group:

http://www.facebook.com/#!/group.php?gid=11434543

5260705

(9)

Acknowledgements

University of Jyväskylä / Department of Mathematical

Information Technology

Funding courses in 2009, Jypeli development

Technology Industries of Finland Centennial Foundation

Courses in 2010—2011

Agora Center

Research in game development

Microsoft

Software, Xbox controllers

Ville Isomöttönen

Co-author of the paper

(10)

Introduction

Student decline in ICT and science

fields (economics still get students)

Amount of students passing the courses

has gone down 50 % since 2004

How to get youngsters to

choose science courses in

high school?

And hopefully to continue

(11)

Why this course?

What are the young interested of?

Something to excite!

How to combine fun with “real things”

We wanted to show that concepts of high school math

and science apply also in games

Why not to target senior high?

We wanted to influence what subjects they pick

in

senior high

With senior high students we would be late

(12)

Finnish educational system

Elementary school, 6 yrs (

Alakoulu

in Finnish), starts at the age of 7

Junior High School, 3 yrs (

Yläkoulu

in Finnish)

Senior High School

(

lukio

), 3 yrs

Vocational School

(

ammattikoulu

), 3 yrs

University (bachelor),

3 yrs

Polytechnics (bachelor),

3.5 – 4 yrs

University (master), 2 yrs

C

ompul

sor

y

educati

on

50.2 %

41.2 %

(8.6 %)

Pre-school, 1 year (

Esikoulu

in Finnish), starts at the age of 6

(13)

Motivation and learning outcomes

1.

Motivation to physics concepts

Quantities: time, distance,

speed, acceleration and force

Causal relationship: dependencies between objects

Gravity, friction, motion, balance

Mass and its effects

Particle kinematics

(14)

Motivation and learning outcomes

2.

Motivation to math concepts

Problem solving

Function, interpretation and drawing

Coordinates

Geometry: straight line, scaling, shapes

Vectors

Equations and solving them

Probability and random numbers

Boolean value, logic

(15)

How to program games

Two mainstream options

1.

Visual programming

Alice, Scratch, Greenfoot, …

Lego robots (compare to

industrial process programming,

e.g. National Instruments, LabView, etc.)

Microsoft Kodu

2.

Textual programming

Java ACM Task Force

(16)

Kodu Game Lab

(17)

Jypeli library --

Why and objectives

“Real programming” by mainstream tools

First game should not be many lines of code

“Realistic” physics built-in

Event-driven for controls and collisions

Less structures, as few as zero loops and ifs

Endless possibilities for

advanced programming

Possibility to transfer games

(18)

Choosing the tool –

Motivation to building a new library

Lack of Finnish material

Xbox currently only game

console with the possibility to

transfer own games easily

C# as the language

Lack of physics engines in

available libraries out-of-the-box

Limited time available – It also takes time to study a

library someone else has made

Faculty interests in bringing knowledge about

(19)

Example game:

Galaxy Trip

(20)

using System; using Jypeli; using Jypeli.Effects;

public class Game : PhysicsGame {

static String[] lines = {

" ", " ", " ", " X X ", "X ", " * ", " X X ", " ", " ", " ", " ", "* X X ", "X ", " * ", " X X ", " ", " ", " ", " * ", " X X ", "X ", " ", " X X ", " ", };

static int tileWidth = 800 / lines[0].Length; static int tileHeight = 480 / lines.Length; static Image playerImage =

LoadImage("ship");

static Image galaxyImage = LoadImage("galaxy");

static Image sombreroImage = LoadImage("sombrero"); static Image explosionImage = LoadImage("bum");

ExplosionSystem explosionSystem; PhysicsObject player;

protected override void Begin() {

Level.Background.Image = LoadImage("space"); Gravity = new Vector(0, -1000);

NewGame(null); }

void NewGame(Touch touch) {

ClearGameObjects(); ClearControls();

player = new PhysicsObject(50, 50, Shape.Circle); player.Image = playerImage; Add(player); explosionSystem = new ExplosionSystem(explosionImage, 50); Add(explosionSystem); Keyboard.Listen(Key.Up, ButtonState.Pressed, MovePlayer, "Move up", player, new Vector(0, 500)); Keyboard.Listen(Key.Down, ButtonState.Pressed, MovePlayer, null, player, new Vector(0, -500)); Keyboard.Listen(Key.Left, ButtonState.Pressed, MovePlayer, null, player, new Vector(-500, 0)); Keyboard.Listen(Key.Right, ButtonState.Pressed, MovePlayer, null, player, new Vector(500, 0));

TouchPanel.Listen(ButtonState.Pressed, NewGame, null); Accelerometer.Calibration = AccelerometerCalibration.ZeroAngle; Accelerometer.ListenAnalog(AccelerometerSensitivity.R ealtime, ChangeGravity, null);

TileMap tiles = TileMap.FromStringArray(lines); tiles['X'] = CreateGalaxy; tiles['*'] = CreateSombrero; tiles.Insert(tileWidth, tileHeight); Level.CreateBorders(); Camera.ZoomToLevel(); }

public void MovePlayer(PhysicsObject player, Vector force) { player.Hit(force); } PhysicsObject CreateGalaxy() { PhysicsObject galaxy = PhysicsObject.CreateStaticObject(tileWidth, tileHeight); galaxy.Color = Color.LightBlue; AddCollisionHandler(galaxy, CollidedWithGalaxy); galaxy.Image = galaxyImage; return galaxy; } PhysicsObject CreateSombrero() { PhysicsObject sombrero = PhysicsObject.CreateStaticObject(tileWidth, tileHeight); sombrero.Color = Color.Yellow; sombrero.Image = sombreroImage; AddCollisionHandler(sombrero, CollidedWithSombrero); return sombrero; }

void CollidedWithGalaxy(PhysicsObject galaxy, PhysicsObject target)

{

PlaySound("blop"); }

void CollidedWithSombrero(PhysicsObject sombrero, PhysicsObject target) { PlaySound("exp"); explosionSystem.AddEffect(target.X, target.Y, 50); sombrero.Destroy(); } void ChangeGravity(AnalogState s) { Gravity = s.StateVector * 2000; } }

http://tinyurl.com/jypeli-paper

(21)

Course instances in 2009—2010

2009

2010

Total

Courses

2

5

7

Instructors

1 plus 3-4

1 plus 4

Students

45

105

150

Girls / boys

7 / 38

6 / 99

13 / 137

Age

mean

median

youngest /

oldest

13.8

13

12 / 16

14.2

14

11 / 17

Drop outs

3 (7 %)

6 (6 %)

9 (6 %)

(22)

”I have earlier

programming experience”

(2010)

47.5 %

25.3 %

18.2 %

8.1 %

1.0 %

0.0 %

10.0 %

20.0 %

30.0 %

40.0 %

50.0 %

None

Somewhat little Not little, not

much

Somewhat

much

(23)

”I consider myself an experienced

computer user”

(2009-2010)

2.2 %

4.4 %

33.3 %

35.6 %

20.0 %

4.0 %

6.0 %

31.0 %

41.0 %

18.0 %

0.0 %

10.0 %

20.0 %

30.0 %

40.0 %

50.0 %

Disagree

Somewhat

disagree

Not agree, not

disagree

Somewhat

agree

Agree

(24)

”I play computer games…”

(2009-2010)

2.2 %

46.7 %

51.1 %

3.0 %

37.4 %

59.6 %

0.0 %

10.0 %

20.0 %

30.0 %

40.0 %

50.0 %

60.0 %

70.0 %

1-4 times a month

A few days a week

Every day

(25)

More student demographics

They have tried some languages, e.g. Java (20), Basic

(17), C++ (17) (numbers overlap)

Most students are interested

in career in software

engineering (57 %)

Conclusion: Students were

interested and motivated, but

(26)

Mon

Tue

Wed

Thu

Fri

9:00-9:50

Starting info

Functions

Loops,

random

numbers,

gravity

Classes and

methods of

Jypeli library

How to

continue

10:00-10:50

Get to know

with tools

Carrying on

with the Pong

game

Designing

and

implementing

own game

Implementing

own game

Finalizing

own game

11:00-11:45

Making the

first game

(Pong-tutorial)

Finalizing the

Pong game

Implementing

own game

12:15-13:30

What are

algorithms

Handling

collisions

How to make

a level out of a

tilemap (grid)

Showcase

13:45-15:00

Carrying on

with the Pong

game

Designing

own game

Implementing

own game

Showcase and

best game

voting

http://tinyurl.com/jypeli-paper

(27)

Overall satisfaction

Overall satisfaction: 4.71 (2009), 4.56 (2010)

Fulfilled the expectations: 4.1 (2009), 3.9 (2010)

85 % would recommend the

course to his/her friends (2010)

(28)

Hardest things on the course

42 % of the responses related

to new language and new syntax

“learning a new programming language"

“writing the code"

“syntax of the language"

“finding errors”

(29)

Is it hard to do programming?

Majority of the students had none or only little earlier

programming experience (2009: 89 %, 2010: 73 %)

68 % said that programming was NOT

harder than he/she had expected

49 % said their conception of

programming had changed during the course

Thought it was harder

Programming games was more fun than expected

Programming was more fun than expected

(30)

Correlation analysis: Effect of

earlier programming experience

Positive correlation with the question ”I will study in

the field of ICT/science in the future”

(Pearson correlation

0.489

,

𝑝 ≤ 0.01

)

Negative correlation with the question ”The given

tasks were hard”

(31)

Interest towards

ICT/science studies

Pre-

questioning

Post-questioning

+ / -

Agree or

fully agree

37.9 %

43.6 %

+5.7 %

Disagree or

fully disagree

27.9 %

17.9 %

-10.0 %

Mean

3.16

3.41

+0.25

Std dev

1.19

1.16

-0.03

(32)

Challenges of the concept

How much do they learn

Measuring this is challenging

Is learning many things really

the objective?

Is it enough just to “have fun

with programming”?

What happens after the course

Post-course communication

(33)

Game theme in the

University of Jyväskylä

Ohjelmointi 1

(CS 1) with a game theme

Started in 2010

Strong learning outcomes

TDD (ComTest for C#)

As of autumn 2011 game theme will

be a common denominator in the

majority of the courses of

(34)

Studies for

senior high school students

We offer university courses for

senior high school students

E.g.

Programming 1

(CS 1) with a game-theme

Students are fully credited when they entry university

Give advantage in entrance examination

(35)

References

Related documents

It has also been documented that tourism tends to have a more favourable effect on small economies (see Sgro and Hazari, 1995; 1995; Candela and Cellini, 1997). Given that the

While the recent push to eliminate open defecation has made significant progress taking India to a level of 61% coverage, the functionality of sanitary latrines and

▪ Excellent personal motivation with a proven ability to build and work collaboratively in a strong team concept environment, and independently. ▪ Focused, versatile,

#offee beans are a significant input into Starbucks value chain and there have been wide fluctuations in the market prices of high @uality coffee beans. Starbucks could mitigate

The objective of using hydrated lime as whole replacement for the crushed stone filler is to evaluate the effect on stability and flow used in the design of asphalt mixtures

He states first that as well as he can recollect he was born in the year 1761 in Bucks County State of Pennsylvania, that he has no record of his age, that when he was called into

In mouse embryos, gastrulation occurs by ingression, whereby individual epithelial cells from the epi- blast undergo an epithelial-to-mesenchymal transition, falling into the

The overall strategy is governed by the European rules and regulations and the national fiscal framework, substantially strengthened through the introduction in the Constitution of