Teaching Strategies and Learning Styles CRA-W Workshop Feb 23, 2005 Susan Rodger Associate Professor of the Practice Duke University www.cs.duke.edu/~rodger.

Slides:



Advertisements
Similar presentations
CS 345: Chapter 9 Algorithmic Universality and Its Robustness
Advertisements

1 1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 3 School of Innovation, Design and Engineering Mälardalen University 2012.
Checking For Understanding
January 5, 2015CS21 Lecture 11 CS21 Decidability and Tractability Lecture 1 January 5, 2015.
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
CS 310 – Fall 2006 Pacific University CS310 Decidability Section 4.1/4.2 November 10, 2006.
CS 490: Automata and Language Theory Daniel Firpo Spring 2003.
CS503: Tenth Lecture, Fall 2008 Review Michael Barnathan.
An Interactive Approach to Formal Languages and Automata with JFLAP
PowerPoint: Tables Computer Information Technology Section 5-11 Some text and examples used with permission from: Note: We are.
Introduction to Programming Environments for Secondary Education CS 1140 Dr. Ben Schafer Department of Computer Science.
Computer Science 102 Data Structures and Algorithms V Fall 2009 Lecture 1: administrative details Professor: Evan Korth New York University 1.
Instructor: Dr. Sahar Shabanah Fall Lectures ST, 9:30 pm-11:00 pm Text book: M. T. Goodrich and R. Tamassia, “Data Structures and Algorithms in.
Copyright © Allyn & Bacon 2008 POWER PRACTICE Chapter 6 Academic Software START This multimedia product and its contents are protected under copyright.
Robert W. Arts, Ph.D. Professor of Education & Physics University of Pikeville Pikeville, KY Presented at the Spring Meeting of the Kentucky Association.
CS110/CS119 Introduction to Computing (Java)
Computer Science Concepts Come Alive Susan H. Rodger Duke University Haverford College Philadelphia, PA April 18, 2010 Supported by.
Student Centered Teaching Through Universal Instructional Design Part III.
Concepts Come Alive through Visualization and Interaction University of Wisconsin Oshkosh July 16-17, 2009 Susan Rodger Professor of the Practice Duke.
© Cheltenham Computer Training Using Freelance Graphics - Slide No. 1 A First Look at Freelance Graphics Using Freelance for Windows.
CS 150 PERSONAL PRODUCTIVITY USING TECHNOLOGY Instructor: Xenia Mountrouidou.
Increasing Engagement in Automata Theory with JFLAP Susan H. Rodger Duke University Visual Thinking Workshop – Duke University May 4,
PowerPoint 2003 – Level 1 Computer Concepts Cathy Horwitz April 25, 2011.
CS 454 Theory of Computation Sonoma State University, Fall 2012 Instructor: B. (Ravi) Ravikumar Office: 116 I Darwin Hall.
Lecture 1 Page 1 CS 111 Summer 2015 Introduction CS 111 Operating System Principles.
Increasing Engagement in Automata Theory with JFLAP Susan H. Rodger Duke University SIGCSE 2009 March 7, 2009 Supported by NSF Grant.
An Interactive and Visual Approach to Learning Computer Science Susan H. Rodger Department of Computer Science Duke University November 30, 2004 This work.
McGraw-Hill Career Education© 2008 by the McGraw-Hill Companies, Inc. All Rights Reserved. 2-1 Office PowerPoint 2007 Lab 2 Modifying and Refining a Presentation.
General Physics Lecture 1 1 Welcome to Phys 130! Blackboard blackboard.siena.edu.
An Innovative Approach with Alice for Attracting K-12 Students to Computing Susan H. Rodger Duke University IBM University Days May 7, 2007 Supported by.
An Interactive Approach to Formal Languages and Automata with JFLAP Susan H. Rodger Duke University NSF CCLI Showcase March 9, 2007 Supported by NSF Grant.
Teaching Thermodynamics with Collaborative Learning Larry Caretto Mechanical Engineering Department June 9, 2006.
Introduction to CS Theory Lecture 15 –Turing Machines Piotr Faliszewski
Computer Science Concepts Come Alive Susan H. Rodger Duke University February 20, 2007.
Teaching Strategies and Learning Styles CRA-W Workshop Mar 7, 2007 Susan Rodger Associate Professor of the Practice Duke University
Computer Science 102 Data Structures and Algorithms CSCI-UA.0102 Fall 2012 Lecture 1: administrative details Professor: Evan Korth New York University.
Best Practices for Introductory Computer Science Valerie Barr, Jessica Bayliss, Monisha Pulimood, Susan Rodger, Ursula Wolz.
Cs3102: Theory of Computation Class 14: Turing Machines Spring 2010 University of Virginia David Evans.
No – Hands Questioning Students are not permitted to raise their hands when a question is asked All students are provided an opportunity to think about.
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 11 Midterm Exam 2 -Context-Free Languages Mälardalen University 2005.
Increasing Interaction and Support in the Formal Languages and Automata Theory Course Susan H. Rodger Duke University ITiCSE 2007 June 25, 2007 Supported.
1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 6 Mälardalen University 2010.
Increasing the Use of JFLAP in Courses Susan H. Rodger Duke University Durham, NC USA Program Visualization Workshop June 30, 2011 NSF.
Final Exam Review CS Total Points – 60 Points Writing Programs – 50 Points Tracing Algorithms, determining results, and drawing pictures – 50.
WORD PROCESSOR AND POWER POINT IN THE CLASSROOM. A word processing and power point program does not require highly advanced hardware. This means that.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
Automata & Formal Languages, Feodor F. Dragan, Kent State University 1 CHAPTER 3 The Church-Turing Thesis Contents Turing Machines definitions, examples,
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
Nonvisual Arrays by Chris Brown under Prof. Susan Rodger Duke University June 2012.
Foundations of (Theoretical) Computer Science Chapter 2 Lecture Notes (Section 2.2: Pushdown Automata) Prof. Karen Daniels, Fall 2010 with acknowledgement.
CompSci 4 Starting Alice Sep 2, 2010 Prof. Susan Rodger Alice is named in honor of Lewis Carroll’s Alice in Wonderland.
Data Structures and Algorithms in Java AlaaEddin 2012.
Formal Languages, Automata and Models of Computation
Donghyun (David) Kim Department of Mathematics and Physics North Carolina Central University 1 Chapter 2 Context-Free Languages Some slides are in courtesy.
Final Exam Review CS Total Points – 20 Points Writing Programs – 65 Points Tracing Algorithms, determining results, and drawing pictures – 50.
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 12 Mälardalen University 2007.
1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 8 Mälardalen University 2011.
Progression in KS3/4 Algorithms MONDAY 30 TH NOVEMBER SUE SENTANCE.
Theory of Computation. Introduction to The Course Lectures: Room ( Sun. & Tue.: 8 am – 9:30 am) Instructor: Dr. Ayman Srour (Ph.D. in Computer Science).
Changes to JFLAP to Increase Its Use in Courses Susan H. Rodger Duke University ITiCSE 2011 Darmstadt, Germany June 29, 2011 NSF Grants.
Final Exam Review CS 3358.
CSC207 Fall 2016.
INTERMEDIATE PROGRAMMING WITH JAVA
Pushdown Automata.
Computer Science 102 Data Structures CSCI-UA
Computing in the Classroom and best practices to improve gender diversity equity: Professional development for adjunct faculty Professor Younge’s Experience.
An Interactive Approach to Formal Languages and Automata with JFLAP
CS21 Decidability and Tractability
Sub: Theoretical Foundations of Computer Sciences
Review and Instructions
Presentation transcript:

