teaching strategies learning styles - duke computer …rodger/talks/craw09/talkcrawsigcse09.pdf ·...

84
Teaching Strategies and Learning Styles CRA WW kh CRAWW orkshop March 4, 2009 Susan Rodger Susan Rodger Professor of the Practice Duke University Duke University www.cs.duke.edu/~rodger

Upload: dothu

Post on 10-Apr-2018

215 views

Category:

Documents


2 download

TRANSCRIPT

Teaching Strategies and Learning StylesCRA WW k hCRA‐W WorkshopMarch 4, 2009

Susan RodgerSusan RodgerProfessor of the Practice

Duke UniversityDuke Universitywww.cs.duke.edu/~rodger

OutlineOutline

• About Me and my teaching pathy g p

• Learning Styles

• Teaching Strategies• Teaching Strategies– Preparation for class

– Group dynamics

– Activities w/o computer

– Activities w/ computer• JAWAA

• JFLAP

Who Am I ‐ Personally?S M thSpouse 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‐20081997 2008Professor of the Practice2008‐present

Along the way, Duke’s been great!

• Virtual Prof (bedrest) ‐ Fall 19961996

• Maternity leave – Spring 1997

Vi t l P f (b d t) F ll• Virtual Prof (bedrest) – Fall 1999

• Maternity leave – Spring 2000

• ¾ time for five years – Fall 2000‐Spring 2005

• “Leave” Fall 2004 – writingLeave  Fall 2004  writing books

What is  Professor “of the Practice”?

• Position exists in many departments at DukeAbout 20% of Arts and Sciences Faculty– About 20% of Arts and Sciences Faculty

• PhD preferred, or appropriate professional experience

• Non tenure track permanent position promotable• Non‐tenure track, permanent position, promotable

• Renewable contracts (4 –8 yrs)

• Fo s on “ed ation in the dis ipline”• Focus on “education in the discipline”

• Main tasksT hi (2 t )– Teaching (2 courses per semester)

– Research (related to education)

– Service advisingService, advising

How do Prof of Practice differ from l k f lt i CS?regular rank faculty in CS?

• Teach 2 courses/semester vs 1 course/semester• 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.A d f l i• Attend faculty meetings– Vote on everything except tenure decisions

• No sabbatical, instead apply for Dean’s leaveNo sabbatical, instead apply for Dean s leave• Salary is similar!• Write grants – CS education or education part of 

hresearch grant

My Research InterestsMy Research Interests

• Computer Science EducationComputer Science Education

• Visualization and InteractionI t ti l T l f Th ti l t– Instructional Tools for Theoretical concepts 

• Automata theory and formal languages

Al ith A i ti• 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 non‐majors collegej g

– Teaching to K‐12 – 6 regional sites, $1.3 Million

P L d T L i• Peer Led Team Learning– Students teaching students– 8 universities, 4 year grant8 universities, 4 year grant– Women and minorities

Learning StylesLearning Styles

• Different people learn differentlyDifferent people learn differently

• Various ways to categorize learning stylesVi l– Visual

– Auditory

/– Read/Write

– Kinesthetic/Tactile

• Most people have multiple styles

Visual LearnersVisual Learners

• Learn by seeingLearn by seeing

• Like pictures, diagrams bodydiagrams, body language

A i f• Appreciate use of color, hi hli h ihighlighting

Auditory LearnersAuditory Learners

• Learn by listeningLearn by listening• Like lectures, discussions• Attuned to oral queues• Attuned to oral queues (tone of voice, pitch, speed)speed)

• Can benefit from reading aloud, using a tapealoud, using a tape recorder, explaining ideas to others

Read/Write LearnersRead/Write Learners

