questions to enhance active learning in computer science instruction j. philip east & mark...

18
Questions to Enhance Questions to Enhance Active Learning in Active Learning in Computer Science Computer Science Instruction Instruction J. Philip East & Mark Fienup Computer Science Department University of Northern Iowa

Upload: meghan-pope

Post on 16-Dec-2015

214 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Questions to Enhance Active Learning in Computer Science Instruction J. Philip East & Mark Fienup Computer Science Department University of Northern Iowa

Questions to Enhance Active Questions to Enhance Active Learning in Computer Science Learning in Computer Science

InstructionInstruction

J. Philip East & Mark Fienup

Computer Science Department

University of Northern Iowa

Page 2: Questions to Enhance Active Learning in Computer Science Instruction J. Philip East & Mark Fienup Computer Science Department University of Northern Iowa

Questions to Enhance Active Learning in Computer Science Instruction

NECC 2002 --- Philip East and Mark Fienup2

University of Northern Iowa

IntroductionIntroduction

• I’m a colleague—let’s talk I’m a colleague—let’s talk

• Initial plan was to focus on examples, but ...Initial plan was to focus on examples, but ...

• The plan isThe plan is– discuss rationale, educational goals, etc.discuss rationale, educational goals, etc.

– generalize ideas about questioning for various goals (examples included generalize ideas about questioning for various goals (examples included but we’ll spend little time on them)but we’ll spend little time on them)

– discuss process suggestionsdiscuss process suggestions

• Referring to programming & “fluency” courses Referring to programming & “fluency” courses

Page 3: Questions to Enhance Active Learning in Computer Science Instruction J. Philip East & Mark Fienup Computer Science Department University of Northern Iowa

Questions to Enhance Active Learning in Computer Science Instruction

NECC 2002 --- Philip East and Mark Fienup3

University of Northern Iowa

Motivation & RationaleMotivation & Rationale

• Reduce the amount of lecturing (“demonstration” Reduce the amount of lecturing (“demonstration” isn’t much better)isn’t much better)

• Attempt to determine student understanding of the Attempt to determine student understanding of the material being considered material being considered

• Questioning can, but does not always, result in Questioning can, but does not always, result in students actively engaged in the content – it is not students actively engaged in the content – it is not a panaceaa panacea

Page 4: Questions to Enhance Active Learning in Computer Science Instruction J. Philip East & Mark Fienup Computer Science Department University of Northern Iowa

Questions to Enhance Active Learning in Computer Science Instruction

NECC 2002 --- Philip East and Mark Fienup4

University of Northern Iowa

Some Instructional GoalsSome Instructional Goals

• Provide practice or demonstration of skillProvide practice or demonstration of skill

• Connect to student experienceConnect to student experience

• Motivate/justify contentMotivate/justify content

• Determine student “understanding”Determine student “understanding”

• Create cognitive dissonance (!)Create cognitive dissonance (!)

• Knowledge recall (?)Knowledge recall (?)

• (and others ?)(and others ?)

Page 5: Questions to Enhance Active Learning in Computer Science Instruction J. Philip East & Mark Fienup Computer Science Department University of Northern Iowa

Questions to Enhance Active Learning in Computer Science Instruction

NECC 2002 --- Philip East and Mark Fienup5

University of Northern Iowa

Skill Practice or Demonstration Skill Practice or Demonstration What, How, etc.What, How, etc.

• Goal is to provide Goal is to provide students with practice students with practice or to have them or to have them demonstrate demonstrate competence competence

• Can do so via:Can do so via:– ““board” work board” work

– oral “how to” questionsoral “how to” questions

– quizzes (grade in class)quizzes (grade in class)

– in-lab tasksin-lab tasks

• ProgrammingProgramming– trace the given codetrace the given code

– revise given code to ...revise given code to ...

– produce code to ...produce code to ...

– develop test data for ... develop test data for ...

– design a module to …design a module to …

• FluencyFluency– use multiple OSsuse multiple OSs

– use “new” applicationsuse “new” applications

– identify relevant technical & identify relevant technical & social features of ... (scenario)social features of ... (scenario)

U

N

I

Page 6: Questions to Enhance Active Learning in Computer Science Instruction J. Philip East & Mark Fienup Computer Science Department University of Northern Iowa

Questions to Enhance Active Learning in Computer Science Instruction

NECC 2002 --- Philip East and Mark Fienup6

University of Northern Iowa

Skill Practice or Demonstration Skill Practice or Demonstration Question Examples – ProgrammingQuestion Examples – Programming

• Use the IDE (or OS & editor) to copy, compile, execute a programUse the IDE (or OS & editor) to copy, compile, execute a program

