220 likes | 240 Views
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.
E N D
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 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…
Concepts • Series of actions / instructions • Algorithm • 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 interface • Minimalist • Real • Visually intuitive • Interactive
Programming Concepts • Actions Sequence • Decisions Branching • Repetitions 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