Iconic Programmer A Visualization Tool for Teaching Concepts

  • Slides: 22
Download presentation
Iconic Programmer A Visualization Tool for Teaching Concepts without Context

Iconic Programmer A Visualization Tool for Teaching Concepts without Context

Overview Ø A Brief History of Science § Needs – food, clothing, shelter §

Overview Ø A Brief History of Science § Needs – food, clothing, shelter § Ideas – customs, tools, artistic creation § Improvements – rules, measurements, engineering design § Formalizations – mathematics, theory

Education Ø Fundamentals and Foundations First § § Math before engineering French grammar first

Education Ø Fundamentals and Foundations First § § Math before engineering French grammar first Algebra before MCV (Math. Worlds) Code before algorithms

Outline Ø Computer programming Ø Teaching programming – current practice Ø The Iconic Programmer

Outline Ø Computer programming Ø Teaching programming – current practice Ø The Iconic Programmer Ø Using the Iconic Programmer Ø Research Issues

What is Programming? Ø Computer programs you interact with… Ø Non-computer “programs” you do…

What is Programming? Ø Computer programs you interact with… Ø Non-computer “programs” you do…

Concepts Ø Series of actions / instructions Ø Algorithm § § Actions Decisions Objects

Concepts Ø Series of actions / instructions Ø Algorithm § § Actions Decisions Objects Inputs/Outputs

Implementation public class Account { private Money balance; public deposit (Money amount) { balance.

Implementation public class Account { private Money balance; public deposit (Money amount) { balance. add(amount); } }

Pedagogy Ø What is at the start of a text/course? § What is a

Pedagogy Ø What is at the start of a text/course? § What is a computer § How to input text into a file and compile § Programming syntax Ø Details…stuff that changes

Issues Ø Programming (processes) are important Ø High anxiety / attrition Ø Students get

Issues Ø Programming (processes) are important Ø High anxiety / attrition Ø Students get lost on context

Concepts Ø Processes § Actions and decisions § States and entities Ø Algorithms §

Concepts Ø Processes § Actions and decisions § States and entities Ø Algorithms § Logical organization of ideas

The Iconic Programmer Ø Pure graphical programming interface Ø Minimalist Ø Real Ø Visually

The Iconic Programmer Ø Pure graphical programming interface Ø Minimalist Ø Real Ø Visually intuitive Ø Interactive

Programming Concepts Ø Actions Ø Decisions Ø Repetitions Sequence Branching Looping

Programming Concepts Ø Actions Ø Decisions Ø Repetitions Sequence Branching Looping

Programming Context Ø Data manipulation § Basic math • Number games • Telephone menus

Programming Context Ø Data manipulation § Basic math • Number games • Telephone menus Ø Input and output

Actions Ø Declare § Processes work on “objects” Ø Assign § Random, mathematical, input

Actions Ø Declare § Processes work on “objects” Ø Assign § Random, mathematical, input Ø Output § Text or data

Program 1 Ø I have a number, try to guess it… Ø Actions §

Program 1 Ø I have a number, try to guess it… Ø Actions § Creation of my number § Your attempts to guess

Decisions Ø Feedback and interaction Ø Need to allow multiple paths / actions

Decisions Ø Feedback and interaction Ø Need to allow multiple paths / actions

Program 2 Ø You have three guesses to get my number… Ø Decisions §

Program 2 Ø You have three guesses to get my number… Ø Decisions § Correct guess – yes/no Ø Actions/paths § Guess again or stop

Repetition Ø Concept § Guess, repeat Ø Repeat do the action/path over again §

Repetition Ø Concept § Guess, repeat Ø Repeat do the action/path over again § Repetition is based on a decision

Program 3 Ø Repeated guessing Ø Linear search

Program 3 Ø Repeated guessing Ø Linear search

Program 4 Ø A complete program Ø Binary search

Program 4 Ø A complete program Ø Binary search

Iconic Programming Ø Supplement to introductory high school or university programming courses Ø Three-week

Iconic Programming Ø Supplement to introductory high school or university programming courses Ø Three-week general science module § Computers are pervasive § Programming is a general skill

Research Issues Ø Kinesthetic thinking Ø Modes of interaction Ø Visualization models

Research Issues Ø Kinesthetic thinking Ø Modes of interaction Ø Visualization models