Learning Difficulties in Computer Programming By Dr SC Li.

Slides:



Advertisements
Similar presentations
Lect.3 Modeling in The Time Domain Basil Hamed
Advertisements

What is Computer Science?
1 CS101 Introduction to Computing Lecture 17 Algorithms II.
My Experiences At the Learning Zone By: Patricia Mosqueda.
Skill Presentation Chapter 7.
MODULE 3 1st 2nd 3rd. The Backward Design Learning Objectives What is the purpose of doing an assessment? How to determine what kind of evidences to.
INTEGRATION BY PARTS ( Chapter 16 ) If u and v are differentiable functions, then ∫ u dv = uv – ∫ v du. There are two ways to integrate by parts; the.
Students’ use of standard algorithms for solving linear equations Jon R. Star Michigan State University.
Articulating Your Thinking Dr. Mok, Y.F.. Novice & Expert Thinking Patterns Novice Expert Read Analyze Explore Plan Implement Verify Schoenfeld, 1987.
Getting Them Out Of Their Shells: Service Learning And CS Students Jim Bohy – Iowa Wesleyan College.
Literature Review Author: Margaret Taplin
Discovery Learning Theresa Murphy, John Malloy, Sean O’Brien
Integrating Problem-Solving and Educational Software
Chapter 3 Root Finding.
ACE TESOL Diploma Program – London Language Institute OBJECTIVES You will understand: 1. The difference between a course, curriculum, and syllabus. 2.
INTRODUCTION.- PROGRAM EVALUATION
Test Preparation Strategies
Science Inquiry Minds-on Hands-on.
+ Hybrid Roles in Your School If not now, then when?
Dr. MaLinda Hill Advanced English C1-A Designing Essays, Research Papers, Business Reports and Reflective Statements.
Session 4 Pulling it All Together Building a Solid Number Foundation Strategies for Education Assistants 1.
Instructional Design Gayle Henry. Instructional Design Instructional Design is creating experiences for the learner where how they learn is achieved in.
Chapter 8: Problem Solving
Integrating Technology Into the Mathematics Classroom Erik Krivitsky.
9/14/20151 Game Theory and Game Balance CIS 487/587 Bruce R. Maxim UM-Dearborn.
Too many grades of D or F in math?. Kids only get one chance at receiving a good education, we are working to ensure they get it!
Welcome to Curriculum Night th grade.
Simpson Rule For Integration.
Computer Programming TCP1224 Chapter 2 Beginning the Problem-Solving Process.
Write all group member names and numbers on ½ paper and bring to front table.
Welcome to Everyday Mathematics University of Chicago School Mathematics Project.
By the end of this session you should be able to...
ENG 1181 College of Engineering Engineering Education Innovation Center P. 1 1 Computer Problem Solving in MATLAB Topics Covered: 1.Problem Solving 2.Top-Down.
Model of Instructional Technology Stuti Garg EDIT 6100 Introduction to Instructional Technology Spring 2007 Instructor: Dr. Michael Law.
B.A. (English Language) UNIVERSITI PUTRA MALAYSIA Second Semester 2011/2012 BBI 3211 (English for Specific Purposes)
Making Decisions uCode: October Review What are the differences between: o BlueJ o Java Computer objects represent some thing or idea in the real.
Applications in Acquisition Decision-Making Process.
PROBLEM AREAS IN MATHEMATICS EDUCATION By C.K. Chamasese.
Morea Christenson Jordan Milliman Trent Comer Barbara Twohy Jessica HuberAlli Wright AJ LeCompte Instructional Model Problem Based Learning.
Big Ideas in Reading: Phonemic Awareness
The E ngineering Design Process Foundations of Technology The E ngineering Design Process © 2013 International Technology and Engineering Educators Association,
Math Leadership Support Network ’09-’10 Mathematics Leadership Support Network Presentation Provided Jointly by the P-12 Math and Science Outreach Division.
The E ngineering Design Process Advanced Design Applications The E ngineering Design Process Teacher Resource – The First Five Days: Day 2 © 2014 International.
Introduction to STEM Integrating Science, Technology, Engineering, and Math.
Structured Programming (4 Credits)
Teaching Games for Understanding (TGfU) As a Curriculum Model
Create a 5 Whys. Think about the purpose of maths and what type of mathematical learners you wish to create in the classroom.
Learning Target Cycles Chris Coombes
EVALUATION AND SELFASSESSMENT SYSTEMS FOR THE VIRTUAL TEACHING: MULTIPLE CHOICE QUESTIONNAIRES Claudio Cameselle, Susana Gouveia Departamento de Enxeñería.
The single most important skill for a computer programmer is problem solving Problem solving means the ability to formulate problems, think creatively.
Inductive and Deductive Reasoning  The pre-requisites for this chapter have not been seen since grade 7 (factoring, line constructions,..);
Grade 7 & 8 Mathematics Reporter : Richard M. Oco Ph. D. Ed.Mgt-Student.
Connected Math Program Teaching and Learning Through Problem Solving.
Approaches Workbook Conditioned Games – Teacher Answers.
Lesson Planning in the Elementary Classroom By: Sara Peck.
Making Common Core Standards Work For ALL Students Unwrapping the standards “focused alignment of curriculum, assessment, and instruction” *Information.
Lesson Planning: A Backward Design Approach September 22- week 4.
1 Fahiem Bacchus, University of Toronto CSC384: Intro to Artificial Intelligence Game Tree Search I ● Readings ■ Chapter 6.1, 6.2, 6.3, 6.6 ● Announcements:
Program Design and Implementation – Problem Solving as a Process for Teaching Mathematics - Exploring relationships between participants’ teaching and.
Welcome to Everyday Mathematics
Presenters: Wei-Chih Hsu Professor: Ming-Puu Chen Date: 12/18/2007
Presented By: Mme Michelle Luff Madeline Symonds Middle School
Developing effective faculty processes for quality assessment
Software Name (Function Type)
Problem Solving and Programming CS140: Introduction to Computing 1 8/21/13.
TESTING AND LANGUAGE TEACHING
Unit# 9: Computer Program Development
Exploring Computer Science Lesson 4-11
Pseudo-Code Conditional Branches
Presentation transcript:

