Tools, Tips, and Techniques for Teaching Difficult Computing Concepts

aniseedsplashSoftware and s/w Development

Aug 15, 2012 (5 years and 29 days ago)

359 views


Tools, Tips, and Techniques for
Teaching Difficult Computing
Concepts

Barbara Ericson

Georgia Tech

ericson@cc.gatech.edu

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
object
-
oriented
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


Soup
-
Audio
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


Race method


Towers of Hanoi


Show realistic uses in
Media Computation


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