Teaching Computer Concepts with Robots, Animation, and Multi-Media Barbara Ericson Georgia Tech

advertisement
Teaching Computer Concepts with
Robots, Animation, and Multi-Media
Barbara Ericson
Georgia Tech
ericson@cc.gatech.edu
http://coweb.cc.gatech.edu/ice-gt/
There is a Shortage of CS Students

The number of CS majors has dropped
40% since 2001
• Nationwide

The percentage of women has dropped to
about 15%
• From a high of about 40% in the early 80s

Projections of 46% job growth over the
next 10 years!
• Microsoft currently has 5,000 unfilled jobs
Why the Huge Drop in Students?

Myth #1
• All computing jobs are going overseas



Only about 2-3% have
There are actually more jobs now in this
area than in 2001
The US Labor Department predicts that
computer software engineers and computer
systems designers will be among the fastest
growing occupations in 2002-2012
Why the Huge Drop in Students?

Myth #2
• Only geeks do well in computing
Who is in Computer Science?
They all are!
Why the Huge Drop in Students?

Myth #3
• You have to like to play computer
games

Professionals in computing
• Say that you should like:



Problem solving
Working with others in a team
Being creative
Why the Huge Drop in Students?

Myth #4
• The job is boring!
• Introductory classes are often boring

Students find the examples irrelevant, and
tedious
• Computer Science juniors are often
surprised how creative it is


Once you are past the early classes
Example: Digital Video Special Effects
Interesting, Creative, Lucrative Job

Money Magazine rated software
engineer the #1 job in 2006
• Flexibility: pick your hours
• Creativity: highest grade of any job
• Growth 44,800 average job openings a
year
• Average Pay: $80,500 to 6 figures

Computer IT Analyst was #7
Making Computing Interesting


Free software for creating animations and
games using drag-and-drop programming
Free software for multi-media
programming
• in Python or Java

Robots
• LEGO robots
• PicoCrickets
• Scratch Boards
Scratch Video

Free software
• from MIT


Used to
create 2D
animations
and games
Drag-anddrop
programming
Sample Student Work
What can you teach with Scratch?







variables
loops
conditionals
event-driven programming
message passing
complex Booleans (and, or, not)
geometry concepts
Alice

Free software
• from CMU


Used to create 3D
animations and
games
Drag-and-drop
programming
Sample Student Work
What can you teach using Alice?

Basics of Object-Oriented Programming
•
•
•
•
•
•
•
•
•
•

Objects and Classes
Methods and Parameters
Sequential and parallel execution
Inheritance
Iteration (looping)
Conditionals
Recursion
Lists and list processing
Arrays
Algorithm design, implementation, and testing
Basics of Event-driven programming
Future of Alice v3.0

Adding Sims
characters from EA
• the best selling
game of all time

Will be in Java
• Can still do dragand-drop

Beta by Dec 2008
Media Computation

Teaching computing
concepts using programs
that manipulate media
• Iteration as a way to
modify all pixels in a
picture to negate the
picture
• Conditionals as a way to
remove red eye from a
picture or to do
chromakey



Covers CS1 and CS2 topics
Developed at Georgia Tech
Can use Python or Java
Negate Method in Java
/**
* Method to negate the picture
*/
public void negate()
{
Pixel[] pixelArray =
this.getPixels();
Pixel pixelObj = null;
int redValue, blueValue,
greenValue = 0;
{
// get the current pixel
pixelObj = pixelArray[i];
// get the values
redValue = pixelObj.getRed();
greenValue =
pixelObj.getGreen();
blueValue = pixelObj.getBlue();
// loop through all the pixels
for (int i = 0; i <
pixelArray.length; i++)
}
// set the pixel's color
pixelObj.setColor(
new Color(255 - redValue,
255 - greenValue,
255 - blueValue));
}
Negate Method in Python
def negative(picture):
for px in getPixels(picture):
red=getRed(px)
green=getGreen(px)
blue=getBlue(px)
negColor=makeColor(255-red,255green,255-blue)
setColor(px,negColor)
What can you teach using Media
Computation?

CS1 (AP CS A) or CS2 (AB CS AB) content:
•
•
•
•
•
•
•
•
•
•
•
•
Objects and Classes
Methods and Parameters
Inheritance
Interfaces
Iteration (looping)
Conditionals
Recursion
Lists and list processing
Arrays
Algorithm design, implementation, and testing
Software engineering concepts
Data Structures
Greenfoot





Free software from
the University of Kent
Use to create 2D
simulations and
games in Java
Can run GridWorld in
it
Don't have to stick to
a grid
Runs on top of BlueJ
Greenfoot Scenarios
What can you teach with Greenfoot?




CS1 (AP CS A) and CS2 (AP CS AB)
content
Simulations
Key event handling
Object-oriented programming
• objects, classes, inheritance,
polymorphism

Java
LEGO Mindstorms NXT
LEGO Mindstorms RIS 2.0

A kit for creating and programming
robots built with LEGOs
Mindstorms NXT vs RIS






$250 or with software
for $279
431 elements
3 motors (with built-in
rotation sensors)
Storage bin with two
sorting trays
2 touch sensors, 1
light sensor, 1 sound
sensor, 1 ultrasonic
sensor, 3 lamps
Comes with
rechargeable battery

$200 for team
challenge set
• software separate for
$69




717 elements
2 motors (rotation
sensors are extra)
Have to buy sorting
trays
2 touch sensors, 1
light sensor
What can you teach with LEGO Robots?

Procedural programming
• variables
• loops
• conditionals
• creating your own blocks (functions or
methods)
• parameters
• debugging
• testing
PicoCrickets


Arts and Crafts kit
for the digital age
Based on research
at MIT
• on programmable
bricks
• same origin as
LEGO Mindstorms
robots

Sells for $250
Ideas for Cricket Projects
What can you teach with Crickets?







Loops
Conditionals
Variables
Input and output
Problem solving
Testing
Multiple threading
Scratch Board

Board to add input
to Scratch
programs
•
•
•
•
•

light sensor
touch button
sound sensor
resistance sensors
slider
Costs $25 a board
• plus $5 shipping
per order
Computing Resources



Scratch http://scratch.mit.edu
Alice http://www.alice.org
Media Computation
• http://coweb.cc.gatech.edu/mediaComp-teach


Greenfoot http://www.greenfoot.org
LEGO Mindstorms
• http://www.lego.com/eng/education/mindstorms/


PicoCrickets http://www.picocricket.com/
Lending Libraries at Georgia Tech
• http://coweb.cc.gatech.edu/ice-gt/500

Teacher workshops at Georgia Tech
• http://coweb.cc.gatech.edu/ice-gt/
• Barb Ericson ericson@cc.gatech.edu
Related documents
Download