iconic programmer a visualization tool for teaching concepts without context

22
Iconic Programmer A Visualization Tool for Teaching Concepts without Context

Upload: denis-hubbard

Post on 19-Jan-2016

225 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Iconic Programmer A Visualization Tool for Teaching Concepts without Context

Iconic Programmer

A Visualization Tool for Teaching Concepts without Context

Page 2: 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

Page 3: Iconic Programmer A Visualization Tool for Teaching Concepts without Context

Education

Fundamentals and Foundations First Math before engineering French grammar first Algebra before MCV (MathWorlds) Code before algorithms

Page 4: Iconic Programmer A Visualization Tool for Teaching Concepts without Context

Outline

Computer programmingTeaching programming – current practiceThe Iconic ProgrammerUsing the Iconic ProgrammerResearch Issues

Page 5: Iconic Programmer A Visualization Tool for Teaching Concepts without Context

What is Programming?

Computer programs you interact with…

Non-computer “programs” you do…

Page 6: Iconic Programmer A Visualization Tool for Teaching Concepts without Context

Concepts

Series of actions / instructionsAlgorithm

Actions Decisions Objects Inputs/Outputs

Page 7: Iconic Programmer A Visualization Tool for Teaching Concepts without Context

Implementation

public class Account{private Money balance;

public deposit (Money amount){

balance.add(amount);}

}

Page 8: Iconic Programmer A Visualization Tool for Teaching Concepts without Context

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

Page 9: Iconic Programmer A Visualization Tool for Teaching Concepts without Context

Issues

Programming (processes) are important

High anxiety / attrition

Students get lost on context

Page 10: Iconic Programmer A Visualization Tool for Teaching Concepts without Context

Concepts

Processes Actions and decisions States and entities

Algorithms Logical organization of ideas

Page 11: Iconic Programmer A Visualization Tool for Teaching Concepts without Context

The Iconic Programmer

Pure graphical programming interfaceMinimalistRealVisually intuitiveInteractive

Page 12: Iconic Programmer A Visualization Tool for Teaching Concepts without Context

Programming Concepts

Actions SequenceDecisions BranchingRepetitions Looping

Page 13: Iconic Programmer A Visualization Tool for Teaching Concepts without Context

Programming Context

Data manipulation Basic math

• Number games

• Telephone menus

Input and output

Page 14: Iconic Programmer A Visualization Tool for Teaching Concepts without Context

Actions

Declare Processes work on “objects”

Assign Random, mathematical, input

Output Text or data

Page 15: Iconic Programmer A Visualization Tool for Teaching Concepts without Context

Program 1

I have a number, try to guess it…

Actions Creation of my number Your attempts to guess

Page 16: Iconic Programmer A Visualization Tool for Teaching Concepts without Context

Decisions

Feedback and interaction

Need to allow multiple paths / actions

Page 17: Iconic Programmer A Visualization Tool for Teaching Concepts without Context

Program 2

You have three guesses to get my number…

Decisions Correct guess – yes/no

Actions/paths Guess again or stop

Page 18: Iconic Programmer A Visualization Tool for Teaching Concepts without Context

Repetition

Concept Guess, repeat

Repeat do the action/path over again Repetition is based on a decision

Page 19: Iconic Programmer A Visualization Tool for Teaching Concepts without Context

Program 3

Repeated guessing

Linear search

Page 20: Iconic Programmer A Visualization Tool for Teaching Concepts without Context

Program 4

A complete program

Binary search

Page 21: Iconic Programmer A Visualization Tool for Teaching Concepts without Context

Iconic Programming

Supplement to introductory high school or university programming courses

Three-week general science module Computers are pervasive Programming is a general skill

Page 22: Iconic Programmer A Visualization Tool for Teaching Concepts without Context

Research Issues

Kinesthetic thinking

Modes of interaction

Visualization models