Pedagogic Visual Programming Languages and JubJub Erik Pasternak [email protected] Adviser: Illah Nourbakhsh Committee Members: Aaron Steinfeld and Leigh Ann Sudol Graphic Designer: Cheng Xu CREATE Lab, CMU.

Download Report

Transcript Pedagogic Visual Programming Languages and JubJub Erik Pasternak [email protected] Adviser: Illah Nourbakhsh Committee Members: Aaron Steinfeld and Leigh Ann Sudol Graphic Designer: Cheng Xu CREATE Lab, CMU.

Pedagogic Visual Programming Languages and JubJub Erik Pasternak

[email protected]

Adviser: Illah Nourbakhsh Committee Members: Aaron Steinfeld and Leigh Ann Sudol Graphic Designer: Cheng Xu CREATE Lab, CMU

2

Industry Demands Unmet

    1.5 million computer specialist jobs in US by 2016 (ncwit ‘09) US graduates will fill only 53% of demand (ncwit ‘09)  20% of CS degrees to women in 2006 (NSF ‘09)  28% of CS degrees to minorities in 2006 (NSF ‘09) Decline in CS interest since 2000 (CRA ‘05)  79% decline in women’s interest 2000-2008 (ncwit ‘09) Lots of jobs, not enough people

3

Outline

1.

1.

2.

3.

4.

Motivation What are the problems?

What are Visual Programming Languages?

How do they help? Interviews and Research 2.

1.

JubJub Goals 2.

3.

4.

Concept Design User Testing Results and Discussion

4

Motivation

5

Barriers to Entry

   Misconceptions peak at 10 th grade (Gupta ‘00)  Would like to introduce concepts earlier Poor support in most k-12 schools (Kozol ‘92)   Not enough CS teachers/classes Often little direction from administration Gender, race, and income specific challenges (Margolis ‘08) Want to support self-exploration at an early age (Maloney ’08)

6

Challenges of Programming

  High cognitive load on learning a first language (Lahtinen ‘05)  Syntax    IDE keywords error messages Gulf of Execution and Gulf of Evaluation(Norman ‘88)  How does the environment help translate intention into code?

 How does the environment show what is happening?

Text is hard

Other Issues

 Motivation and relevance (Kelleher ‘07)    What rewards do students see?

How soon do they see these rewards?

How does it relate to their daily lives?

7 Make it immediately usable and interesting

8 1.

2.

3.

Summary

Allow students to explore programming on their own Provide visual elements to scaffold students programming Provide examples and support that is relevant to daily lives

9

What is a Visual Programming Language (VPL)?

10

Visual Programming Languages “Conceptual models of programming are the most important to learn and syntax and typing really just get in the way.” –Evelyn Eastmond

11

Benefits of VPLs

  Reduces cognitive load (Kelleher ‘05)     Eliminates syntax Provides visual hints to use Reduces available mistakes Is intuitive to today’s students Empowers (Maloney ‘08)  Allows powerful results to be achieved quickly  Provides immediate reward and motivation

12

Interviews

13

Identifying a need

  Interviews with researchers and educators     9 researcher and educators Members of Scratch (MIT), Alice (CMU), RoboLab (TUFTS), and BlueJ (University of Kent) Guided open format interviews Focused on experiences with students and IDEs Review of other systems and research  Used observations from interviews and literature

14

Interviews

   VPL researchers are encouraging Several different approaches, successes and problems There is a need for a bridge between a simple VPL and the more complex languages of industry   Many languages provide a simple first look at programming They are often restricted to a specific domain

15

Representative Systems

    Three systems    Scratch Alice RoboLab Popular systems Show three approaches Many observations gleaned from interviews and literature review

16

17

18

19

Ideas

  Combined features of current systems Attempt to fill gap between current VPLs and commercial languages  Start simple   Expand   Add existing libraries, robotics, graphics, etc.

Go from basic commands to full OOP Direct translation to commercial languages    Conceptually analogous to textual languages Built in support for standard IDE features Debugging, on-write error checking, etc.

20

Goals

  Goals 1.

2.

3.

4.

5.

6.

7.

Explicitly support the creation of language subsets Make focusing on single concepts easy Support integration with varied materials Build a scalable framework Make it easy to share Help students transition to popular commercial languages (Java, C, and C++ are most used) Maintain the simplicity and usability that makes VPLs a powerful tool Targeted at 6 th -12 th  Transition language grade

21

JubJub

22

