University of Joensuu Pauli Byckling and Jorma Sajaniemi A Role-Based Analysis Model for the Evaluation of Novices’ Programming Knowledge Development.

Slides:



Advertisements
Similar presentations
Modelling with expert systems. Expert systems Modelling with expert systems Coaching modelling with expert systems Advantages and limitations of modelling.
Advertisements

Direct Instruction Also called explicit instruction Widely applicable strategy that can be used to teach both concepts and skills Uses teacher explanation.
Johnny can’t Program (and neither can Johann) Lynda A. Thomas Department of Computer Science, University of Wales, Aberystwyth, Wales, UK.
Using Video Segments to Enhance Early Clinical Experiences of Prospective Teachers Kristen Cuthrell, Michael Vitale, College of Education, East Carolina.
Key Stage 3 National Strategy Scientific enquiry Science.
Algorithms and Problem Solving
Loops (Part 1) Computer Science Erwin High School Fall 2014.
Starting Out with C++, 3 rd Edition 1 Chapter 1. Introduction to Computers and Programming.
Short-Term Effects of Animated versus Static Visualisation of Operations on Program Perception Seppo Nevalainen and Jorma Sajaniemi
introduction to MSc projects
1 Keeping Track: Coordinating Multiple Representations in Programming Pablo Romero, Benedict du Boulay & Rudi Lutz IDEAs Lab, Human Centred Technology.
ICER 2005 Factors Affecting the Success of Non-Majors in Learning to Program Susan Wiedenbeck Drexel University.
Models of Human Performance Dr. Chris Baber. 2 Objectives Introduce theory-based models for predicting human performance Introduce competence-based models.
Chapter 1 Program Design
Minnesota Manual of Accommodations for Students with Disabilities Training Guide
PERCENTAGE AS RELATIONAL SCHEME: PERCENTAGE CALCULATIONS LEARNING IN ELEMENTARY SCHOOL A.F. Díaz-Cárdenas, H.A. Díaz-Furlong, A. Díaz-Furlong, M.R. Sankey-García.
Chapter 6Java: an Introduction to Computer Science & Programming - Walter Savitch 1 l Array Basics l Arrays in Classes and Methods l Programming with Arrays.
1 CSC 221: Computer Programming I Fall 2004 course overview  what did we set out to learn?  what did you actually learn?  where do you go from here?
Reasoning Abilities Slide #1 김 민 경 Reasoning Abilities David F. Lohman Psychological & Quantitative Foundations College of Education University.
Human Computer Interaction Semester 1, 2013/2013.
Human Learning Aeman Alabuod. Learning Theory it is conceptual frameworks that describe how information is absorbed, processed, and retained during learning.
Educational Psychology, 11 th Edition ISBN © 2010 Pearson Education, Inc. All rights reserved. Cognitive Views of Learning Chapter 7.
1 / 27 California Educational Research Association 88 th Annual Conference Formative Assessment: Implications for Student Learning San Francisco, CA November.
Introducing Computer Science to Educationally Disadvantaged High School Students – to Educationally Disadvantaged High School Students – The Israeli Experience.
Algorithmic Problem Solving CMSC 201 Adapted from slides by Marie desJardins (Spring 2015 Prof Chang version)
SLA Seminar, NSYSU 11/17/2006 Ch. 9 Cognitive accounts of SLA OUTLINE Cognitive theory of language acquisition Models of cognitive accounts Implicit vs.
Lecture Set 5 Control Structures Part D - Repetition with Loops.
Multimedia Specification Design and Production 2013 / Semester 1 / week 9 Lecturer: Dr. Nikos Gazepidis
Cognitive Architectures: A Way Forward for the Psychology of Programming Michael Hansen Ph.D Student in Comp/Cog Sci CREST / Percepts & Concepts Lab Indiana.
A computer environment for beginners’ learning of sorting algorithms: Design and pilot evaluation Kordaki, M., Miatidis, M. & Kapsampelis, G. (2008). A.
HOW PROFESSIONALS LEARN AND ACQUIRE EXPERTISE  Model of professionals as learners:  How professionals know  How professionals incorporate knowledge.
Cooperative Language Learning (CLL) Collaborative Learning (CL)
Assessing the Frequency of Empirical Evaluation in Software Modeling Research Workshop on Experiences and Empirical Studies in Software Modelling (EESSMod)
Algorithms CS139 – Aug 30, Problem Solving Your roommate, who is taking CS139, is in a panic. He is worried that he might lose his financial aid.
Roles of Variables with Examples in Python ® © 2014 Project Lead The Way, Inc.Computer Science and Software Engineering.
Transfer and Problems Solving Denise Nichols and Brant Kenny.
From Bad to Worse: Variations in Judgments of Associative Memory Erin Buchanan, Ph.D., Missouri State University Abstract Four groups were tested in variations.
The Teaching Process. Problem/condition Analyze Design Develop Implement Evaluate.
Unpacking the Elements of Scientific Reasoning Keisha Varma, Patricia Ross, Frances Lawrenz, Gill Roehrig, Douglas Huffman, Leah McGuire, Ying-Chih Chen,
The effect of peer feedback for blogging on college Advisor: Min-Puu Chen Presenter: Pei- Chi Lu Xie, Y., Ke, F., & Sharma, P. (2008). The effect of feedback.
Individual Differences in Human-Computer Interaction HMI Yun Hwan Kang.
ISECON 2006 The Work System Model as a Tool for Understanding the Problem in an Introductory IS Project Doncho Petkov Eastern Connecticut State University.
Research Methodology and Methods of Social Inquiry Nov 8, 2011 Assessing Measurement Reliability & Validity.
Modeling molecular evolution Jodi Schwarz and Marc Smith Vassar College Biol/CS353 Bioinformatics.
Introduction The design, development and maintenance of concurrent software are difficult tasks. Truly effective support methodologies have yet to be developed.
Course Description And Assessment Information
Development of Expertise. Expertise We are very good (perhaps even expert) at many things: - driving - reading - writing - talking What are some other.
Artificial Intelligence
ELED 6560 Summer Learning Exercises #10 The Un-Natural Part of Teaching  Five Ways that Teaching Behavior is Un-Natural 1. Helping Others 2.
Developing a Metric for Evaluating Discussion Boards Dr. Robin Kay University of Ontario Institute of Technology 2 November 2004.
Program Design. Simple Program Design, Fourth Edition Chapter 1 2 Objectives In this chapter you will be able to: Describe the steps in the program development.
1 Structured Programming Arab Academy for Science and Technology CC112 Dr. Sherif Mohamed Tawfik The Course.
3.1 Cognitive processes. Cognitive psychology Includes: perception, thinking, problem solving, memory, language, and attention. Cognition refers to such.
Model-Facilitated Learning Overview Gordon Graber 2008.
COGNITIVE LEVEL OF ANALYSIS An Introduction. Cognitive Psychology studies: how the human mind comes to know things about the world AND how the mind uses.
Natalija Budinski Primary and secondary school “Petro Kuzmjak” Serbia
What is cognitive psychology?
Using Cognitive Science To Inform Instructional Design
Oleh: Beni Setiawan, Wahyu Budi Sabtiawan
Lecture 3 of Computer Science II
Jeliot 3 Spring 2004 Andrés Moreno García Niko Myller
Program comprehension during Software maintenance and evolution Armeliese von Mayrhauser , A. Marie Vans Colorado State University Summary By- Fardina.
Title: Validating a theoretical framework for describing computer programming processes 29 November 2017.
Teaching Primary Computing Diving Deep into Programming
Model-Driven Analysis Frameworks for Embedded Systems
Teaching Primary Computing Diving Deep into Programming
Course Description And Assessment Information
Teaching Primary Computing Diving Deep into Programming
DO NOW – Decompose a Problem
Critically Evaluating an Assessment Task
Presentation transcript:

