Teaching Strategies and Learning Styles
CRA-W WorkshopFeb 23, 2005
Susan RodgerAssociate Professor of the Practice
Duke Universitywww.cs.duke.edu/~rodger
Outline
• Who I am and What I do• Learning Styles• Teaching Strategies
– Preparation for class– Group dynamics– Activities w/o computer– Activities w/ computer
Who Am I - Personally?Spouse Mother
Hobby – Baking Shape cakes, cookies
How do you make those cakes? What path did I take?PhD, 1989Computer Science
Assistant Prof.1989-1994
Assistant Prof. Of Practice1994-1997Associate Prof. Of Practice1997-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 Associate Professor “of the Practice”?
• Position exists in many departments at Duke• 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 Projects I’m involved in• JFLAP
– Software for automata theory– Study with 11 universities
• The Alice project– Teaching programming to
non-majors– Create 3D virtual worlds
• Emerging scholars project– 8 universities, 4 year grant– Women and minorities
Learning Styles
• Visual Learners– Learn through seeing– Learn best from visual displays
• Auditory Learners– Learn through listening– Learn best through verbal lectures, discussions
• Kinesthetic Learners– Learn through moving, doing and touching– Learn best through hands-on approach
How do you reach all three types?
• You must do all three!– Provide pictures, diagrams– Discuss what you are doing– Provide activities for trying it
Teaching StrategiesPreparation 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 ComputersOR Interactive Lab
• Lecture for 10-20 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 StrategiesGroup 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
Teaching StrategiesActivities Without a Computer
• Get creative in bringing hands-on activities into the classroom
Interaction in Class – PropsPassing “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 – PropsLinked List and Memory Heaps
ITiCSE 98 – Astrachan – “Concrete Teaching: Hooks and Props asInstructional 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
anchorphysiotherapistpatheticbootstrappedacrimoniouspolarizationfirecrackerpalindromeobservatorycontroversialorchestratestatisticianconfrontationscrumptiousrevolutionary…
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 – PropsEdible 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?
From an old EATCS bulletin
Teaching StrategiesActivities 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
6. Presenting5. Constructing
4. Changing3. Responding
2. Viewing1. No Viewing
• Hypothesis: 1and 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• Students: Pierson, Patel, Finley, Akingbade,
Jackson
Related Work
• Samba, Jsamba - Stasko (Georgia Tech)• AnimalScript – Roessling (Darmstadt Univ
of Tech, SIGCSE 2001)• JHAVE – Naps (U. Wisc. Oshkosh,
SIGCSE 2000)
JAWAA Commands
changeParam c1 bkgrd blue
move downmoveRelative c1 0 50
move rightmoveRelative c1 60 0
circle cl 30 20 60 blue red
JAWAA Primitives
text
polygon
oval
line
rectangle
circle
JAWAA Data StructuresArray
JAWAA Data Structures• Stack
• Queue
JAWAA Data Structures• Linked List
• Trees
JAWAA Editor• Easily create
animations• Graphically layout
primitives• Modify across time• No knowledge of
JAWAA• Export to JAWAA file• Start with JAWAA
editor, finish with JAWAA output from program
Making an Animation with the JAWAA editor
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
JAWAA w/o Editor vs EditorNonmajors course
Spring 2001No JAWAA Editor
Fall 2002Using JAWAA Editor
What is JFLAP? SIGCSE 2004
Java Formal Languages and Automata PackageInstructional tool to learn theory
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
CFL - transform
• pushdown automaton• context-free grammar
• 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
L-Systems
• Turing machine (one-tape)• Turing machine (multi-tape)• unrestricted grammar
• brute force parser
• Create L-Systems
Previous Work on Automata Tools by Others
Snapshots – Ross (2002+)
Models of Computation –Taylor (1998), 7 models, Deus Ex Machina by Savoiu
Turing’s World Barwise and Etchemendy (1993)
Why Develop Tools for Automata?
Interactive
Visual
Tabular
Textual
Why Develop Tools for Automata?Examined 10 AutomataTextbooks
• One had software with book• Only 6 had pictures of PDA, 2 or 3 states• Only 6 had pictures of Turing machines,
three of those switched representation• Only 2 had picture of CFG to NPDA• None had picture of parse tree for
unrestricted grammar
Finite Automata Editingand 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 & SimulationStart up JFLAP
•When we start up JFLAP we have a choice of structures.•The first of these is the Finite Automata!
FA Edit & SimulationStart Editing!
•We start with an empty automaton editor window.
FA Edit & SimulationCreate States
•We create some states ...
FA Edit & SimulationCreate Transitions
•We create some transitions ...
FA Edit & SimulationInitial and Final State
•We set an initial and final state.•Now we can simulate input on this automaton!
FA Edit & SimulationInput to Simulate...
•When we say we want to simulate input on this automaton, a dialog asks us for the input.
FA Edit & SimulationStart Simulation!
•When simulation starts, we have a configuration on the initial state with all input remaining to be processed.
FA Edit & SimulationAfter One Step
•This is a nondeterministic FA, and on this input we have multiple configurations after we “Step.”
FA Edit & SimulationAfter 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 & SimulationAfter Three Steps
•Yet another step.
FA Edit & SimulationAfter Four Steps
•One of the final configurations has been accepted!
FA Edit & SimulationTraceback
•One can then see a traceback to see the succession of configurations that led to the accepting configuration.
RE to FA
New approach starts with a single RE transition in a GTG, and recursively
breaks RE transitions into normal FA transitions until the GTG becomes an
FA.
Use of JFLAP by InstructorShowing 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 InstructorExperimenting with Difficult Concepts
Nondeterminism: wwR
•Students attempt at desk -difficult: want to find the “middle”
•Instructor solves with class using JFLAP
Use of JFLAP by InstructorTesting Student Programs
Use of JFLAP by InstructorRelate to other CS Concepts
•Consider anbncn
–one-tape TM O(n2)–two-tape TM O(n)
Running Time
Other Uses of JFLAP by Instructor
•Demonstrate Nondeterminism•Demonstrate the running of a CFG to a PDA using LR method
Which lookahead do you choose?•Demonstrate a transformation from one form to another
Example: PDA to CFG•And many other uses...
JFLAP Student Use
•Recreate and experiment with instructor’s examples•Use with Homework•A study aid - create additional examples–explore concepts in depth–weaker students get more 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• Go to SIGCSE every year!
– Lots of people are doing active learning
Top Related