ACSE 2006
8th Conference
The Iconic Programmer
Stephen Chen
Overview
Actual slides from first three weeks
Want students to focus on
programming concepts rather than
(JAVA) syntax
Want students to learn to think in
structures (i.e. problem solve)
ACSE -- The Iconic Programmer
2
Structured Programming
Focus on processes – focus on actions
3 structures of structured programming
Sequence
Perform an action
Branch
Select an action (or no action)
Loop
Repeat an action
ACSE -- The Iconic Programmer
3
Iconic Programmer
Each structure has an icon
Program by assembling icons
ACSE -- The Iconic Programmer
4
Sequence
Standard operation of a computer
Actions are performed in sequence
First action
Second action
…
Last action
Program runs same way each time
ACSE -- The Iconic Programmer
5
Actions
Action
Manipulate data
Iconic Programmer
Declare
Assign
Output
ACSE -- The Iconic Programmer
6
Declarations
A computer needs to allocate storage
space for all data that it manipulates
Declaration gives a meaningful name to
the data element/storage space
Iconic Programmer
Only integer data elements
Give name in text box
ACSE -- The Iconic Programmer
7
Assignments
Once the computer has a storage
space, it can store/change data in that
space
Iconic Programmer
Random value
Result of mathematical expression
User input
ACSE -- The Iconic Programmer
8
Mathematical Expressions
value = value +1 (math)
The value is equal to the value plus one
Impossible mathematically
value = value + 1 (computers)
The storage space for value will become
the previous contents plus one
Actions: perform math, perform storage
ACSE -- The Iconic Programmer
9
Output
When computer is done with program
(or during debugging), we may want to
see the result – what is in a storage
space
Iconic Programmer
Value in storage space
Text information (nominally stored)
ACSE -- The Iconic Programmer
10
Sample Program
Output the double and triple of an input
Declare a storage space
Assign an input value to the storage space
Declare a second storage space
Assign double the input to this space
Output the value in the second space
Assign triple the input to this space
Output the value in the second space
ACSE -- The Iconic Programmer
11
Branching
Branching allows a program to make
decisions
Diamonds represent conditions
Two outgoing paths from condition
Paths (with sequences) can be skipped
ACSE -- The Iconic Programmer
12
Example of Branching
Program specification
Make withdrawal if funds are sufficient
Program actions
Check account balance and withdraw
amount
Make withdrawal
Need to make withdrawal optional
ACSE -- The Iconic Programmer
13
Decisions
Branching selects from two paths
Two paths two states
true
false
(yes)
(no)
Diamond contains a condition
A condition is a true-false question
ACSE -- The Iconic Programmer
14
Relational Operators
How to turn integers into true/false?
Greater than
Less than
Equal to
Not equal to
Greater than or equal to
Less than or equal to
ACSE -- The Iconic Programmer
15
Compound Conditions
Allow us to put two (or more) subconditions into a condition
AND
OR
ACSE -- The Iconic Programmer
16
AND
The expression is TRUE if and only if
both input variables are TRUE
TRUE FALSE
1
0
TRUE TRUE FALSE
1
1
0
FALSE FALSE FALSE
0
0
0
ACSE -- The Iconic Programmer
17
OR
The expression is TRUE if either input
variable is TRUE
TRUE
1
FALSE
0
ACSE -- The Iconic Programmer
TRUE
1
TRUE
1
TRUE
1
FALSE
0
TRUE
1
FALSE
0
18
Inclusive and Exclusive OR
Computers use inclusive OR
Stop the bus if passengerA OR
passengerB wants to get off
Exclusive OR is different
You can get $1000 cash back or 0%
financing
ACSE -- The Iconic Programmer
19
Two Branches
Did you roll a doublet?
die1 == die2 double move
Normal move
ACSE -- The Iconic Programmer
20
Multiple Branches
What is your grade classification?
>= 80 honours
>= 60 pass
Not pass
ACSE -- The Iconic Programmer
21
Looping
In Sequence and Branching, each
action is performed at most once
Looping allows certain actions to be
repeated
Keeps programs from getting large and
unmanageable
ACSE -- The Iconic Programmer
22
Example of Looping
Program specification
Program
Take user inputs until they guess correctly
Declare and initialize number
Declare guess
Input and compare guess
Input and compare guess
…
ACSE -- The Iconic Programmer
23
Looping Icon
Loops have same components as
branches
Condition selects one of two paths
Optional path “loops back” to condition
ACSE -- The Iconic Programmer
24
Java syntax – branches
Basic shell
if (/*boolean expression*/)
{
// conditional statements
}
ACSE -- The Iconic Programmer
25
Java syntax – exclusive
branches
if (/*boolean expression*/)
{
// conditional statements
}
else
{
// default statements
}
ACSE -- The Iconic Programmer
26
Java syntax – multiple branches
if (/*boolean expression*/)
{
// conditional statements
}
else if (/*boolean expression*/)
{
// more conditional statements
}
ACSE -- The Iconic Programmer
27
Java syntax – loops
Basic shell
while (/*boolean expression*/)
{
// repeatable statements
}
ACSE -- The Iconic Programmer
28
Common Error
Decision to loop does not require a
branch
Decisions are not structures
Branches - selected actions
Loops - repeated actions
ACSE -- The Iconic Programmer
29
Sample Program –
Telephone Banking
Write a program that implements an
ATM interface
1 – get balance
2 – deposit
3 – withdraw
9 – end session
What are the key structures?
ACSE -- The Iconic Programmer
30
© Copyright 2026 Paperzz