University of Joensuu Pauli Byckling and Jorma Sajaniemi A Role-Based Analysis Model for the Evaluation of Novices’ Programming Knowledge Development

University of Joensuu University of Joensuu Outline The roles of variables concept Rist’s basic plan development The new model—role plan development Validation of the model—the study Results Conclusion

University of Joensuu University of Joensuu Representations of High Level Programming Knowledge Schemas and Programming plans (Adelson 1981,1984; Soloway et al. 1982; Rist 1989; etc.) –Schema: a data structure which represents generic concepts stored in human memory (Détienne 2002) –Programming plan: a sequence of actions in a program which will achieve the goal of the program (Détienne 2002) Roles of Variables (Sajaniemi 2002) –Stereotypical behavior patterns of variables and attributes; occur in programs over and over again –A way to represent high level programming knowledge

University of Joensuu University of Joensuu Roles of Variables 1/2 Roles of Variables (Sajaniemi 2002) –A way to represent high level programming knowledge –Stereotypical behavior patterns of variables and attributes; occur in programs over and over again Examples: Roles are a part of experts’ tacit knowledge (Sajaniemi and Navarro Prieto 2005) Explicit teaching of roles resulted in better programming skills (Byckling and Sajaniemi 2006) and in better mental models of programs (Sajaniemi and Kuittinen 2005). Example 1 ─ Counter: i = 0;... i++;  Generalized to stepper Example 2 ─ Running total: rainsum = 0;... rainsum = rainsum + rain;  Generalized to gatherer

