talkCRAWsigcse09

advertisement
Teaching Strategies and Learning Styles
CRA-W Workshop
March 4, 2009
Susan Rodger
Professor of the Practice
Duke University
www.cs.duke.edu/~rodger
Outline
• About Me and my teaching path
• Learning Styles
• Teaching Strategies
– Preparation for class
– Group dynamics
– Activities w/o computer
– Activities w/ computer
• JAWAA
• JFLAP
Who Am I - Personally?
Spouse
Mother
Hobby – Baking Shape cakes, cookies
How do you make those cakes?
What path did I take?
PhD, 1989
Computer Science
Assistant Prof.
1989-1994
Assistant Prof. Of Practice
1994-1997
Associate Prof. Of Practice
1997-2008
Professor of the Practice
2008-present
Along the way, Duke’s been great!
• Virtual Prof (bedrest) - Fall
1996
• Maternity leave – Spring 1997
• Virtual Prof (bedrest) – Fall
1999
• Maternity leave – Spring 2000
• ¾ time for five years – Fall
2000-Spring 2005
• “Leave” Fall 2004 – writing
books
What is Professor “of the Practice”?
• Position exists in many departments at Duke
– About 20% of Arts and Sciences Faculty
•
•
•
•
•
PhD preferred, or appropriate professional experience
Non-tenure track, permanent position, promotable
Renewable contracts (4 –8 yrs)
Focus on “education in the discipline”
Main tasks
– Teaching (2 courses per semester)
– Research (related to education)
– Service, advising
How do Prof of Practice differ from
regular rank faculty in CS?
• Teach 2 courses/semester vs 1 course/semester
• Focus on undergrad curriculum, first two years
• Teach intro courses
– Other grad and undergrad courses too
• Supervise undergraduates more than grad. studs.
• Attend faculty meetings
– Vote on everything except tenure decisions
• No sabbatical, instead apply for Dean’s leave
• Salary is similar!
• Write grants – CS education or education part of
research grant
My Research Interests
• Computer Science Education
• Visualization and Interaction
– Instructional Tools for Theoretical concepts
• Automata theory and formal languages
• Algorithm Animation
Three NSF Projects I’m involved in
• JFLAP
– Software for automata theory
– Study with 14 universities
• The Alice project
– Create 3D virtual worlds
– Teaching programming nonmajors college
– Teaching to K-12 – 6 regional
sites, $1.3 Million
• Peer Led Team Learning
– Students teaching students
– 8 universities, 4 year grant
– Women and minorities
Learning Styles
• Different people learn differently
• Various ways to categorize learning styles
– Visual
– Auditory
– Read/Write
– Kinesthetic/Tactile
• Most people have multiple styles
Visual Learners
• Learn by seeing
• Like pictures,
diagrams, body
language
• Appreciate use of
color,
highlighting
Auditory Learners
• Learn by listening
• Like lectures, discussions
• Attuned to oral queues
(tone of voice, pitch,
speed)
• Can benefit from reading
aloud, using a tape
recorder, explaining ideas
to others
Read/Write Learners
• Learn by reading and writing (textual
learner)
• Like to read words or numbers rather
than be told or see diagrams
• Like lists, essays, dictionaries,
glossaries, manuals
• Most successful academics are
read/write learners; most students
are not!
Kinesthetic Learners
• Learn by doing, moving,
touching
• Like hands-on approach and
real-world examples: labs, case
studies, field trips
• May need breaks during lecture
• May find chewing gum,
listening to music helpful while
studying
Style != Ability
• Non read/write learners may have excellent
reading/writing skills
• Non-visual learners may enjoy visual
experiences and activities
How do you reach all types?
Provide pictures, diagrams and text
Discuss what you are doing
Provide activities for trying it
Teach me my most difficult concepts in my preferred style
Let me explore my easiest concepts in a different style
Just don’t teach me all the time in your preferred style
and think I’m not capable of learning.
Virleen Carlson,
Center for Teaching and Learning
Cornell University
Teaching Strategies
Preparation for class
Get to know your students!
• Get their picture
– Pass around a camera the first day
– Registrar photo lists
• Assigned Seating
• Calling on students
– Pick-a-student system (rotate thru their pictures)
Interactive Lecture
• Lecture for 10-20 minutes
• Students solve a problem
– Solve problem from scratch (longer)
– Find what is wrong with a “solution” (shorter)
• Discuss solution
– Ask how many did X? (gets students involved)
– Give a possible solution (shorter)
– Student present solution (longer)
• REPEAT
Interactive Lecture Notes and Handouts
• Create 4 versions of my lecture
– Slides with holes
– Handouts with holes
– My notes – holes filled in
– Library notes (handouts with holes filled in)
• Don’t give out any more
How to create Lecture notes
• Latex – 1 file with tags
– %M – my notes only
– %S – slides and handout
– %SO – slides only
– %LH – library notes, my notes and handout
– Etc..
• Powerpoint
– Use notes feature, print slides 4 per page
• Tablet PC
– Different views
Interactive Lecture with Computers
OR Interactive Lab
• Lecture for 1020 minutes
• Students work
on problem
with computers
• Bring students
back together
Room Layout with Computers
• 20 computers, 40 students
• Extra desks for group work
• Advantage: see what students are doing
Say help with a Beanie
Thanks to Robert Duvall
Teaching Strategies
Group Dynamics
• Work with large or small classes
Divide Students into Groups
• Random assignment
– Count off and assign groups on the spot
– Assign in advance, bring in seating chart
– Change groups every 2-3 weeks
• Students work on problems during class in
groups
– Short (2 min) or long problems (20 min)
Advantages to Random Groups Large
or Small classes
• Students help each other
• Students are more confident to answer
questions – not feeling alone
• Students present different solutions
• Students meet other students
• Less work to grade for you
• Can pass graded work back quickly
– Sort it by groups first
Groups in Lab - Pair Programming
• Work in pairs
• Responsibilities
– One person is driver
– One person is navigator
• “Pair Programming
Illuminated” by Williams
and Kessler, 2003
Peer-Led Team Learning
• Related to a course
– Students solve problems in small groups (4-8
students) weekly in addition to regular class meeting
– Interesting exercises to be solved as a group
– Led by trained undergraduate student leaders who
facilitate group learning
•
•
•
•
Used in Chemistry for about 12 years
Now in computer science: www.pltlcs.org
Beneficial to both students and student leaders
SIGCSE 2009 paper – Horwitz, Rodger
Cone of Learning
(Edgar Dale)
PLTL Effects on Students
•
•
•
•
•
Better/deeper understanding of material
Lower drop rates
Better grades (usually)
Formation of social groups
Very high satisfaction
PLTL Effects on Peer Leaders
• Better understanding of the material
• Increased confidence to continue in CS
• Appreciation for different teaching /learning
styles
• Improved leadership skills
• Collegial relationship with faculty
Teaching Strategies
Activities Without a Computer
Get creative in bringing hands-on
activities into the classroom
•
Interaction in Class – Props
Passing “Parameters” in Class
• Pass by reference –
throw frisbee
• Pass by value – throw
copy of frisbee
• Pass by const
reference – throw
“protected” frisbee
Interaction in Class – Props
Linked List and Memory Heaps
ITiCSE 98 – Astrachan – “Concrete Teaching: Hooks and Props as
Instructional Technology
Interaction in Class – Props
Memory Heap
Be a Robot
• 4 People
– Controller (head)
– Sensors (eyes)
– Manipulators (2 hands)
• Blindfolded except eyes
• Controller knows what
to build
• Limited communication
SIGCSE 96, Rodger,Walker
Sorting Over 100 Words
• An envelope with over
100 words, each word on
one slip of paper
• Sort the words
• Write down the
algorithm
• Early assignment, before
sorting is covered
anchor
physiotherapist
pathetic
bootstrapped
acrimonious
polarization
firecracker
palindrome
observatory
controversial
orchestrate
statistician
confrontation
scrumptious
revolutionary
…
Interaction with Class
Binary Tree and Recursion
• Build a binary tree
– Pick a root
– Root picks two children – point at them
– Repeat until everyone is part of the tree
• Recursively calculate height of tree
– Start at root
– Ask children their height
– Leaf notes know their height is 0
SIGCSE 2002 – Wolfman – “Making Lemonade: Exploring the
Bright Side of Large Lecture Classes
Interaction in Class – Props
Edible Turing Machine
• TM for f(x)=2x
where x is
unary
• TM is not
correct, can
you fix it? Then
eat it!
• States are
blueberry
muffins
Students building DFA with cookies
and icing
The Smart Waitress vs Customer
• Four cups on a revolving tray
(each up or down)
• Waitress blindfolded and wears
boxing gloves
• Goal is to turn all cups up
• Game – Repeat:
– W turns 1-4 cups
• If all up wins
– Customer rotates tray 0, 90, 180 or
270 degrees
• Is there a winning strategy?
– This is a DFA problem
From an old EATCS bulletin
Teaching Strategies
Activities With a Computer
• Using software to teach concepts during lecture
• Will illustrate with software I use in lecture
• JAWAA
• JFLAP
The Role of Visualization and
Engagement
• Working Group ITiCSE 2002 (Naps et al)
• Six Levels of Learner Engagement
1. No Viewing
2. Viewing
3. Responding
4. Changing
5. Constructing
6. Presenting
• Hypothesis: 1 and 2 equivalent, higher the
number, better learning outcomes
What is JAWAA?
•
•
•
•
Scripting Language for Animation
Easily create, modify and move objects
Runs over the web, no need to install
More Advanced Students
•
•
Output JAWAA Command from Program
Animate Data Structures Easily
• SIGCSE 2003 and SIGCSE 1998
• www.cs.duke.edu/~rodger/tools/
• Students: Pierson, Patel, Finley, Akingbade,
Jackson, Gibson, Gartland
Related Work
• Samba, Jsamba - Stasko (Georgia Tech)
• AnimalScript – Roessling (Darmstadt Univ
of Tech, SIGCSE 2001)
• JHAVE – Naps (U. Wisc. Oshkosh, SIGCSE
2000)
• Lots of animations and systems on the
web!
JAWAA Commands
circle cl 30 20 60 blue red
moveRelative c1 60 0
move right
moveRelative c1 0 50
move down
changeParam c1 bkgrd blue
JAWAA Primitives
circle
rectangle
line
oval
polygon
text
JAWAA Data Structures
Array
JAWAA Data Structures
• Stack
• Queue
JAWAA Data Structures
• Linked List
• Trees
Instructor Use of JAWAA in CS 1/2
• Use JAWAA Editor to make quick animations for
lecture
•
Fast - 4-8 minutes each animations, Fall 2002 CS 2 Course
• Create quick animation of data structure in an
existing program, add JAWAA commands as
output
• Show web pages with JAWAA animations in
lecture
• Students replay animations later
Instructor Animations for CS 2 Lecture
•
•
•
•
•
•
How Pointers Work in Memory
Recursion
Shellsort
Linked List - Insert at the Front
Quadratic Collision Resolution
Build Heap and Heapsort
Overview of JFLAP
• Java Formal Languages and Automata
Package
• Instructional tool to learn concepts of
Formal Languages and Automata Theory
• SIGCSE 2006 and SIGCSE 2009
• www.jflap.org
What is JFLAP?
Regular languages – create
• DFA
• NFA
• regular grammar
• regular expression
Regular languages - conversions
• NFA to DFA to Min DFA
• NFA to reg grammar to NFA
• NFA to reg expr to NFA
What is JFLAP? (cont)
CFL - create
• pushdown automaton
• context-free grammar
CFL - transform
• PDA to CFG
• CFG to NPDA (LL parse)
• CFG to NPDA (SLR parse)
• CFG to CNF
• CFG to LL Parse table and parser
• CFG to SLR Parse table and parser
• CFG to brute force parser
What is JFLAP? (cont)
Recursively enumerable languages
• Turing machine (one-tape)
• Turing machine (multi-tape)
• unrestricted grammar
• brute force parser
L-Systems
• Create L-Systems
Thanks to Students - Worked on JFLAP
and Automata Theory Tools
• NPDA - 1990, C++, Dan Caugherty
• FLAP - 1991, C++, Mark LoSacco, Greg Badros
• JFLAP - 1996-1999, Java version
Eric Gramond, Ted Hung, Magda and Octavian Procopiuc
• Pâté, JeLLRap, Lsys
Anna Bilska, Jason Salemme, Lenore Ramm, Alex
Karweit, Robyn Geer
• JFLAP 4.0 – 2003, Thomas Finley, Ryan Cavalcante
• JFLAP 6.0 – 2005-2008 Stephen Reading, Bart Bressler,
Jinghui Lim, Jason Lee, Chris Morgan, Jonathan Su
Why study finite automata?
• Application: Compiler
• Compiler identifies your syntax errors
• Can write a big DFA to identify all words in a
Java program
– integers, doubles, boolean
– keywords, variable names
– arithmetic operators, punctuation symbols
Why Develop Tools for Automata?
Textual
Tabular
Visual
Interactive
Finite Automata Editing
and Simulation
• The most basic feature of JFLAP has
always been the creation of automata,
and simulation of input on automata.
• Here we demonstrate the creation and
simulation on a simple NFA.
FA Edit & Simulation
Start up JFLAP
• When we start up
JFLAP we have a
choice of structures.
• The first of these is
the Finite Automata!
FA Edit & Simulation
Start Editing!
• We start with an
empty
automaton editor
window.
FA Edit & Simulation
Create States
• We create
some states ...
FA Edit & Simulation
Create Transitions
• We create some
transitions ...
FA Edit & Simulation
Initial and Final State
• We set an initial
and final state.
• Now we can
simulate input on
this automaton!
FA Edit & Simulation
Input to Simulate...
• When we say we want to simulate input on
this automaton, a dialog asks us for the input.
FA Edit & Simulation
Start Simulation!
• When simulation
starts, we have a
configuration on the
initial state with all
input remaining to
be processed.
FA Edit & Simulation
After One Step
• This is a
nondeterministic
FA, and on this
input we have
multiple
configurations
after we “Step.”
FA Edit & Simulation
After Two Steps
• The previous
configurations on q1
and q2 are rejected,
and are shown in red.
• The remaining
uncolored
configurations paths
are not rejected, and
are still open.
FA Edit & Simulation
After Three Steps
• Yet another step.
FA Edit & Simulation
After Four Steps
• One of the final
configurations
has been
accepted!
FA Edit & Simulation
Traceback
• One can then see a
traceback to see the
succession of
configurations that
led to the accepting
configuration.
FA Multiple Run
• Select Multiple
Run
• One can then
enter many
strings and
receive
acceptance info.
Using JFLAP during Lecture
• Use JFLAP to build examples of automata or
grammars
• Use JFLAP to demo proofs
• Load a JFLAP example and students work in
pairs to determine what it does, or fix it if it is
not correct.
Use of JFLAP by Instructor
Showing how to layout items
Poor:
Better:
Use of JFLAP by Instructor
Is this correct for anbncn?
How do we fix it?
Use of JFLAP by Instructor
Experimenting with Difficult Concepts
Nondeterminism: wwR
• Students attempt at desk difficult: want to find the “middle”
• Instructor builds with class using JFLAP
Use of JFLAP by Instructor
Testing Student Programs
JFLAP’s use Outside of Class
• Use with Homework problems
– Turn in JFLAP files
– OR turn in on paper, check answers in JFLAP
• Recreate examples from class
• Work additional problems
– Receive immediate feedback
Additional References
• Astrachan, Forbes, Duvall and Rodger, “Active
Learning in Small to Large Courses”, FIE 2002.
• Rodger, An Interactive Lecture Approach to
Teaching Computer Science, SIGCSE 1995.
• Smith, The Craft of Teaching Cooperative
Learning, An Active Learning Strategy, FIE
1989
Conclusion
• Incorporate props into your
teaching
• Consider interactive lectures
– assign students to random groups
• Consider instructional
software/animations in your
lectures
• Consider Peer-led team
learning
• Go to SIGCSE every year!
– Lots of people are doing active
learning
Download