Presentation is loading. Please wait.

Presentation is loading. Please wait.

ACSE 2006 8 th Conference The Iconic Programmer Stephen Chen.

Similar presentations


Presentation on theme: "ACSE 2006 8 th Conference The Iconic Programmer Stephen Chen."— Presentation transcript:

1 ACSE 2006 8 th Conference The Iconic Programmer Stephen Chen

2 ACSE -- The Iconic Programmer 2 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)

3 ACSE -- The Iconic Programmer 3 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

4 ACSE -- The Iconic Programmer 4 Each structure has an icon Program by assembling icons Iconic Programmer

5 ACSE -- The Iconic Programmer 5 Sequence Standard operation of a computer Actions are performed in sequence  First action  Second action  …  Last action Program runs same way each time

6 ACSE -- The Iconic Programmer 6 Actions Action  Manipulate data Iconic Programmer  Declare  Assign  Output

7 ACSE -- The Iconic Programmer 7 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

8 ACSE -- The Iconic Programmer 8 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

9 ACSE -- The Iconic Programmer 9 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

10 ACSE -- The Iconic Programmer 10 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)

11 ACSE -- The Iconic Programmer 11 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

12 ACSE -- The Iconic Programmer 12 Branching allows a program to make decisions  Diamonds represent conditions  Two outgoing paths from condition  Paths (with sequences) can be skipped Branching

13 ACSE -- The Iconic Programmer 13 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

14 ACSE -- The Iconic Programmer 14 Decisions Branching selects from two paths Two paths  two states  true (yes)  false (no) Diamond contains a condition  A condition is a true - false question

15 ACSE -- The Iconic Programmer 15 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

16 ACSE -- The Iconic Programmer 16 Compound Conditions Allow us to put two (or more) sub- conditions into a condition  AND  OR

17 ACSE -- The Iconic Programmer 17 AND The expression is TRUE if and only if both input variables are TRUE TRUE 1 FALSE 0 TRUE 1 TRUE 1 FALSE 0 FALSE 0 FALSE 0 FALSE 0

18 ACSE -- The Iconic Programmer 18 OR The expression is TRUE if either input variable is TRUE TRUE 1 FALSE 0 TRUE 1 TRUE 1 TRUE 1 FALSE 0 TRUE 1 FALSE 0

19 ACSE -- The Iconic Programmer 19 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

20 ACSE -- The Iconic Programmer 20 Two Branches Did you roll a doublet?  die1 == die2  double move  Normal move

21 ACSE -- The Iconic Programmer 21 Multiple Branches What is your grade classification?  >= 80  honours  >= 60  pass  Not pass

22 ACSE -- The Iconic Programmer 22 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

23 ACSE -- The Iconic Programmer 23 Example of Looping Program specification  Take user inputs until they guess correctly Program  Declare and initialize number  Declare guess  Input and compare guess  …

24 ACSE -- The Iconic Programmer 24 Looping Icon Loops have same components as branches  Condition selects one of two paths  Optional path “loops back” to condition

25 ACSE -- The Iconic Programmer 25 Java syntax – branches Basic shell if (/*boolean expression*/) { // conditional statements }

26 ACSE -- The Iconic Programmer 26 Java syntax – exclusive branches if (/*boolean expression*/) { // conditional statements } else { // default statements }

27 ACSE -- The Iconic Programmer 27 Java syntax – multiple branches if (/*boolean expression*/) { // conditional statements } else if (/*boolean expression*/) { // more conditional statements }

28 ACSE -- The Iconic Programmer 28 Java syntax – loops Basic shell while (/*boolean expression*/) { // repeatable statements }

29 ACSE -- The Iconic Programmer 29 Common Error Decision to loop does not require a branch Decisions are not structures Branches - selected actions Loops - repeated actions

30 ACSE -- The Iconic Programmer 30 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?


Download ppt "ACSE 2006 8 th Conference The Iconic Programmer Stephen Chen."

Similar presentations


Ads by Google