Learning Difficulties in Computer Programming By Dr SC Li

CS Curriculum Programming Information Processing Computer Systems Teaching Syllabus % 60% 50%20%30%

Is Programming becoming obsolete in school curriculum?

Pros & Cons  (+) Programming is a job skill, and that programming instruction should not be included in a general school curriculum  (-) Programming is a subject where one can learn effective problem solving skills

Pros & Cons  (+) Programming is a job skill, and that programming instruction should not be included in a general school curriculum  (-) Programming is a subject where one can learn effective problem solving skills Relatively little empirical support

Case Study Case Study  What is(are) the root(s) of the problems envisaged by the student?

Problem with teaching and learning programming  What are the problems of teaching and learning of programming in local context?

Problem with teaching and learning programming  The root of this problem lies in the beliefs that:  syntax is is the most important thing to learn in a programming course  student has had to waste the majority of his/her patience, concentration, and effort on keeping the syntax of my programs straight, leaving barely enough of these qualities to devote to solving the problem

Problem with teaching and learning programming  It is hard for students to make any meaning out of the programming skills they have learned.

Inert Knowledge  Example:  Geometry students typically understand each step in a proof, as the teacher puts it on the board, line by line.  They see their teacher develop a proof line by line, and not surprisingly, they think they should be able to do the same.  However, when attempting to do a proof for homework, students often have no idea where begin.

Inert Knowledge  Why?  Do mathematicians develop proofs in such an orderly, linear fashion?

Inert Knowledge  Mathematicians develop proofs in a nonlinear, search process.

Teaching Programming Textbooks syntax and semantics of constructs in a language focus

Teaching Programming Why should learning where to put a semicolon in Pascal lead to enhanced problem-solving ability? the lack of impact of programming on problem- solving Focus on instruction of the syntax and semantics

Teaching Programming Problem Solving theories, rules, operators, heuristics initial state: a set of symbols goal state Problem ProductProcessvs.

Teaching Programming Research Studies A lack of heuristic in composing and coordinating components of a program Learning difficulties

Problem-solving with Programming problem-solving skills ability to explore alternative ways (variability) of solving the same problem -- Soloway (1988)

How variability is currently taught  Nice, clean, straightforward “ step-wise ” refinements of problem  students nod their heads at every step in the transformation but don ’ t see - because they are not shown - the myriad of design decisions that have been left out.  Textbook shows that only one decomposition is needed to derive a program, students believe that they too should only do one decomposition. Structured programming

How variability is currently taught Variability FOR Loop Construct vs. WHILE Loop Construct TEXTBOOKSTEXTBOOKSTEXTBOOKSTEXTBOOKS

 What is the student supposed to learn from this variability? When is one more appropriate than the other?  Students:  Why then textbooks show both? Why should I learn both structures when one is equivalent to the other? How variability is currently taught

 In sum, the little variability that is explicitly shown in the majority of textbooks actually gives students the wrong idea of why variability is important: textbooks focus on the twiddles at the construct level. radically  It does not require the students to think about the problem in “ radically ” different ways. How variability is currently taught

