Iconic Programmer A Visualization Tool for Teaching Concepts without Context.

22
Iconic Programmer A Visualization Tool for Teaching Concepts without Context

Transcript of Iconic Programmer A Visualization Tool for Teaching Concepts without Context.

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