You are on page 1of 30

a c h in g

re n t Te
Cur g y
hn o lo
Tec ng Com
p ut erSc i e nt i s ts

or Buddi
F
Introduction and Tools
Survey of the current technology.
Scratch
Alice
Net Logo
GreenFoot
What is effective?
Scratch
Imagine · Program · Share.

Scratch is a new programming language that
makes it easy to create your own interactive
stories, animations, games, music, and art --
and share your creations on the web.
Scratch is designed to help young people (ages 8
and up) develop 21st century learning skills. As
they create and share Scratch projects, young
people learn important mathematical and
computational ideas, while also learning to think
creatively, reason systematically, and work
collaboratively.
Scratch
http://vimeo.com/2102968

“Our Ultimate goal is to bring together a
worldwide community of creators who are
constantly using scratch to create new
projects share them with their friends around
the world, and learn from one another in the
process”

Emphasis on collaboration or “remixing.”
Scratch Language
Interpreted dynamic visual programming language.
In designing the language, the main priority was to
make the language and development environment
intuitive and easily learned by children who had no
previous programming experience. There is a
strong contrast between the power multi-media
functions and multi-threaded programming style
and the rather limited scope of the programming
language.
Object-Oriented, intuitive, easily readable. Based
on Logo, Smalltalk, feels like ActionScript.
Scratch Keys
Rich media driven environment. (Filters etc.)

FAST prototyping. From idea to reality quickly. Most
things handled for you. No errors unless there
visual.

No learning curve, drag and drop interface. Type
Differentiated Building Block Programming. This
means that different block shapes are different
objects, if it fits together then its syntactically
correct.
Scratch Keys
Dynamic environment: You can view results
and make changes in real time.

“Scratch offers a low floor (easy to get
started), high ceiling (ability to create
complex projects), and wide walls
(support for a wide diversity of projects).
In developing Scratch, we put high
priority on simplicity, sometimes even
sacrificing functionality for
understandability”
Scratch Keys
Students learn (basic) mathematical and
computational concepts. Variables, iteration,
conditionals.
Significantly, students learn these concepts in a
meaningful and motivating context.
Students learn about the process of design.
Application and understanding of 21st century
ideas and tech.
Scratch Results
Recently released so no significant data has been gathered
about the effectiveness of Scratch.
Among the 25 respondents, 19(76%) felt that Scratch was a
positive influence, 2(8%) felt that Scratch was a negative
influence, and 4 (16%) felt that Scratch was not an
influence.
“I feel Scratch negatively influenced me for the rest of the
course. Scratch was a lot of fun to use, and it was really
easy. Then we started coding in Java and its [sic ] about
100 times harder than Scratch, and the results are much
less enjoyable than what I could easily achieve in Scratch. I
think Scratch would have been better to have fun with
after . . . Java.”
Scratch Demos
Hello World Demo and Introduction.

Community Application (8-12 years)

Community Application (12-18 years)

Problem Solving (Sorting)
Scratch Summary
Great for people with no programming
experience. Excites people and engages. But
the jump from Scratch to Java / C++ is very
significant.

Essentially no data types, no polymorphism or
OO. No Arrays or Lists. EDIT: The most recent
Scratch Now has lists.
Alice

Alice is an innovative 3D programming environment that
makes it easy to create an animation for telling a story,
playing an interactive game, or a video to share on the
web.

Teaching tool designed to be a student's first exposure
to object-oriented programming. It allows students to
learn fundamental programming concepts in the
context of creating animated movies and simple video
games. In Alice, 3-D objects (e.g., people, animals, and
vehicles) populate a virtual world and students create a
program to animate the objects.
Alice

In Alice's interactive interface, students drag and drop
graphic tiles to create a program, where the
instructions correspond to standard statements in a
production oriented programming language, such as
Java, C++, and C#. Alice allows students to
immediately see how their animation programs run,
enabling them to easily understand the relationship
between the programming statements and the behavior
of objects in their animation. By manipulating the
objects in their virtual world, students gain experience
with all the programming constructs typically taught in
an introductory programming course.
Alice
Alice Language

The best way to describe Alice is to use a small
demo.

Alice is more complicated than scratch (3D)
and worlds more powerful.

Alice 3 may eclipse Scratch when it is released.
Alice Results

Researchers conducted a study of Alice in the
classroom over multiple semesters and
retention rates of at risk students.
Found that at risk students (weak math and
comp sci) who took Alice vs others who did not
had a much higher retention rate in CS.
Unfortunately only a small sample size was
evaluated so non-conclusive.
Net Logo
NetLogo is a programmable modeling
environment for simulating natural and social
phenomena. It was authored by Uri Wilensky
in 1999 and is in continuous development at
the Center for Connected Learning and
Computer-Based Modeling.

Based on the Logo programming language and
StarLogo.
NetLogo
NetLogo lets students open simulations and
"play" with them, exploring their behavior
under various conditions. It is also an
authoring environment which enables
students, teachers and curriculum developers
to create their own models. NetLogo is simple
enough that students and teachers can easily
run simulations or even build their own. And, it
is advanced enough to serve as a powerful
tool for researchers in many fields.
NetLogo Language
Higher learning curve but much more
programmatically powerful than Scratch or
Alice.

Large vocabulary of primitives.

Agent based (Turtles and Patches)
NetLogo Demo
Simple Hello World and Language introduction.

Models Library (Particles, and Simulations)
NetLogo Keys
All in One Simulation environment.

Geared towards people with a bit more
programming experience.

Simple language.

No ceiling to what you can do (In a modeling
sense), as opposed to Alice and Scratch.
Greenfoot
Greenfoot is a software tool designed to let
beginners get experience with object-oriented
programming. It supports development of
graphical applications in the Java™ Programming
Language.

A “Safe” environment to Visualize Object Oriented
Programming. Or a scenario tool for teaching OO.

For introductory classes students explore and play
with premade scenarios
Greenfoot Language
Greenfootis implemented in and uses Java.
While the entire Java language is usable, it is
not required, students do not have to know
Collections, Exceptions, static methods etc. to
use Greenfoot fully.

Each Greenfoot class has a visual component,
so a student always knows what he is doing /
creating.
Greenfoot Demo
Wombat Demo, demonstration of the features
of Greenfoot.
Greenfoot Keys
Visualization of Object Oriented design.

High Learning curve unless taught with
scenarios.

Benefit: The student starts programming in a
REAL language.
Summary
Scratch: Great for people with no programming
experience. Excites people and engages. But the
jump from Scratch to Java / C++ is very significant.

Positive: Zero learning curve.

Negative: No scaling for more difficult problems
such as sorting. Users who are able to write sorting
algorithms are usually fluent in another language
already.
Summary
Alice: Great for people with no programming
experience. Excites people and engages. Very
cool 3D environment.

Positive: 3D Interaction from the get go.

Negative: Difficult to solve certain problems,
higher learning curve, sometimes very
complex.
Summary
NetLogo: Modeling environment useful for
more experienced students.

Positive: Simple but powerful language with
instant results.

Negative: Medium learning curve. Not
applicable for most beginners except as a
scenario tool.
Summary
Greenfoot: Useful environment for learning
Object Oriented programming and design
principles.

Positive: Integrated environment teaching a
real language.

Negative: Teaches a real language.
Refferences
Evaluating the Effectiveness of a New Instructional
Approach. Moskal, Lurie, Cooper

A Networked, Media-Rich Programming
Environment to Enhance Technological
Fluency at After-School Centers in
Economically-Disadvantaged Communities.
Resnick, Kafai, Maeda

Innumerable websites on Scratch, Alice,
Netlogo and Greenfoot.