iconic programmer a visualization tool for teaching concepts without context
TRANSCRIPT
Iconic Programmer
A Visualization Tool for Teaching Concepts without Context
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 Algebra before MCV (MathWorlds) Code before algorithms
Outline
Computer programmingTeaching programming – current practiceThe Iconic ProgrammerUsing the Iconic ProgrammerResearch Issues
What is Programming?
Computer programs you interact with…
Non-computer “programs” you do…
Concepts
Series of actions / instructionsAlgorithm
Actions Decisions Objects Inputs/Outputs
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 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 lost on context
Concepts
Processes Actions and decisions States and entities
Algorithms Logical organization of ideas
The Iconic Programmer
Pure graphical programming interfaceMinimalistRealVisually intuitiveInteractive
Programming Concepts
Actions SequenceDecisions BranchingRepetitions Looping
Programming Context
Data manipulation Basic math
• Number games
• Telephone menus
Input and output
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 Creation of my number Your attempts to guess
Decisions
Feedback and interaction
Need to allow multiple paths / actions
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 is based on a decision
Program 3
Repeated guessing
Linear search
Program 4
A complete program
Binary search
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