78
Teaching Strategies and Learning Styles CRA-W Workshop Mar 7, 2007 Susan Rodger Associate Professor of the Practice Duke University

Teaching Strategies and Learning Styles CRA-W Workshop Mar 7, 2007 Susan Rodger Associate Professor of the Practice Duke University rodger

Embed Size (px)

Citation preview

Teaching Strategies and Learning Styles

CRA-W WorkshopMar 7, 2007

Susan Rodger

Associate Professor of the Practice

Duke University

www.cs.duke.edu/~rodger

Outline

• About Me

• 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, 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– 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 non-

majors 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

• 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?– This is a DFA problem

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

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)

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 Primitivescircle

rectangle

line

oval

polygon

text

JAWAA Data Structures

Array

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

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 Editor Nonmajors course

Spring 2001No JAWAA Editor

Fall 2002Using JAWAA Editor

Overview of JFLAP

• Java Formal Languages and Automata Package

• Instructional tool to learn concepts of Formal Languages and Automata Theory

• SIGCSE 2006

• 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

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

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 Geer

• JFLAP 4.0 – 2003, Thomas Finley, Ryan Cavalcante

• JFLAP 6.0 – 2005-2006 Stephen Reading, Bart Bressler, Jinghui Lim

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

Si

mulation

• 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

Use

of JFLAP

by Instructor

Relate to other CS Concepts

• Consider an

bn

cn

– one-tape TM O(n2

)– t

wo-tape TM O(n)

Running Time

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

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

learning