educational computing kimberly sledge auburn university research spring 2006

23
Educational Educational Computing Computing Kimberly Sledge Kimberly Sledge Auburn University Auburn University Research Spring 2006 Research Spring 2006

Upload: oscar-gibson

Post on 25-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Educational ComputingEducational Computing

Kimberly SledgeKimberly Sledge

Auburn UniversityAuburn University

Research Spring 2006Research Spring 2006

OverviewOverview

Introduction to Educational Introduction to Educational Computing and Novice ProgammingComputing and Novice Progamming

AgentSheetsAgentSheets SqueakSqueak Background Paper 1Background Paper 1 Background Paper 2Background Paper 2 DemoDemo

Intro to Educational ComputingIntro to Educational Computing

Methods to increase computing literacy for all groupsMethods to increase computing literacy for all groups SIGCSESIGCSE (Special Interest Group for Computer Science (Special Interest Group for Computer Science

EducationEducation

K-12K-12

University studentsUniversity students

Natural ProgrammingNatural Programming Natural techniques for user to create programsNatural techniques for user to create programs An alternative to traditional programming techniques where An alternative to traditional programming techniques where

you have to learn a complex and abstract programming you have to learn a complex and abstract programming languagelanguage

Reduce learning timeReduce learning time Reduce programming effort (not to discourage novice end Reduce programming effort (not to discourage novice end

user programmers)user programmers)

AgentSheetsAgentSheets

AgentSheets is an agent-based AgentSheets is an agent-based simulation-authoring tool that lets a simulation-authoring tool that lets a wide range of end users (from wide range of end users (from children to professionals) create their children to professionals) create their own interactive simulations and own interactive simulations and games. games.

AgentSheets is used to create AgentSheets is used to create interactive simulations through a interactive simulations through a user-friendly drag and drop interface.user-friendly drag and drop interface.

AgentSheets Screenshots: Bridge AgentSheets Screenshots: Bridge BuilderBuilder

AgentSheets ScreenShots: Virus AgentSheets ScreenShots: Virus AttackAttack

What do people use AgentSheets for?What do people use AgentSheets for?

Interactive Story Telling (High Interactive Story Telling (High School)- History students create School)- History students create interactive stories of historical events interactive stories of historical events such as the Montgomery bus boycott.such as the Montgomery bus boycott.

Scientific modeling- Researchers Scientific modeling- Researchers modeled the effects of microgravity modeled the effects of microgravity on E. coli bacteria. This was an on E. coli bacteria. This was an AgentSheets simulation experiment AgentSheets simulation experiment that flew on the Space Shuttle with that flew on the Space Shuttle with John Glenn. John Glenn.

Why is AgentSheets appropriate for Why is AgentSheets appropriate for Educational computing and Novices?Educational computing and Novices?

Running simulations is an effective means Running simulations is an effective means of learning, but creating your own of learning, but creating your own simulations challenges you to develop a simulations challenges you to develop a thorough knowledge and understanding of thorough knowledge and understanding of your own ideas about a subject. your own ideas about a subject.

Designing your agents’ behavior and setting Designing your agents’ behavior and setting the conditions they encounter gives rise to the conditions they encounter gives rise to questions you might otherwise overlook. questions you might otherwise overlook.

Running your simulation will often prompt Running your simulation will often prompt you to come up with new theories and you to come up with new theories and scenarios.scenarios.

SqueakSqueak

Squeak is open source software which has Squeak is open source software which has been created and developed by a body of been created and developed by a body of individuals in a communal effort to individuals in a communal effort to broaden its ability and explore new realms broaden its ability and explore new realms of computing and media developmentof computing and media development

Education is the primary focus for many Education is the primary focus for many squeakers who are doing cutting edge squeakers who are doing cutting edge research on how computers can be used research on how computers can be used to enhance and amplify learning.to enhance and amplify learning.

Squeak is not a finished product – it is the Squeak is not a finished product – it is the outcome of research conducted by a small outcome of research conducted by a small community and the research is ongoing. community and the research is ongoing.

Squeak ScreenShotsSqueak ScreenShots

Squeak ScreenShots Cont’dSqueak ScreenShots Cont’d

What do people use Squeak for?What do people use Squeak for?

Many students are using Squeak to Many students are using Squeak to learn more about how the world learn more about how the world works.works.

Students have learned to simulate Students have learned to simulate gravity and use differential equations gravity and use differential equations in a context much different from in a context much different from most math taught today.most math taught today.

Why is Squeak appropriate for Why is Squeak appropriate for Educational Computing & Novices?Educational Computing & Novices?

Increases math and science skills.Increases math and science skills. Feedback from Sixth Grade students: Feedback from Sixth Grade students:

"You are so eager to get your car driving that "You are so eager to get your car driving that you know the facts of what to do, so you can you know the facts of what to do, so you can have fun driving your car. You're making an have fun driving your car. You're making an opportunity for yourself to express your opportunity for yourself to express your creativity through math and science.“creativity through math and science.“

"Squeak is really fun because you're having "Squeak is really fun because you're having fun, but you're learning math at the same time. fun, but you're learning math at the same time. Some people think I'll put in 53 as a heading, Some people think I'll put in 53 as a heading, and then you think, " what's 53 times 2?" And and then you think, " what's 53 times 2?" And you get 106. You don't know what will happen, you get 106. You don't know what will happen, but you try it and see. You're just doing math but you try it and see. You're just doing math and you're having fun like that.“and you're having fun like that.“

Background Paper 1: Natural Background Paper 1: Natural ProgrammingProgramming

Scientist at RAND, professor and Ph.D student from Scientist at RAND, professor and Ph.D student from Carnegie Mellon University conducted a studies to Carnegie Mellon University conducted a studies to create programming languages and environments create programming languages and environments that are more natural, or closer to the way people that are more natural, or closer to the way people think about their tasks.think about their tasks.

Two studies conducted to examine language and Two studies conducted to examine language and structure that children and adults naturally use in structure that children and adults naturally use in solving problems before they have been exposed to solving problems before they have been exposed to programmingprogramming

Basis of research project is that programmers will Basis of research project is that programmers will have an easier job if their programming tasks are have an easier job if their programming tasks are made more natural. By “natural” they mean “faithfully made more natural. By “natural” they mean “faithfully representing nature or life,” which implies it works in representing nature or life,” which implies it works in the way people expect. By natural programming they the way people expect. By natural programming they are aiming for a language and environment to work are aiming for a language and environment to work the way nonprogrammers expect.the way nonprogrammers expect.

Background Paper 1: Cont’dBackground Paper 1: Cont’d

Participants were presented with Participants were presented with programming tasks and asked to solve them programming tasks and asked to solve them on paper using whatever text or diagrams on paper using whatever text or diagrams they wanted to use.they wanted to use.

Observations: 1) An event-based or rule-Observations: 1) An event-based or rule-based structure were often used, where based structure were often used, where actions were taken in response to events. 2) actions were taken in response to events. 2) Aggregate operators (acting on a set of Aggregate operators (acting on a set of objects all at once) were used more often objects all at once) were used more often than iterating through the set and acting on than iterating through the set and acting on the objects individually 3)Participants often the objects individually 3)Participants often drew pictures to sketch out the layout of the drew pictures to sketch out the layout of the program, but resorted to text to describe program, but resorted to text to describe actions and behaviors.actions and behaviors.