• Learn by reading and writing (textualLearn by reading and writing (textual learner)

• Like to read words or numbers ratherLike to read words or numbers rather than be told or see diagrams

• Like lists, essays, dictionaries,Like lists, essays, dictionaries, glossaries, manuals

• Most successful academics areMost successful academics are read/write learners; most students are not!

Kinesthetic LearnersKinesthetic Learners

• Learn by doing, moving,Learn by doing, moving, touching

• Like hands‐on approach andLike hands on approach and real‐world examples: labs, case studies, field trips

• May need breaks during lecture• May find chewing gum,May find chewing gum, listening to music helpful while studying

Style != AbilityStyle !  Ability

• Non read/write learners may have excellentNon read/write learners may have excellent reading/writing skills

• Non visual learners may enjoy visual• Non‐visual learners may enjoy visual experiences and activities

How do you reach all types?How do you reach all types?Provide pictures, diagrams and textDi h t d iDiscuss what you are doingProvide activities for trying it

Teach me my most difficult concepts in my preferred styleL t l i t t i diff t t lLet me explore my easiest concepts in a different styleJust don’t teach me all the time in your preferred styleand think I’m not capable of learning.p g

Virleen Carlson,Center for Teaching and LearningCenter for Teaching and LearningCornell University

Teaching Strategiesf lPreparation for class

Get to know your students!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 LectureInteractive Lecture 

• Lecture for 10‐20 minutesLecture for 10 20 minutes• Students solve a problem

– Solve problem from scratch (longer)Solve problem from scratch (longer)– Find what is wrong with a “solution” (shorter)

• Discuss solutionDiscuss solution– Ask how many did X? (gets students involved)– Give a possible solution (shorter)Give a possible solution (shorter)– Student present solution (longer)

• REPEATREPEAT

Interactive Lecture Notes and Handouts

• Create 4 versions of my lecture– Slides with holes

– Handouts with holes

– My notes – holes filled inMy notes  holes filled in

– Library notes (handouts with holes filled in)• Don’t give out any moreDon 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 ComputerspOR Interactive Lab

• Lecture for 10‐20 minutes

• Students work on problemon problem with computers

• Bring students• Bring students back together 

Room Layout with Computers• 20 computers, 40 students

• Extra desks for group work• Extra desks for group work

• Advantage: see what students are doing

Say help with a BeanieSay help with a Beanie

Thanks to Robert Duvall

Teaching StrategiesGroup Dynamics

• Work with large or small classesWork with large or small classes

Divide Students into GroupsDivide Students into Groups

• Random assignmentRandom assignment– Count off and assign groups on the spot

Assign in advance bring in seating chart– Assign in advance, bring in seating chart

– Change groups every 2‐3 weeks

St d t k bl d i l i• Students work on problems during class in groups– Short (2 min) or long problems (20 min)

Advantages to Random Groups Large ll lor Small classes

• Students help each otherStudents help each other• Students are more confident to answer questions – not feeling alonequestions  not feeling alone

• Students present different solutions• Students meet other students• Students meet other students• Less work to grade for youC d d k b k i kl• Can pass graded work back quickly– Sort it by groups first

Groups in Lab ‐ Pair Programming

• Work in pairs

• Responsibilities– One person is driverp

– One person is navigator

• “Pair ProgrammingPair Programming Illuminated” by Williams and Kessler 2003and Kessler, 2003

Peer‐Led Team LearningPeer Led Team Learning

• Related to a courseRelated to a course– Students solve problems in small groups (4‐8 students) weekly in addition to regular class meeting) y g g

– 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( d l )(Edgar Dale)

PLTL Effects on StudentsPLTL Effects on Students

• Better/deeper understanding of materialBetter/deeper understanding of material

• Lower drop rates

d ( ll )• Better grades (usually)

• Formation of social groups

• Very high satisfaction

PLTL Effects on Peer LeadersPLTL Effects on Peer Leaders

• Better understanding of the materialBetter understanding of the material

• Increased confidence to continue in CS

i i f diff hi /l i• Appreciation for different teaching /learning styles

• Improved leadership skills

• Collegial relationship with facultyg p y

Teaching StrategieshActivities Without a Computer

• Get creative in bringing hands‐on activities into the classroomactivities into the classroom

Interaction in Class – Props“ ” lPassing “Parameters” in Class

• Pass by reference –throw frisbee

• Pass by value – throw ycopy of frisbee

• Pass by const reference – throw “protected” frisbee

Interaction in Class – PropsLinked List and Memory HeapsLinked 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, g ,

Sorting Over 100 Words

• An envelope with over 100 words each word on

anchorphysiotherapistpatheticbootstrapped100 words, each word on 

one slip of paper

• Sort the ords