• Debug (syntax errors in) a programDebug (syntax errors in) a program

• What does the given code do? [three levels: trace; description of process in What does the given code do? [three levels: trace; description of process in words rather than code or pseudo-code; general statement]words rather than code or pseudo-code; general statement]

• Debug (logic errors in) a given code segmentDebug (logic errors in) a given code segment

• Document a given module, i.e., purpose (don’t repeat code), preconditions, Document a given module, i.e., purpose (don’t repeat code), preconditions, post conditions, caveats, etc.post conditions, caveats, etc.

• Develop a test data suite for a given problem or codeDevelop a test data suite for a given problem or code

• Provide code for a given algorithmProvide code for a given algorithm

• Determine the data representation for a given problem [i.e., ADT or class Determine the data representation for a given problem [i.e., ADT or class usage and/or definitions]usage and/or definitions]

• Develop an algorithm for a given task [i.e., a small module] Develop an algorithm for a given task [i.e., a small module]

• What tasks are needed to solve …? Does order matter? Any repetition?What tasks are needed to solve …? Does order matter? Any repetition?

Page 7: Questions to Enhance Active Learning in Computer Science Instruction J. Philip East & Mark Fienup Computer Science Department University of Northern Iowa

Questions to Enhance Active Learning in Computer Science Instruction

NECC 2002 --- Philip East and Mark Fienup7

University of Northern Iowa

Skill Practice or Demonstration Skill Practice or Demonstration Question Examples – FluencyQuestion Examples – Fluency

• Create a directory and copy a file to it from across a networkCreate a directory and copy a file to it from across a network

• Set network, mail, etc. preferencesSet network, mail, etc. preferences

• Plan an e-mail organization. Implement it. Report on the implementation.Plan an e-mail organization. Implement it. Report on the implementation.

• Independently (to extent possible) extend skill to:Independently (to extent possible) extend skill to:– unknown OSunknown OS

– different brand of known application (e.g., Lotus’ suite vs MS Office vs StarOffice)different brand of known application (e.g., Lotus’ suite vs MS Office vs StarOffice)

– unknown feature(s) of a known application (e.g., in word processing: tables, mail unknown feature(s) of a known application (e.g., in word processing: tables, mail merge, drawing, …) merge, drawing, …)

– unknown applicationunknown application

• Customize window content/appearance, preferences, etc. of an applicationCustomize window content/appearance, preferences, etc. of an application

• Identify stakeholders in a given societal issue (and their potential conflicts of Identify stakeholders in a given societal issue (and their potential conflicts of interest and biases)interest and biases)

• Suggest a solution to a given societal issue (arguing pros & cons)Suggest a solution to a given societal issue (arguing pros & cons)

Page 8: Questions to Enhance Active Learning in Computer Science Instruction J. Philip East & Mark Fienup Computer Science Department University of Northern Iowa

Questions to Enhance Active Learning in Computer Science Instruction

NECC 2002 --- Philip East and Mark Fienup8

University of Northern Iowa

Connect to Student Experience Connect to Student Experience

• Goal: relate current content to expected prior Goal: relate current content to expected prior student understandingstudent understanding

• Can do so via:Can do so via:– selection of conceptually familiar tasks & “reminder” selection of conceptually familiar tasks & “reminder”

questionsquestions

– planned progression of topics & “reminder” questionsplanned progression of topics & “reminder” questions

– discussion of experiencesdiscussion of experiences

– advance organizers (course-level and topic level)advance organizers (course-level and topic level)

Page 9: Questions to Enhance Active Learning in Computer Science Instruction J. Philip East & Mark Fienup Computer Science Department University of Northern Iowa

Questions to Enhance Active Learning in Computer Science Instruction

NECC 2002 --- Philip East and Mark Fienup9

University of Northern Iowa

Connect to Student Experience Connect to Student Experience

• Programming ExamplesProgramming Examples– How would you ask a question to see if both of two situations were true? How would you ask a question to see if both of two situations were true?

If either of the two were true? If neither were true?If either of the two were true? If neither were true?

– What does the “2” in 1,298 mean? The “1” in 0001000?What does the “2” in 1,298 mean? The “1” in 0001000?

– How you sort a set of numbers listed on individual slips of paper?How you sort a set of numbers listed on individual slips of paper?

– What happens when values are not explicitly initialized?What happens when values are not explicitly initialized?

• Fluency ExamplesFluency Examples– What are computers used to do?What are computers used to do?

– What is an icon?What is an icon?

– Why might someone care if the grocery store recorded your purchases?Why might someone care if the grocery store recorded your purchases?

– Have you ever been someplace you didn’t want you mother, boy/girlfriend Have you ever been someplace you didn’t want you mother, boy/girlfriend to know?to know?

