Presentation is loading. Please wait.

Presentation is loading. Please wait.

Some directions for studying the "objects first" question.

Similar presentations


Presentation on theme: "Some directions for studying the "objects first" question."— Presentation transcript:

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 1.Start with code skeletons and internal specifications 2.Students write code in skeletons 3.Incrementally, structure is removed and higher-level specifications are offered  Authors claim Bloom’s 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 1.Use complex system (e.g. elevator simulation) as case study throughout the term 2.Students write classes that specify behavior of objects in system (e.g. write code that moves an elevator) 3.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) 1.Phase I: Objects early---uses objects of predefined classes 2.Phase II: Classes and methods---start with class methods, interleave control structures 3.Phase III: Inheritance  Anecdotal evidence of office hour visitations; fewer comments of “I don’t 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 don’t 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)


Download ppt "Some directions for studying the "objects first" question."

Similar presentations


Ads by Google