bootstrappedacrimoniouspolarizationfirecracker

• Sort the words

• Write down the 

palindromeobservatorycontroversialorchestrate

algorithm

• Early assignment, before 

orchestratestatisticianconfrontationscrumptious

l tisorting is covered

revolutionary…

Interaction with Class Bi T d R iBinary Tree and Recursion

• Build a binary tree– Pick a root– Root picks two children – point at themRoot picks two children  point at them– Repeat until everyone is part of the tree

• Recursively calculate height of treeStart at root– 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 MachineEdible Turing Machine

• TM for f(x)=2x where x iswhere x is unary

• TM is not correct, can you fix it? Then yeat it!

St t• States are blueberry muffins

Students building DFA with cookies dand 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 t 1 4– 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– This is a DFA problem

From an old EATCS bulletin

Teaching StrategieshActivities With a Computer

• Using software to teach concepts during lecture

• Will illustrate with software I use in lecture• JAWAAJAWAA• JFLAP

The Role of Visualization and Engagement

• Working Group ITiCSE 2002 (Naps et al)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

• H th i 1 d 2 i l t hi h th• Hypothesis: 1 and 2 equivalent, higher the number, better learning outcomes

What is JAWAA?What is JAWAA?

• Scripting Language for Animation• Easily create, modify and move objects

R th b d t i t ll• Runs over the web, no need to install• More Advanced Students

• Output JAWAA Command from Programp g• Animate Data Structures Easily

• SIGCSE 2003 and SIGCSE 1998• www cs duke edu/~rodger/tools/• www.cs.duke.edu/ rodger/tools/• Students: Pierson, Patel, Finley, Akingbade, 

Jackson, Gibson, Gartland

Related WorkRelated Work

• Samba, Jsamba ‐ Stasko (Georgia Tech)