University of Joensuu University of Joensuu Roles of Variables 2/2 Revised set of roles; applicable in object-oriented, procedural and functional programming RoleExampleCoverage in novice-level programs Fixed value maxStringLength Stepper count Most-recent holder inputData Most-wanted holder maximum Gatherer sum 99% Follower prev One-way flag errorsOccurred Temporary temp Organizer sortArray Container processQueue Walker currNode Other tabPos 1%

University of Joensuu University of Joensuu Rist’s Basic Plan Development Theory of schema expansion (Rist, 1989) Programming consists of implementation of plans (five basic plans) Plans consist of plan pieces: Initialization, Calculation, Output Analysis of the writing order of plan pieces –Forward development (schema expansion): plan pieces retrieved from memory, writing order reflects the final form of the program code –Backward development (focal expansion) : plan pieces created during programming, writing order goes from calculation to initialization

University of Joensuu University of Joensuu Our New Model—Role Plan Development Methodology and the basic idea of plan development based on Rist’s work Roles as programming plans that represent knowledge about variables Analysis of the writing order of role plan pieces: Goal, Declaration, Initialization, Extension, Computation, Use of the latest value, Use of the final value Examination of each plan focuses only on lines directly related to the variable in question Advantages: –More detailed with more plan pieces –Based on roles of variables  more systematic programming knowledge coverage

University of Joensuu University of Joensuu Actions in the Role Plan Analysis Model Actions that execute the role plan pieces defined individually for all roles Example 1, Stepper: –(D)eclaration: variable declaration (if needed) –(I)nitialization: initialization with initial value –(E)xtension: possible use in controlling a loop –(C)omputation: update in the loop –(UC) Use of the current value: use in the loop –(UF) Use of the final value: use after the loop, if any Example 2, One-way flag: –(D)eclaration: variable declaration (if needed) –(I)nitialization: initialization (typically with ’false’ or 0) –(E)xtension: check of the condition which affects the flag –(C)omputation: update if the condition is met –(UC) Use of the current value: use of the flag (e.g. in controlling a loop), if any –(UF) Use of the final value: use of the final state of the flag

