Tools, Tips, and Techniques for Teaching Difficult Computing Concepts
description
Transcript of Tools, Tips, and Techniques for Teaching Difficult Computing Concepts
![Page 1: Tools, Tips, and Techniques for Teaching Difficult Computing Concepts](https://reader036.fdocuments.us/reader036/viewer/2022062323/56816790550346895ddcc0c8/html5/thumbnails/1.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062323/56816790550346895ddcc0c8/html5/thumbnails/2.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062323/56816790550346895ddcc0c8/html5/thumbnails/3.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062323/56816790550346895ddcc0c8/html5/thumbnails/4.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062323/56816790550346895ddcc0c8/html5/thumbnails/5.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062323/56816790550346895ddcc0c8/html5/thumbnails/6.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062323/56816790550346895ddcc0c8/html5/thumbnails/7.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062323/56816790550346895ddcc0c8/html5/thumbnails/8.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062323/56816790550346895ddcc0c8/html5/thumbnails/9.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062323/56816790550346895ddcc0c8/html5/thumbnails/10.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062323/56816790550346895ddcc0c8/html5/thumbnails/11.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062323/56816790550346895ddcc0c8/html5/thumbnails/12.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062323/56816790550346895ddcc0c8/html5/thumbnails/13.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062323/56816790550346895ddcc0c8/html5/thumbnails/14.jpg)
Tips for Teaching - Abstract
![Page 15: Tools, Tips, and Techniques for Teaching Difficult Computing Concepts](https://reader036.fdocuments.us/reader036/viewer/2022062323/56816790550346895ddcc0c8/html5/thumbnails/15.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062323/56816790550346895ddcc0c8/html5/thumbnails/16.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062323/56816790550346895ddcc0c8/html5/thumbnails/17.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062323/56816790550346895ddcc0c8/html5/thumbnails/18.jpg)
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