• AnimalScript – Roessling (Darmstadt UnivAnimalScript Roessling (Darmstadt Univof Tech, SIGCSE 2001)

• JHAVE – Naps (U Wisc Oshkosh SIGCSE• JHAVE  Naps (U. Wisc. Oshkosh, SIGCSE 2000)

• Lots of animations and s stems on the• Lots of animations  and systems on the web!

JAWAA CommandsJAWAA Commands

circle cl 30 20 60 blue red

moveRelative c1 60 0 move right

R l ti 1 0 50 dmoveRelative c1 0 50 move down

changeParam c1 bkgrd bluechangeParam c1 bkgrd blue

JAWAA Primitives

circle

rectangle

line

oval

polygon

text

JAWAA Data StructuresJAWAA Data Structures

Array y

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 qlecture

• Fast ‐ 4‐8 minutes each animations, Fall 2002 CS 2 Course

C t i k i ti f d t t t i• Create quick animation of data structure in an existing program, add JAWAA commands as outputp

• Show web pages with JAWAA animations in lecture

• Students replay animations later

Instructor Animations for CS 2 Lecture

• How Pointers Work in MemoryHow Pointers Work in Memory

• Recursion

Sh ll• Shellsort

• Linked List ‐ Insert at the Front

• Quadratic Collision Resolution

• Build Heap and HeapsortBuild Heap and Heapsort

Overview of JFLAP

• Java Formal Languages and Automata• Java Formal Languages and Automata Package

I i l l l f• Instructional tool to learn concepts of Formal Languages and Automata Theory

• SIGCSE 2006 and SIGCSE 2009

• www.jflap.orgj p g

What is JFLAP?What is JFLAP?     

Regular languages – create

• DFADFA• 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 automatonp• context‐free grammar

CFL ‐ transform

• PDA to CFGCFG t NPDA (LL )• CFG to NPDA (LL parse)

• CFG to NPDA (SLR parse)• CFG to CNF• CFG to LL Parse table and parserp• CFG to SLR Parse table and parser• CFG to brute force parser

What is JFLAP? (cont)

Recursively enumerable languagesy g g

• Turing machine (one‐tape)• Turing machine (multi‐tape)• unrestricted grammar• 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 versionEric Gramond, Ted Hung, Magda and Octavian Procopiuc

• Pâté, JeLLRap, LsysAnna Bilska, Jason Salemme, Lenore Ramm, Alex Karweit Robyn GeerKarweit, Robyn Geer

• JFLAP 4.0 – 2003, Thomas Finley, Ryan Cavalcante

JFLAP 6 0 2005 2008 St h R di B t B l• JFLAP 6.0 – 2005‐2008 Stephen Reading, Bart Bressler, Jinghui Lim, Jason Lee, Chris Morgan, Jonathan Su

Why study finite automata?Why study finite automata?

• Application: CompilerApplication: Compiler

• Compiler identifies your syntax errors 

C i bi id if ll d i• 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

T b lTabular

Visual

Interactive

Fi it A t t EditiFinite Automata Editingand Simulationand 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 isThe first of these is the Finite Automata!

FA Edit & SimulationdStart Editing!

• We start with an empty p yautomaton editor window.

FA Edit & SimulationCreate States

• We create some states ...

FA Edit & SimulationCreate Transitions

• We create some transitions ...

FA Edit & Simulationl d lInitial and Final State

• We set an initial and final state.

• Now we can simulate input onsimulate input on this automaton!

FA Edit & SimulationlInput to Simulate...

• When we say we want to simulate input onWhen we say we want to simulate input on this automaton, a dialog asks us for the input.

FA Edit & SimulationlStart Simulation!

• When simulation starts, we have a ,configuration on the initial state with all input remaining to be processed.p

FA Edit & SimulationfAfter One Step

• This is a nondeterministic FA, and on this input we have pmultiple configurations gafter we “Step.”

FA Edit & SimulationfAfter Two Steps

• The previous configurations on q1

and q2 are rejected, and are shown in red. 

h• The remaining uncolored configurations pathsconfigurations paths are not rejected, and are still open. p

FA Edit & Simulationf hAfter Three Steps

• Yet another step.

FA Edit & SimulationfAfter Four Steps

• One of the final configurations ghas been accepted!p

FA Edit & Simulationb kTraceback

• One can then see a traceback to see the succession of configurations that gled to the accepting configuration.g

FA Multiple RunFA Multiple Run

• Select Multiple Run

• One can then enter many strings and receive acceptance info.

Using JFLAP during LectureUsing JFLAP during Lecture

• Use JFLAP to build examples of automata orUse JFLAP to build examples of automata or grammars

• Use JFLAP to demo proofs• Use JFLAP to demo proofs

• Load a JFLAP example and students work in i d i h i d fi i if i ipairs to determine what it does, or fix it if it is 

not correct.

Use of JFLAP by InstructorUse of JFLAP by InstructorShowing how to layout items

Poor:Poor:

Better:

Use of JFLAP by InstructorUse of JFLAP by Instructor

I thi t f nbn n?Is this correct for anbncn?

How do we fix it?

Use of JFLAP by InstructorUse of JFLAP by InstructorExperimenting with Difficult Concepts

N d t i i RNondeterminism: wwR

• Students attempt at desk ‐pdifficult: want to find the “middle”

• Instructor builds with class using JFLAPInstructor builds with class using JFLAP

Use of JFLAP by InstructorUse of JFLAP by InstructorTesting Student Programs

JFLAP’s use Outside of ClassJFLAP s use Outside of Class

• Use with Homework problemsUse with Homework problems – Turn in JFLAP files

OR turn in on paper check answers in JFLAP– OR turn in on paper, check answers in JFLAP

• Recreate examples from class

• Work additional problems– Receive immediate feedback

Additional ReferencesAdditional References

• Astrachan, Forbes, Duvall and Rodger, “ActiveAstrachan, Forbes, Duvall and Rodger,  Active Learning in Small to Large Courses”, FIE 2002.

• Rodger, An Interactive Lecture Approach toRodger, An Interactive Lecture Approach to Teaching Computer Science, SIGCSE 1995.

• Smith, The Craft of Teaching CooperativeSmith, The Craft of Teaching Cooperative Learning, An Active Learning Strategy, FIE 1989

ConclusionConclusion• Incorporate props into your teachingteaching

• Consider interactive lectures– assign students to random groupsassign students to random groups

• Consider instructional software/animations in your lectures

• Consider Peer‐led team learninglearning

• Go to SIGCSE every year!– Lots of people are doing activeLots of people are doing active learning