Page 10: Questions to Enhance Active Learning in Computer Science Instruction J. Philip East & Mark Fienup Computer Science Department University of Northern Iowa

Questions to Enhance Active Learning in Computer Science Instruction

NECC 2002 --- Philip East and Mark Fienup10

University of Northern Iowa

Motivate or Justify ContentMotivate or Justify Content

• Goal: enhance student “involvement” with current Goal: enhance student “involvement” with current contentcontent

• Can do so via:Can do so via:– determining and following student preferencesdetermining and following student preferences

– organizing content orderorganizing content order

– examples selectionexamples selection

– discussion of experiencesdiscussion of experiences

– requests to justify a choicerequests to justify a choice

Page 11: Questions to Enhance Active Learning in Computer Science Instruction J. Philip East & Mark Fienup Computer Science Department University of Northern Iowa

Questions to Enhance Active Learning in Computer Science Instruction

NECC 2002 --- Philip East and Mark Fienup11

University of Northern Iowa

Motivate or Justify ContentMotivate or Justify Content

• Programming ExamplesProgramming Examples– What would you do if a program needed to do the same thing twice? What would you do if a program needed to do the same thing twice?

Three times? 100 times?Three times? 100 times?

– How is 10 cents represented in our programming language?How is 10 cents represented in our programming language?

– How does an optimist plan to build the Great Wall of China?How does an optimist plan to build the Great Wall of China?

– How do you know (or do) …?How do you know (or do) …?

• Fluency ExamplesFluency Examples– When did Web usage become widespread? What will be the next such When did Web usage become widespread? What will be the next such

ubiquitous application? How will you learn it?ubiquitous application? How will you learn it?

– Have you ever been told that the computer makes us do it this way?Have you ever been told that the computer makes us do it this way?

Page 12: Questions to Enhance Active Learning in Computer Science Instruction J. Philip East & Mark Fienup Computer Science Department University of Northern Iowa

Questions to Enhance Active Learning in Computer Science Instruction

NECC 2002 --- Philip East and Mark Fienup12

University of Northern Iowa

Determine Student UnderstandingDetermine Student UnderstandingWhat, How, etc.What, How, etc.

• Goal is to get inside Goal is to get inside students heads (see students heads (see what/how they what/how they understand) understand)

• More general than skill More general than skill practice practice

• Can do so via:Can do so via:– oral questions oral questions

– small group taskssmall group tasks

– 5-minute papers5-minute papers

• ProgrammingProgramming– statement semanticsstatement semantics

– run-time environmentrun-time environment

– data representationdata representation

– design considerationsdesign considerations

– testing & test datatesting & test data

– ... ...

• FluencyFluency– operation of CPU, Internet, operation of CPU, Internet,

viruses, search engines, …viruses, search engines, …

– issue plusses and minusesissue plusses and minuses

– risk analysesrisk analyses

– ......

U

N

I

Page 13: Questions to Enhance Active Learning in Computer Science Instruction J. Philip East & Mark Fienup Computer Science Department University of Northern Iowa

Questions to Enhance Active Learning in Computer Science Instruction

NECC 2002 --- Philip East and Mark Fienup13

University of Northern Iowa

Determine Student UnderstandingDetermine Student UnderstandingQuestion Examples – ProgrammingQuestion Examples – Programming

• Describe the run-time environment at a given point in a program.Describe the run-time environment at a given point in a program.

• Where would you look to correct the error message, “stack overflows heap”?Where would you look to correct the error message, “stack overflows heap”?

• What machine code does the same thing as a for loop?What machine code does the same thing as a for loop?

• Diagram the form and content of data stored as a result of the following code Diagram the form and content of data stored as a result of the following code being executed … [e.g., linked list search & insertion]being executed … [e.g., linked list search & insertion]

• What test data should be used for the given task?What test data should be used for the given task?

• Produce code to … [e.g., dangling else situation, complex condition, if-else Produce code to … [e.g., dangling else situation, complex condition, if-else with some common code, dual condition while loop]with some common code, dual condition while loop]

• Refactor given code … [e.g., to make it more readable, to enhance cohesion]Refactor given code … [e.g., to make it more readable, to enhance cohesion]

• Provide data representation for … Provide data representation for …

• Critique the following … [e.g., code, design, data representation, test data] Critique the following … [e.g., code, design, data representation, test data]

• Describe a particular ADT or class discussing its operations and useDescribe a particular ADT or class discussing its operations and use

Page 14: Questions to Enhance Active Learning in Computer Science Instruction J. Philip East & Mark Fienup Computer Science Department University of Northern Iowa

Questions to Enhance Active Learning in Computer Science Instruction

