Questions to Enhance Active Learning in Computer Science Instruction - PowerPoint PPT Presentation

About This Presentation
Title:

Questions to Enhance Active Learning in Computer Science Instruction

Description:

Motivate/justify content. Determine student 'understanding' Create cognitive dissonance ... Diagram the form and content of data stored as a result of the ... – PowerPoint PPT presentation

Number of Views:37
Avg rating:3.0/5.0
Slides: 19
Provided by: jphili
Learn more at: http://www.cs.uni.edu
Category:

less

Transcript and Presenter's Notes

Title: Questions to Enhance Active Learning in Computer Science Instruction


1
Questions to Enhance Active Learning in Computer
Science Instruction
J. Philip East Mark Fienup Computer Science
Department University of Northern Iowa
2
Introduction
  • Im a colleaguelets 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 well spend little
    time on them)
  • discuss process suggestions
  • Referring to programming fluency courses

3
Motivation Rationale
  • Reduce the amount of lecturing (demonstration
    isnt 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

4
Some Instructional Goals
  • Provide practice or demonstration of skill
  • Connect to student experience
  • Motivate/justify content
  • Determine student understanding
  • Create cognitive dissonance (!)
  • Knowledge recall (?)
  • (and others ?)

5
Skill Practice or Demonstration What, How, etc.
  • 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
  • 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)

6
Skill Practice or Demonstration Question
Examples Programming
  • 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 (dont
    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?

7
Skill Practice or Demonstration Question
Examples Fluency
  • 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 StarOffice)
  • 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)

8
Connect to Student Experience
  • 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)

9
Connect to Student Experience
  • 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 didnt want you
    mother, boy/girlfriend to know?

10
Motivate or Justify Content
  • 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

11
Motivate or Justify Content
  • 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?

12
Determine Student UnderstandingWhat, How, etc.
  • Goal is to get inside students heads (see
    what/how they understand)
  • More general than skill practice
  • Can do so via
  • oral questions
  • small group tasks
  • 5-minute papers
  • Programming
  • 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
  • ...

13
Determine Student UnderstandingQuestion Examples
Programming
  • 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

14
Determine Student UnderstandingQuestion Examples
Fluency
  • 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?

15
Create Cognitive Dissonance
  • 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?

16
An AsideReceiving Questions
  • 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

17
Teaching Process Suggestions
  • Read think about questions questioning
  • Plan
  • Course big ideas, content goals, use of groups,
  • Unit initial questions follow up responses
    questions
  • In Class dont hurry, wait think
  • Reflect daily, after unit, after course

18
Final Thoughts
  • Learning is not a spectator sport? Work to get
    students actively involved.
  • If you decide to move in this direction
  • Dont go whole hog (take baby steps)
  • Be patient with yourself
  • Dont expect immediate success
  • Thank you
Write a Comment
User Comments (0)
About PowerShow.com