Teaching Strategies and Learning Styles CRA-W Workshop Feb 23, 2005 Susan Rodger Associate Professor of the Practice Duke University

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? SpouseMother

Hobby – Baking Shape cakes, cookies

How do you make those cakes?

What path did I take? PhD, 1989 Computer Science Assistant Prof Assistant Prof. Of Practice Associate Prof. Of Practice 1997-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 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 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 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

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? 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 Viewing2. Viewing 3. Responding4. Changing 5. Constructing6. 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 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 circle cl blue red moveRelative c move right moveRelative c 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

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 editorAnimation

Instructor Use of JAWAA in CS 1/2 Use JAWAA Editor to make quick animations for lecture Fast 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 2001 No JAWAA Editor Fall 2002 Using JAWAA Editor

What is JFLAP? SIGCSE 2004 Java Formal Languages and Automata Package Instructional 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 Turing’s World Barwise and Etchemendy (1993) Models of Computation – Taylor (1998), 7 models, Deus Ex Machina by Savoiu Snapshots – Ross (2002+)

Why Develop Tools for Automata? Textual Tabular Visual Interactive

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 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 q 1 and q 2 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.

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 Instructor Showing how to layout items Poor: Better:

Use of JFLAP by Instructor Is this correct for a n b n c n ? How do we fix it?

Use of JFLAP by Instructor Experimenting with Difficult Concepts Nondeterminism: ww R Students attempt at desk - difficult: want to find the “middle” Instructor solves with class using JFLAP

Use of JFLAP by Instructor Testing Student Programs

Use of JFLAP by Instructor Relate to other CS Concepts Consider a n b n c n –one-tape TM O(n 2 ) –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 Rodger, An Interactive Lecture Approach to Teaching Computer Science, SIGCSE 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