180 likes | 320 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
E N D
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.gatech.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 - 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