Variability in Novice Programmer Problem-solving poor solution better solution perturbation (local) (global)

 To help novices break out of the local search (variation) to a global search of solutions: Variability in Novice Programmer Problem-solving Solution Evaluation Skills Variability Exploration Skills

 Solution Evaluation Skills  Novices need better evaluation skills so that they can better characterize and differentiate “ poor ” solutions from “ better ” solutions.  Variability Exploration Skills  Novices need to understand the sources of variability that precede simple twiddling with language constructs, for the ability to generate “ radically ” different solutions resides lies in the skill of exploring alternatives in those earlier problem-solving phases Variability in Novice Programmer Problem-solving

 Phases in the Novice Program Generation Process  Understand problem specification  Decompose problem into programmable goals and objects  Select and compose plans to solve problem  Implement plans in language constructs  Reflect - Evaluate final artifact and overall design process Variability in Novice Programmer Problem-solving

Rock-paper-Scissors Problem:  Rock-paper-Scissors is a two player game. Each player simultaneously makes one of three possible gestures, signifying either rock, paper, or scissors. The winner is determined by the following rules:  1. Paper covers rock  paper wins  2. Scissors cut paper  scissors win  3. rock breaks scissors  rock wins  4. Same gesture  draw Introducing variability in the first three phases

Rock-paper-Scissors Problem:  write a program that takes as input the two players ’ gestures and determines who the winning player is, player 1, player 2, or neither. The input should be encoded as follows: 1=rock, 2=paper, 3=scissors. Your program should also ask for how many games to play and then play that many games, keeping track of the number of player 1 wins, player 2 wins, and draws. Print out the over-all results after all games have been played. Introducing variability in the first three phases

 The “ Rules ” Characterization  The “ Payoff Matrix ” Characterization  etc. Introducing variability in the 1st phase

 The “ Rules ” Characterization  1. If the two gesture are paper and rock, THEN the winning gesture is paper.  2. If the two gesture are scissors and paper, THEN the winning gesture is scissors.  3. If the two gesture are rock and scissors, THEN the winning gesture is rock.  4. If the two gesture are the same, THEN neither gesture wins. Introducing variability in the 1st phase

 Encoded Rules  1. If the two gesture are 2 and 1, THEN 2 wins.  2. If the two gesture are 3 and 2, THEN 3 wins.  3. If the two gesture are 1 and 3, THEN 1 wins.  4. If the two gesture are the same, THEN neither gesture wins. Introducing variability in the 1st phase

 Object: Gesture  1 = rock is the gesture  2 = paper is the gesture  3 = scissors is the gesture  Object: Winning-gesture  0 = neither gesture wins  1 = rock is winning gesture  2 = paper is winning gesture  3 = scissors is winning gesture Introducing variability in the 1st phase

 The “ Payoff Matrix ” Characterization Introducing variability in the 1st phase DrawPlayer 2 winsPlayer 1 wins DrawPlayer 2 wins DrawPlayer 2 wins rock paperscissors rock paper scissors Player 2 Player1Player1

 The “ Payoff Matrix ” Characterization Introducing variability in the 1st phase Player 2 Player1Player1

 Object: Winning-player  0 = neither player wins  1 = player 1 is the winning player  2 = player 2 is the winning player Introducing variability in the 1st phase

 The “ Rules ” Characterization   selection plan  The “ Payoff Matrix ” Characterization   formula plan  winning-player := (gesture1 - gesture2 + 3) mod 3; Introducing variability in the 1st phase

 Even a novice who knows how to generate alternate alternative characterizations might stop after generating the first unless they are explicitly instructed.  The alternative characterization might lead to a “ worse ” solution, but even then it would be an opportunity for the novices to improve their plan evaluation and differentiation skills.  Generating alternative characterizations puts the student in a position to make informed judgements in identifying the advantages and disadvantages of alternative plans. Introducing variability in the 1st phase

 For instance:  The payoff matrix characterization leads to a formula plan that is very concise, but may be hard to understand because it is so concise.  The rule characterization leads to a less concise selection plan, but it may be easier to understand because it is similar to our common-sense intuitions about how people actually play the game. Introducing variability in the 1st phase

Introducing variability in the 2nd phases

Activity  With regard to the rule characterization of the RPS problem, generate multiple approaches to problem decomposition (phase 2) and selection and composition of plans (phase 3) to solve the problem. Introducing variability in the 2nd and 3rd phases