Questions to Enhance Active Learning in Computer Science


















- Slides: 18
Questions to Enhance Active Learning in Computer Science Instruction J. Philip East & Mark Fienup Computer Science Department University of Northern Iowa
Introduction University of Northern Iowa • I’m a colleague—let’s talk • Initial plan was to focus on examples, but. . . • The plan is – discuss rationale, educational goals, etc. – generalize ideas about questioning for various goals (examples included but we’ll spend little time on them) – discuss process suggestions • Referring to programming & “fluency” courses Questions to Enhance Active Learning in Computer Science Instruction NECC 2002 --- Philip East and Mark Fienup 2
Motivation & Rationale University of Northern Iowa • Reduce the amount of lecturing (“demonstration” isn’t much better) • Attempt to determine student understanding of the material being considered • Questioning can, but does not always, result in students actively engaged in the content – it is not a panacea Questions to Enhance Active Learning in Computer Science Instruction NECC 2002 --- Philip East and Mark Fienup 3
Some Instructional Goals University of Northern Iowa • Provide practice or demonstration of skill • Connect to student experience • Motivate/justify content • Determine student “understanding” • Create cognitive dissonance (!) • Knowledge recall (? ) • (and others ? ) Questions to Enhance Active Learning in Computer Science Instruction NECC 2002 --- Philip East and Mark Fienup 4
Skill Practice or Demonstration What, How, etc. University of Northern Iowa • Goal is to provide students with practice or to have them demonstrate competence • Can do so via: – – “board” work oral “how to” questions quizzes (grade in class) in-lab tasks • Programming U N I – – – trace the given code revise given code to. . . produce code to. . . develop test data for. . . design a module to … • Fluency – – – use multiple OSs use “new” applications identify relevant technical & social features of. . . (scenario) Questions to Enhance Active Learning in Computer Science Instruction NECC 2002 --- Philip East and Mark Fienup 5
Skill Practice or Demonstration Question Examples – Programming University of Northern Iowa • • • Use the IDE (or OS & editor) to copy, compile, execute a program Debug (syntax errors in) a program What does the given code do? [three levels: trace; description of process in words rather than code or pseudo-code; general statement] Debug (logic errors in) a given code segment Document a given module, i. e. , purpose (don’t repeat code), preconditions, post conditions, caveats, etc. Develop a test data suite for a given problem or code Provide code for a given algorithm Determine the data representation for a given problem [i. e. , ADT or class usage and/or definitions] Develop an algorithm for a given task [i. e. , a small module] What tasks are needed to solve …? Does order matter? Any repetition? Questions to Enhance Active Learning in Computer Science Instruction NECC 2002 --- Philip East and Mark Fienup 6
Skill Practice or Demonstration Question Examples – Fluency University of Northern Iowa • • Create a directory and copy a file to it from across a network Set network, mail, etc. preferences Plan an e-mail organization. Implement it. Report on the implementation. Independently (to extent possible) extend skill to: – unknown OS – different brand of known application (e. g. , Lotus’ suite vs MS Office vs Star. Office) – unknown feature(s) of a known application (e. g. , in word processing: tables, mail merge, drawing, …) – unknown application • • • Customize window content/appearance, preferences, etc. of an application Identify stakeholders in a given societal issue (and their potential conflicts of interest and biases) Suggest a solution to a given societal issue (arguing pros & cons) Questions to Enhance Active Learning in Computer Science Instruction NECC 2002 --- Philip East and Mark Fienup 7
Connect to Student Experience University of Northern Iowa • Goal: relate current content to expected prior student understanding • Can do so via: – selection of conceptually familiar tasks & “reminder” questions – planned progression of topics & “reminder” questions – discussion of experiences – advance organizers (course-level and topic level) Questions to Enhance Active Learning in Computer Science Instruction NECC 2002 --- Philip East and Mark Fienup 8
Connect to Student Experience University of Northern Iowa • Programming Examples – 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? – 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? – What happens when values are not explicitly initialized? • Fluency Examples – – What are computers used to do? What is an icon? Why might someone care if the grocery store recorded your purchases? Have you ever been someplace you didn’t want you mother, boy/girlfriend to know? Questions to Enhance Active Learning in Computer Science Instruction NECC 2002 --- Philip East and Mark Fienup 9
Motivate or Justify Content University of Northern Iowa • Goal: enhance student “involvement” with current content • Can do so via: – – – determining and following student preferences organizing content order examples selection discussion of experiences requests to justify a choice Questions to Enhance Active Learning in Computer Science Instruction NECC 2002 --- Philip East and Mark Fienup 10
Motivate or Justify Content University of Northern Iowa • Programming Examples – What would you do if a program needed to do the same thing twice? Three times? 100 times? – How is 10 cents represented in our programming language? – How does an optimist plan to build the Great Wall of China? – How do you know (or do) …? • Fluency Examples – When did Web usage become widespread? What will be the next such ubiquitous application? How will you learn it? – Have you ever been told that the computer makes us do it this way? Questions to Enhance Active Learning in Computer Science Instruction NECC 2002 --- Philip East and Mark Fienup 11
Determine Student Understanding What, How, etc. University of Northern Iowa • Goal is to get inside students heads (see what/how they understand) • Programming U • More general than skill N practice I • Can do so via: – – – oral questions small group tasks 5 -minute papers – – – statement semantics run-time environment data representation design considerations testing & test data. . . • Fluency – operation of CPU, Internet, viruses, search engines, … – issue plusses and minuses – risk analyses –. . . Questions to Enhance Active Learning in Computer Science Instruction NECC 2002 --- Philip East and Mark Fienup 12
Determine Student Understanding Question Examples – Programming University of Northern Iowa • Describe the run-time environment at a given point in a program. • Where would you look to correct the error message, “stack overflows heap”? • 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 being executed … [e. g. , linked list search & insertion] • What test data should be used for the given task? • Produce code to … [e. g. , dangling else situation, complex condition, if-else with some common code, dual condition while loop] • Refactor given code … [e. g. , to make it more readable, to enhance cohesion] • Provide data representation for … • Critique the following … [e. g. , code, design, data representation, test data] • Describe a particular ADT or class discussing its operations and use Questions to Enhance Active Learning in Computer Science Instruction NECC 2002 --- Philip East and Mark Fienup 13
Determine Student Understanding Question Examples – Fluency University of Northern Iowa • Diagram a computer and describe the machine cycle • How does a Web page get from across the country to you? • How is the Web like a database? How is it different? • How/when is an e-mail message at risk for unintended access? • Describe data representation of … [e. g. , integers, fractional values, sound, pictures] • Who are the stakeholders with respect to routine monitoring of electronic communication by the government? What are their concerns? • What are the basic (machine-level) capabilities of computers? • What are the general capabilities of computers? [any problem for which we can prepare a digital representation and appropriate manipulations] • What can computers not do? Why? Questions to Enhance Active Learning in Computer Science Instruction NECC 2002 --- Philip East and Mark Fienup 14
Create Cognitive Dissonance University of Northern Iowa • Goal: surprise students • Programming Examples – What is 0. 1 (base 10) in binary? – Write a program that repeatedly adds 1, 000 to a total and displays the result. What happens? – Sort 1, 000 items with bubble sort. Sort same items in a direct access file. What happens? • Fluency Examples – What can a computer not do? – I have a hypothesis: long division using pencil and paper does not teach the concept of division. [… explanation]. What is wrong with my hypothesis? Questions to Enhance Active Learning in Computer Science Instruction NECC 2002 --- Philip East and Mark Fienup 15
An Aside—Receiving Questions University of Northern Iowa • I like to address questions that students have – gives insight about their understanding (if I pay attention) – other students may have the same question – at least one student will be paying attention • But, – can deflect attention from planned content – sometimes I rely too heavily on it Questions to Enhance Active Learning in Computer Science Instruction NECC 2002 --- Philip East and Mark Fienup 16
Teaching Process Suggestions University of Northern Iowa • Read & think about questions & questioning • Plan – Course – big ideas, content goals, use of groups, … – Unit – initial questions; follow up responses & questions • In Class – don’t hurry, wait & think • Reflect – daily, after unit, after course Questions to Enhance Active Learning in Computer Science Instruction NECC 2002 --- Philip East and Mark Fienup 17
Final Thoughts University of Northern Iowa • Learning is not a spectator sport? Work to get students actively involved. • If you decide to move in this direction: – Don’t go whole hog (take baby steps) – Be patient with yourself – Don’t expect immediate success • Thank you Questions to Enhance Active Learning in Computer Science Instruction NECC 2002 --- Philip East and Mark Fienup 18