Background Paper 1: ResultsBackground Paper 1: Results

After conducting studies HANDS was designed After conducting studies HANDS was designed and implemented.and implemented.

Various components of system were designed in Various components of system were designed in response to the observations in their studies as response to the observations in their studies as well as prior work. well as prior work.

HANDS uses an event-based language that HANDS uses an event-based language that features a new model for computation, provides features a new model for computation, provides queries and aggregate operators that match the queries and aggregate operators that match the way nonprogrammers express problem solutions, way nonprogrammers express problem solutions, has high visibility of program data, and includes has high visibility of program data, and includes domain-specific features for the creation of domain-specific features for the creation of interactive animations and simulations.interactive animations and simulations.

What is HANDS?What is HANDS?

In HANDS, the computation is represented as an In HANDS, the computation is represented as an agent named Handy, sitting at a table agent named Handy, sitting at a table manipulating a set of cards.manipulating a set of cards.

All data is stored on cards, which are global, All data is stored on cards, which are global, persistent, and visible to the table.persistent, and visible to the table.

The HANDS system portrays the components of a The HANDS system portrays the components of a program on a round table.program on a round table.

All data is stored on cards and programmer All data is stored on cards and programmer inserts code into Handy’s thought bubble at the inserts code into Handy’s thought bubble at the upper left corner. When play button pressed, upper left corner. When play button pressed, Handy begins responding to events by Handy begins responding to events by manipulating cards according to the instructions manipulating cards according to the instructions in the thought bubble.in the thought bubble.

HANDS cont’dHANDS cont’d

HANDS is event-based, a HANDS is event-based, a programming style that most closely programming style that most closely matches the problem solutions in the matches the problem solutions in the studies that were conducted.studies that were conducted.

To examine effectiveness: 10 year-To examine effectiveness: 10 year-olds were able to learn the HANDS olds were able to learn the HANDS system during a three-hour session system during a three-hour session and then use it to solve programming and then use it to solve programming problems.problems.

Background Paper 2: Student Background Paper 2: Student Characteristics Affecting Novice Characteristics Affecting Novice

Programming PerformanceProgramming Performance

Studies conducted to identify Studies conducted to identify characteristics that negatively affect characteristics that negatively affect procedural programming performance.procedural programming performance.

Studies conducted at two South African Studies conducted at two South African tertiary institutions: Study 1 (University of tertiary institutions: Study 1 (University of KwaZulu-Natal, Study 2 (Mangosuthu KwaZulu-Natal, Study 2 (Mangosuthu Technikon).Technikon).

First course in java programming focusing First course in java programming focusing on procedural programming aspects was on procedural programming aspects was used for purposes of the studyused for purposes of the study

Background Paper 2 Cont’dBackground Paper 2 Cont’d

Characteristics investigated:Characteristics investigated: GenderGender Students’ mother tongueStudents’ mother tongue Previous computer experiencePrevious computer experience Learning styleLearning style Problem solving abilityProblem solving ability

Background Paper 2: ResultsBackground Paper 2: Results

Study indicated that performance in a Study indicated that performance in a procedural programming course is gender procedural programming course is gender independent. independent.

Determined that students whose first Determined that students whose first language is the same language of language is the same language of instruction, namely, English have performed instruction, namely, English have performed better than those students whose mother better than those students whose mother tongue is not English.tongue is not English.

Computer literate students did not perform Computer literate students did not perform significantly better than those students that significantly better than those students that did not use a computer prior to the did not use a computer prior to the programming course.programming course.

Background Paper 2: Results Cont’dBackground Paper 2: Results Cont’d

Students’ learning style cannot be Students’ learning style cannot be used as a general indicator of used as a general indicator of programming performance.programming performance.

Study revealed a positive correlation Study revealed a positive correlation between the students’ problem between the students’ problem solving ability and programming solving ability and programming performance.performance.

DemoDemo