Goals

  Goals 1.

2.

3.

4.

5.

6.

7.

Explicitly support the creation of language subsets Make focusing on single concepts easy Support integration with varied materials Build a scalable framework Make it easy to share Help students transition to popular commercial languages (Java, C, and C++ are most used) Maintain the simplicity and usability that makes VPLs a powerful tool Targeted at 6 th -12 th  Transition language grade

23

Integration

  Modular design   Skinnable Add and remove content Allows blocks of code to be treated as a black box    A block has inputs, outputs, and a function Blocks can access robotics, graphics, sound, etc.

Can access underlying code

24

Scalable

  Support for advanced constructs  Switch statements, multiple returns Made it easy to tie in outside libraries

25

Transitions

  Close conceptual mapping to commercial languages   Call by reference Classes and Methods Interface has adjustable level of transparency

26

Simplicity

  Simple to use basic features   Start with drag-and-drop Small initial set of blocks Support for more advanced features  Simple access through the interface

27

28

29

30

31

Pilot Study: Goals

  Test creation of a subset for specific task Ensure simplicity had been maintained

32

Pilot Study: Details

    Six novice programmers     2 or fewer college programming classes 3 men, 3 women Mix of majors: ECE, Design, Math Two programmed regularly, all had used more than one language  Two are non-native English speakers 20 minute interview 20 minute programming task with prototype Follow-up questions about prototype

33

Pilot Study: Interview

   Focused on learning a first programming language Asked about IDEs they had used Interesting Notes:  Those who felt more confident with programming mentioned exposure through a parent   None had used a VPL before Talking about IDEs:    Simplicity is important Want help from IDE (code completion, brace highlighting) Need clear errors and simple debugging tools

34

Pilot Study: Prototype

     Single method editing Two tabs and a small set of blocks Used the Finch robot  USB tethered robot for CS Education Given ~2 minute introduction to the environment Asked to make the Finch ‘dance’ using at least two behaviors

35

36

37

Goals

  Goals 1.

2.

3.

4.

5.

6.

7.

Explicitly support the creation of language subsets Make focusing on single concepts easy Support integration with varied materials Build a scalable framework Make it easy to share Help students transition to popular commercial languages (Java, C, and C++ are most used) Maintain the simplicity and usability that makes VPLs a powerful tool Targeted at 6 th -12 th  Transition language grade

38

Results

    All six completed   Fastest in under 3 minutes Longest over 20 minutes Three wanted to keep going after completion  Two of them were women Only one created a compile-time error   No errors were unrecoverable Visualization of program flow would have helped Block usage   All used while, two used an if/else 5 used a block that hadn’t been explained

39

Results(cont.)

   Most used the Java to figure out the blocks  Would stop looking at Java after first few minutes Less experienced programmers liked it more  More experienced felt restricted All of them said it was very natural   Drew comparisons to other devices they’ve used “It’s just like iPhone”

40

Conclusions and Future Work

     Interface is intuitive and simple Effective customization to task Need to look more at debugging  Program flow visualizations  Variable value tracking As they improve they want access to the code directly  Support for editing code within blocks   Expression editing Integrate with a text based IDE (BlueJ, Eclipse) Interface for creating and sharing new sets of blocks will be critical

41

Acknowledgements

      Illah Nourbakhsh, my adviser Cheng Xu, who created the graphics Leigh Ann Sudol and Aaron Steinfeld, my committee members and a great help Interviewees Users My housemates, who listened to this talk several times

42

References

          NCWIT, 2009. http://ncwit.org/ NSF, 2009. http://www.nsf.gov/ CRA, 2009. http://www.cra.org/ Gupta, U. G. & Houtz, L. E. “High School Students' Perceptions of Information Technology Skills and Careers.” Journal of Industrial Technology, 2000 Kozol, J. “Savage Inequalities: Children in America's Schools.” Harper Perennial, 1992 Margolis, J. “Stuck in the Shallow End: Education, Race, and Computing.” The MIT Press, 2008 Maloney, J. H. et al. “Programming by choice: urban youth learning programming with scratch” SIGCSE, 2008 Norman, D. “The Design of Everyday Things.” Doubleday, 1988 Lahtinen, E.; Ala-Mutka, K. & Järvinen, H.-M. “A study of the difficulties of novice programmers.” ITiCSE, 2005 Kelleher, C. & Pausch, R. “Using storytelling to motivate programming.” Commun. ACM, 2007

43

Questions?

44

Architecture

45