University of Joensuu University of Joensuu Role Plan Analysis Model—Scoring Scoring, basic idea –Theoretical order (G-D-I-E-C-UC-UF): Forward development –Order of the lines in final program: Forward development –Any other order: Backward development –“No development” (ND) Example: Line numberProgram codePiece type 3. var hours, minutes: integer; Declaration 9. readln(hours); Computation 8. while(hours > 0) or (minutes > 0 do) Extension 11. transformation := 60 * hours + minutes; Use of the latest value  backward development

University of Joensuu University of Joensuu Role Plan Analysis Model—More Scoring Strict forward development (SFD) –previous slide Partial forward development (PFD) –sequence number for each compulsory plan piece  appearance order –jumps between pieces (backward = 0, forward = 1/length ot the jump) –result: amount of forward development Pure partial forward development (PPFD) –similar to PFD, but ND’s are not taken into account Scoring example: SequenceSFDPFDPPFD Var1(0),1,2,3,4,511, 1, 1, 1, 1 = 5/55/5 Var2(0),3,1,2,4,500.33, 0, 1, 0.5, 1 = 2.83/52.83/5 Var3Missing00/5- Score1/3 = 33 %7.83/15 = 52%7.83/10 = 78 %

University of Joensuu University of Joensuu Validation of the Model—the Study Eight students in their first introductory programming course (in North Carelian Polytechnic, 2005) –Imperative programming with Pascal-like pseudo language –No roles or any other plans taught Weekly program creation protocol tasks, six tasks in total (three problem pairs) Analysis with the role plan analysis model

University of Joensuu University of Joensuu Results 1/2 Overall results p =

University of Joensuu University of Joensuu Results 2/2 SFD, STP vs. MRH/GAT:

University of Joensuu University of Joensuu Discussion Clear upward trend in overall –biggest differences between tasks within problem pairs The results reflect the expected behavior High amount of correct steppers –reflects the explicit teaching of the counter plan? Different versions of the model: a large value in PPFD  ability to use familiar plans a large value in PFD  ability to learn new plans a large value in SFD  ability to apply both familiar and new plans effectively

University of Joensuu University of Joensuu Conclusion Emergence of students’ role plan knowledge is visible in the results  the analysis model is applicable in analyzing the development of plan knowledge Future work: classroom experiment in fall 2006: –introduction of roles of variables in the course –similar protocol tasks and analysis

University of Joensuu University of Joensuu References B. Adelson. Problem solving and the development of abstract categories in programming languages. Memory and Cognition, 9(4):422–433, B. Adelson. When novices surpass experts: The difficulty of a task may increase with expertise. Journal of Experimental Psychology: Learning, Memory and Cognition, 10(3):483–495, P. Byckling, J. Sajaniemi. Roles of Variables and Programming Skills Improvement. Proceedings of the 37th SIGCSE Tehnical Symposium on Computer Science Education (SIGCSE 2006), Association for Computing Machinery, , F. Détienne. Program understanding and knowledge organization: the influence of acquired schemas. In P. Falzon, editor, Cognitive Ergonomics: Understanding, Learning and Designing Human-Computer Interaction, pages 245–256. Academic Press, J. Sajaniemi. An empirical analysis of roles of variables in novice-level procedural programs. In Proceedings of IEEE 2002 Symposia on Human Centric Computing Languages and Environments (HCC’02), pages 37–39. IEEE Computer Society, J. Sajaniemi and M. Kuittinen. An experiment on using roles of variables in teaching introductory programming. Computer Science Education, 15(1):59–82, J. Sajaniemi and R. Navarro Prieto. Roles of variables in experts’ programming knowledge. In P. Romero, J. Good, S. Bryant, and E. A. Chaparro, editors, Proceedings of the 17th Annual Workshop of the Psychology of Programming Interest Group (PPIG 2005), pages 145–159, E. Soloway, K. Ehrlich, J. Bonar, and J. Greenspan. What do novices know about programming? In A. Badre and B. Shneiderman, editors, Directions in Human Computer Interaction. Ablex Publishing Corporation, R. S. Rist. Schema creation in programming. Cognitive Science, 13:389–414, 1989.