Some directions for studying the "objects first" question - PowerPoint PPT Presentation

About This Presentation
Title:

Some directions for studying the "objects first" question

Description:

Use mental models to create examples and activities that ... Frequency profiles of misconceptions/mental models. Mini-experiments. Conferences and Journals ... – PowerPoint PPT presentation

Number of Views:77
Avg rating:3.0/5.0
Slides: 15
Provided by: cmil98
Category:

less

Transcript and Presenter's Notes

Title: Some directions for studying the "objects first" question


1
Some directions for studying the "objects first"
question
2
Approaches to teaching OO in CS 1 and 2
  • Graduated exposure with scaffolding (Buck
    Stucki, SIGCSE 2000)
  • Complex system that can be extended with class
    definitions (Nevison Wells, ITiCSE 2003)
  • Emphasis on early analysis and design, coverage
    precedes procedural constructs tool translates
    class diagrams to code (Alphonce Ventura,
    ITiCSE 2003)
  • Conceptual level first with UML code with
    objects first, then internal construct of classes
    (Bennedsen Caspersen, SIGCSE 2004)
  • Object-centered design (Adams Frens, SIGCSE
    2003)

3
Buck Stucki
  • Design at the beginning is premature
  • Process
  • Start with code skeletons and internal
    specifications
  • Students write code in skeletons
  • Incrementally, structure is removed and
    higher-level specifications are offered
  • Authors claim Blooms taxonomy indicates an
    initial need to start with low-level constructs
    (e.g. words before sentences before paragraphs)

4
Nevison Wells
  • Students need term-long case-studies to motivate
    design and programming
  • Process
  • Use complex system (e.g. elevator simulation) as
    case study throughout the term
  • Students write classes that specify behavior of
    objects in system (e.g. write code that moves an
    elevator)
  • Students learn more about system, extend
    functionality
  • Cite use of other case studies including the
    Marine Biology Simulation

5
Alphonce Ventura
  • Emphasize design over code and syntax
  • Use code-generating tools based on design
    diagrams
  • Non-trivial examples
  • Uses UML and design patterns
  • Similar to Model-First approach by Bennedsen
    Caspersen, who note a passing rate of 79
    compared to 52 under previous approach

6
Adams Frems
  • Object-centered Design Students need a gradual
    approach to learning OO methodology
  • Process (all within CS 1)
  • Phase I Objects early---uses objects of
    predefined classes
  • Phase II Classes and methods---start with class
    methods, interleave control structures
  • Phase III Inheritance
  • Anecdotal evidence of office hour visitations
    fewer comments of I dont know where to start

7
Overview of approaches
  • All emphasize OO concepts from the beginning
  • Complex term-long cases vs. simple examples
  • Model-based vs. code-based
  • Anecdotal or informal evaluation (if any)
  • No detailed principles for motivating approach

8
Using a controlled study
  • Method
  • Establish objective measures of student learning
  • Conduct multiple approaches
  • Control for confounding variables statistically
    or through random assignment
  • Drawbacks
  • Expensive or impractical
  • Results may not generalize
  • Does not explain why result was achieved

9
Alternate approach
  • Identify common misconceptions
  • Develop mental models based on misconceptions
  • Develop questions for diagnosing misconceptions
  • Use mental models to create examples and
    activities that target misconceptions
  • Conduct small experiments for assessing
    effectiveness of examples or activities

10
Possible mental models
  • Objects are useful for qualifying the method
    there is no state associated with an object.
  • A class is written for one object. A state is
    associated with the class-object pair. Additional
    objects belonging to the class dont make sense
    or they all share the same state.
  • Each object has its own state. A class is written
    as a template for creating objects and describing
    their behavior.

11
Diagnostic questions
  • Create multiple objects belonging to a class,
    each with different states ask students to trace
    code and predict behavior
  • Does it make a difference if they need to trace
    through the methods?
  • What diagrams do they create for tracing code? Do
    they have a state for each object?
  • When writing a class to a specific object, do
    they try to reference the object name in the
    class definition?

12
Teaching examples which ones work?
  • Standard input object
  • File input objects
  • String objects
  • Temperature object
  • Object holds temperature
  • Methods produce values for other units
  • MarbleJar object
  • Simulates marble jar with draw and add methods
  • Turtle graphics objects

13
How do we start?
  • Investigate misconceptions
  • Protocol Analysis
  • K. A. Ericsson and H. A. Simon
  • Please think aloud!
  • Conceptual inventories
  • Frequency profiles of misconceptions/mental
    models
  • Mini-experiments

14
Conferences and Journals
  • SIGCSE (ACM SIG on computer science education)
  • ITiCSE (international conference)
  • Computer Science Education (journal)
  • International Conference of the Learning Sciences
  • Journal of the Learning Sciences
  • Cognitive Science (conference and journal)
Write a Comment
User Comments (0)
About PowerShow.com