ToolsTipsAndTech
Download
Report
Transcript ToolsTipsAndTech
Tools, Tips, and Techniques for
Teaching Difficult Computing
Concepts
Barbara Ericson
Georgia Tech
[email protected]
http://coweb.cc.gatech.edu/ice-gt
Who am I?
Member of the Advanced Placement
Computer Science Development
Committee
Responsible for creating the exam
Co-chair of the NCWIT K-12 Alliance
Member of the CSTA Board of Directors
Director of Computing Outreach for
Georgia Tech's College of Computing
Tools
There are many free tools for teaching
computer science
Scratch
Alice (2.2 and 3.0)
JavaBat
GridWorld
Greenfoot
Media Computation
Alice and Media Computation
Scratch
Free software from MIT for creating 2D
animations and games
http://scratch.mit.edu
Alice 2.2
Free software from CMU for creating 3D
movies and games
http://www.alice.org
Alice 3.0 Beta
Free software from
CMU for creating 3D
movies and games
http://www.alice.org
Includes the
Electronic Arts Sims
characters
Can import into
Netbeans IDE as Java
code
JavaBat
Free website where
you can type Java
code answers to small
problems
And test your solutions
You can create a log-in
and share results with
someone else (teacher)
Created by Nick
Parlante of Stanford
University
http://www.javabat.com/
GridWorld
Advanced Placement
Computer Science
Case Study
Example of a larger
program for students
to learn from
Used to teach objectoriented concepts
Greenfoot
Free software from
the Un. of Kent and
Deakin Un. for
building 2D
simulations and
games in Java
http://www.greenfoot.org
Can do Karel the Robot
and GridWorld in
Greenfoot
Media Computation
Writing textual programs
to manipulate media
http://www.mediacomputation.org
SoupAudio
Collage
Alice and Media Computation
Teaching computing
concepts in Alice
first and then
covering the same
concepts in Java
with Media
Computation
http://home.cc.gatec
h.edu/TeaParty
Tips for Teaching - Recursion
Introduce in Alice
Show realistic uses in
Media Computation
Race method
Towers of Hanoi
Broccoli tree
Triangle subdivision
Directory tree
Show the call stack for
each method call
Tips for Teaching - OO
Role play
Restaurant scenario
You need a customer, greeter, waiter, chef, cashier
Walk through the task of getting a person fed
Who does the action?
What data does s/he need to do the job
How do you classify the objects?
GridWorld role play from David Levine and Steve
Andrianoff of St. Bonaventure University
http://www.cs.sbu.edu/dlevine/RolePlay/roleplay.html
Tips for Teaching - Abstract
Tips for Teaching - Interfaces
Explain the Comparable and
List interfaces
Use the example of spies
that need to communicate
Without knowing who they
are communicating with
Explain that it allows you to
substitute one class for
another
As long as the classes
implement the same
interface.
Substitute ArrayList or
Vector or LinkedList
Techniques for Teaching
Kinesthetic
CS Unplugged
Kinesthetic Learning Activities
Toys
Play-dough and cookie cutters for creating objects
Construct a pass for students to leave the room
See-N-Say for polymorphism
Weekly pill containers for 1-D arrays
Battleship or egg cartons for 2-D arrays
Covered cups with beans for sorting algorithms
CS Unplugged
Free materials for teaching computing
concepts without a computer
http://csunplugged.org/
Binary Numbers
Network Deadlocks
Kinesthetic Learning Activities
Techniques for teaching
using kinesthetic
activities from Un of
California, Berkeley
http://ws.cs.ubc.ca/~kla/
Flowchart Hopscotch
Human Binary Tree
Network Routing on
Strings