tools, tips, and techniques for teaching difficult computing concepts

18
Tools, Tips, and Techniques for Teaching Difficult Computing Concepts Barbara Ericson Georgia Tech [email protected] http://coweb.cc.gatech.edu/ ice-gt

Upload: makya

Post on 25-Feb-2016

39 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Tools, Tips, and Techniques for Teaching Difficult Computing Concepts

Tools, Tips, and Techniques for Teaching Difficult Computing Concepts

Barbara EricsonGeorgia Tech

[email protected]://coweb.cc.gatech.edu/ice-gt

Page 2: Tools, Tips, and Techniques for Teaching Difficult Computing Concepts

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

Page 3: Tools, Tips, and Techniques for Teaching Difficult Computing Concepts

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

Page 4: Tools, Tips, and Techniques for Teaching Difficult Computing Concepts

Scratch Free software from MIT for

creating 2D animations and games http://scratch.mit.edu

Page 5: Tools, Tips, and Techniques for Teaching Difficult Computing Concepts

Alice 2.2 Free software from CMU for creating

3D movies and games http://www.alice.org

Page 6: Tools, Tips, and Techniques for Teaching Difficult Computing Concepts

Alice 3.0 Beta Free software from

CMU for creating 3D movies and games http://www.alice.or

g Includes the

Electronic Arts Sims characters

Can import into Netbeans IDE as Java code

Page 7: Tools, Tips, and Techniques for Teaching Difficult Computing Concepts

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 Universityhttp://www.javabat.com/

Page 8: Tools, Tips, and Techniques for Teaching Difficult Computing Concepts

GridWorld Advanced

Placement Computer Science Case Study Example of a larger

program for students to learn from

Used to teach object-oriented concepts

Page 9: Tools, Tips, and Techniques for Teaching Difficult Computing Concepts

Greenfoot Free software

from the Un. of Kent and Deakin Un. for building 2D simulations and games in Javahttp://www.greenfoot.org

Can do Karel the Robot and GridWorld in Greenfoot

Page 10: Tools, Tips, and Techniques for Teaching Difficult Computing Concepts

Media Computation Writing textual

programs to manipulate media

http://www.mediacomputation.org

Soup-Audio Collage

Page 11: Tools, Tips, and Techniques for Teaching Difficult Computing Concepts

Alice and Media Computation Teaching computing

concepts in Alice first and then covering the same concepts in Java with Media Computation http://

home.cc.gatech.edu/TeaParty

Page 12: Tools, Tips, and Techniques for Teaching Difficult Computing Concepts

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

Page 13: Tools, Tips, and Techniques for Teaching Difficult Computing Concepts

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 Universityhttp://www.cs.sbu.edu/dlevine/RolePlay/

roleplay.html

Page 14: Tools, Tips, and Techniques for Teaching Difficult Computing Concepts

Tips for Teaching - Abstract

Page 15: Tools, Tips, and Techniques for Teaching Difficult Computing Concepts

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

Page 16: Tools, Tips, and Techniques for Teaching Difficult Computing Concepts

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

Page 17: Tools, Tips, and Techniques for Teaching Difficult Computing Concepts

CS Unplugged Free materials for teaching

computing concepts without a computer http://csunplugged.org/

Binary NumbersNetwork Deadlocks

Page 18: Tools, Tips, and Techniques for Teaching Difficult Computing Concepts

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