Design and Use of Static Scaffolding Techniques to Support Java ...

5 downloads 10801 Views 1MB Size Report
Computer programming is a difficult subject, especially for novice learners. ... Programming environments on mobile phones for learning Java could include.
Dr Chao Mbogo (KeMU), Professor Edwin Blake (UCT), and Associate Professor Hussein Suleman (UCT) A presentation at the 21st Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE 2016) 11th – 13th July in Arequipa, Peru

 Computer programming is a difficult subject, especially for novice learners.

 Novice learners can be supported to learn programming while they are outside

the classroom.

Introduction

2

The constructivist theory supports the notion of support while a learner is learning by doing.

Introduction

3

Scaffolding refers to support provided so that learners can engage in activities that would otherwise be beyond their unassisted efforts.

Introduction

4

Graph showing percentage of respondents (Ghana N=2051, Kenya = 2000) who have the item at home in working order Source of Data: (Bowen & Goldstein) Introduction

Mobile phones are the most widely used mobile devices among learners in developing countries (Kyafulilo, 2012). 5

Limitations of mobile phones, such as a small screen size and a small keypad, impede their use as typical programming environments. Challenges faced by learners of programming should be considered.

Introduction

6

 Poor infrastructure and facilities is one of the major challenges faced by higher

education in Africa (Traxler, 2014) (Apiola, 2011).

 Studies have investigated the use of mobile technology and social media to support

learning of programming through discussions (Maleko, 2014).

 There exists some mobile programming environments:

AppInventor SAND IDE Related Work

TouchDevelop 7

Programming environments on mobile phones for learning Java could include scaffolding techniques that are specifically designed for mobile phones, and designed based on learners’ needs.

Design

8

Scaffolding should be designed with some essential character that provides mandatory scaffolding to support learners. This is ‘Static Scaffolding’. Static scaffolding techniques were designed based on a theoretical scaffolding framework and elicited learners’ needs (from a survey with 160 learners in three universities)*. The scaffolding framework provided two strategies for static scaffolding: (i) providing visual organizers in order to give access to functionality; and (ii) constraining the space of activities. *Mbogo, C., Blake, E. & Suleman, H., 2014. Supporting the Construction of Programs on a Mobile Device: A Scaffolding Framework. In Proceedings of 4th International Conference on M4D Mobile Communication for Development. Dakar, Senegal, p. 155. Available at: http://people.cs.uct.ac.za/~edwin/MyBib/2014-m4d.pdf [Accessed March 11, 2014].

Design

9

Design

10

Experiment

One Two

Methodology

Institution UWC JKUAT KeMU JKUAT

Number of learners 14 13 13 24

11

1. Write a program that initialises x to 10 and prints out its double value. Save this program as XValue.java 2. Using a for-loop print the first 10 natural numbers. Save this program as Natural.java 3. Write a program that accepts input from the user and displays this as “Your input is “ + input. Save this program as Natural.java 4. Write a program that uses a method input() to capture and display the names of two students. Save this program as MethSt.java

Data Collection Methods: • Google Analytics. • Questionnaires.

5. Write a program that creates two classes. The second class contains the constructor below. Access this constructor from the main class Output() { System.out.println (“Constructor called”); } 6. Write a program that uses a for-loop within a method avg() to calculate the sum of the numbers 20-100 and displays the sum. Call this method from the main method. Methodology

12

 Goal: To measure the use of static scaffolding techniques to construct Java programs

on a mobile phone.

 Based on CIAO model and M3 (Micro-Meso-Macro) Evaluation Frameworks.

Evaluation Metric

Definition

Specific Metrics

Task Success

- Measure in/completeness.

-

Use of static scaffolding techniques.

- How learners used the static scaffolds.

- Use of static scaffolds on complete and incomplete programs. - Progression of use. - Learner behavior.

Qualitative feedback

- Self reported data.

- Learners’ perceptions.

Evaluation

Tasks attempted. Tasks not attempted. Tasks completed. Tasks not completed.

13

Experime Institution nt

One

Two

Results

Task 1

Task 2

Task 3

Task 4

Task 5

Task 6

A

C

A

C

A

C

A

C

A

C

A

C

UWC

14

12

10

7

6

3

2

0

0

0

0

0

JKUAT

13

9

10

5

5

1

2

1

1

0

0

0

KeMU

13

9

11

8

7

5

1

0

0

0

0

0

JKUAT

24

18

19

17

20

12

12

7

6

3

5

3

14

UWC- JKUA KeMU- JKUA 1 T-1 2 T-2

incomplete completed

incomplete completed incomplete completed incomplete completed 0 5 10 15 Average use per learner across all the programming tasks editing program one part at a time

Results

20

program overview 15

Task Task Task Task Task Task 1 2 3 4 5 6

incomplete completed incomplete completed incomplete completed incomplete completed incomplete completed incomplete completed 0

Results

2 4 6 8 10 12 14 16 Average use per learner in all tasks at JKUAT-2 editing program one part at a time program overview

18

20

16

 Learners found static scaffolding alone (in comparison to user-

initiated or automatic scaffolding) sufficient to construct programs. Observed Learner Behavior Pattern Learners who made at most two attempts before completing each program part used only static scaffolding. Rejected the use of an automatic scaffold such as an example and opted to use the provided static scaffolds alone.

Learners were able to go directly to the part of the program that contained the erroneous code by easily accessing it through the program layout at the main interface. Results

17

‘The application divides the program or code into sections then one can then track and write the code properly by following the sections.’ ‘The sections are well laid out.’ ‘The separate segments of program are useful.’

‘How the codes are divided into chunks making the application easier to use.’ ‘The chunks made it easier to construct the program.’

Results

18

 Use of scaffolding techniques on a mobile programming environment

should be accompanied with classroom learning (use of desktop IDEs).  The benefits of a static scaffolding technique such as completing a program one part at a time may not have been achieved if such as scaffolding technique was optional.  One of the main criticisms of the constructivist approach is that learners are expected to construct new knowledge with minimal guidance:

 Learning programming-by-doing on such small devices can be supported

by providing some static scaffolding techniques that are always present.

 Use the devices that the learners already have and design applications

that consider both the limitations of the available devices and learners’ needs.

Conclusion

19

 Studying the limitations of the interface during the use of more

complex programs and if and how this might influence design of additional scaffolding techniques.

 A comparative study with a desktop programming environment (with

and without scaffolding).

 A study involving pre-test and post-test analysis in order to test if

learners gained programming skills.

 Learners use the static scaffolding over an extended period of time. Conclusion

20

Thank you! Questions and Comments?

[email protected]

21

Suggest Documents