NECC 2002 --- Philip East and Mark Fienup14

University of Northern Iowa

Determine Student UnderstandingDetermine Student UnderstandingQuestion Examples – FluencyQuestion Examples – Fluency

• Diagram a computer and describe the machine cycleDiagram a computer and describe the machine cycle

• How does a Web page get from across the country to you?How does a Web page get from across the country to you?

• How is the Web like a database? How is it different?How is the Web like a database? How is it different?

• How/when is an e-mail message at risk for unintended access?How/when is an e-mail message at risk for unintended access?

• Describe data representation of … [e.g., integers, fractional values, sound, Describe data representation of … [e.g., integers, fractional values, sound, pictures]pictures]

• Who are the stakeholders with respect to routine monitoring of electronic Who are the stakeholders with respect to routine monitoring of electronic communication by the government? What are their concerns?communication by the government? What are their concerns?

• What are the basic (machine-level) capabilities of computers?What are the basic (machine-level) capabilities of computers?

• What are the general capabilities of computers? [any problem for which we What are the general capabilities of computers? [any problem for which we can prepare a digital representation and appropriate manipulations]can prepare a digital representation and appropriate manipulations]

• What can computers not do? Why? What can computers not do? Why?

Page 15: Questions to Enhance Active Learning in Computer Science Instruction J. Philip East & Mark Fienup Computer Science Department University of Northern Iowa

Questions to Enhance Active Learning in Computer Science Instruction

NECC 2002 --- Philip East and Mark Fienup15

University of Northern Iowa

Create Cognitive Dissonance Create Cognitive Dissonance

• Goal: surprise studentsGoal: surprise students

• Programming ExamplesProgramming Examples– What is 0.1 (base 10) in binary?What is 0.1 (base 10) in binary?

– Write a program that repeatedly adds 1,000 to a total and displays the Write a program that repeatedly adds 1,000 to a total and displays the result. What happens?result. What happens?

– Sort 1,000 items with bubble sort. Sort same items in a direct access file. Sort 1,000 items with bubble sort. Sort same items in a direct access file. What happens?What happens?

• Fluency ExamplesFluency Examples– What can a computer not do?What can a computer not do?

– I have a hypothesis: long division using pencil and paper does not teach I have a hypothesis: long division using pencil and paper does not teach the concept of division. [… explanation]. What is wrong with my the concept of division. [… explanation]. What is wrong with my hypothesis?hypothesis?

Page 16: Questions to Enhance Active Learning in Computer Science Instruction J. Philip East & Mark Fienup Computer Science Department University of Northern Iowa

Questions to Enhance Active Learning in Computer Science Instruction

NECC 2002 --- Philip East and Mark Fienup16

University of Northern Iowa

An Aside—Receiving QuestionsAn Aside—Receiving Questions

• I like to address questions that students haveI like to address questions that students have– gives insight about their understanding (if I pay attention)gives insight about their understanding (if I pay attention)

– other students may have the same questionother students may have the same question

– at least one student will be paying attentionat least one student will be paying attention

• But,But,– can deflect attention from planned contentcan deflect attention from planned content

– sometimes I rely too heavily on itsometimes I rely too heavily on it

Page 17: Questions to Enhance Active Learning in Computer Science Instruction J. Philip East & Mark Fienup Computer Science Department University of Northern Iowa

Questions to Enhance Active Learning in Computer Science Instruction

NECC 2002 --- Philip East and Mark Fienup17

University of Northern Iowa

Teaching Process SuggestionsTeaching Process Suggestions

• Read & think about questions & questioningRead & think about questions & questioning

• PlanPlan

– Course – big ideas, content goals, use of groups, …Course – big ideas, content goals, use of groups, …

– Unit – initial questions; follow up responses & questionsUnit – initial questions; follow up responses & questions

• In Class – don’t hurry, wait & thinkIn Class – don’t hurry, wait & think

• Reflect – daily, after unit, after courseReflect – daily, after unit, after course

Page 18: Questions to Enhance Active Learning in Computer Science Instruction J. Philip East & Mark Fienup Computer Science Department University of Northern Iowa

Questions to Enhance Active Learning in Computer Science Instruction

NECC 2002 --- Philip East and Mark Fienup18

University of Northern Iowa

Final ThoughtsFinal Thoughts

• Learning is not a spectator sport? Work to get Learning is not a spectator sport? Work to get students actively involved.students actively involved.

• If you decide to move in this direction:If you decide to move in this direction:

– Don’t go whole hog (take baby steps)Don’t go whole hog (take baby steps)

– Be patient with yourselfBe patient with yourself

– Don’t expect immediate successDon’t expect immediate success

• Thank youThank you