Faculty of Sciences and Social Sciences HOPE Structured Problem Solving An Introduction Stewart Blakeway
Faculty of Sciences and Social Sciences HOPE Aims of the presentation to quickly list the skills to be developed on the SPS strand of the course to officially start the course
Faculty of Sciences and Social Sciences HOPE 3 Skills to be developed in the SPS strand of the course Problem Solving Skills Programming Skills Team Interaction Skills Presentation Skills Reflective Skills The most important bit
Faculty of Sciences and Social Sciences HOPE 4 Skills to be developed in the SPS strand of the module Problem Solving Skills Programming Skills Team Interaction Skills Presentation Skills Reflective Skills
Faculty of Sciences and Social Sciences HOPE 5 Problem Solving Skills Analysis of Problems – Crossing a busy road – Eating a Pie – Cooking a Pie – Climbing Mount Everest ?????? – Getting PieEater to do something complicated – Writing other software to do something complicated
Faculty of Sciences and Social Sciences HOPE 6 Problem Solving Skills Analysis of the Structure of Solutions – Sequence – Selection – Repetition
Faculty of Sciences and Social Sciences HOPE 7 Problem Solving Skills Structured English – Sequence – Selection – Repetition
Faculty of Sciences and Social Sciences HOPE 8 Skills to be developed in the SPS strand of the module Problem Solving Skills Programming Skills Team Interaction Skills Presentation Skills Reflective Skills
Faculty of Sciences and Social Sciences HOPE 9 Programming Skills Introduction to Java – Java Programming Constructs – Java Trainer – The PieEater Java revisited – Object Oriented Concepts – BlueJ Integrated Development Environment ( – The PieEater again plus Close Friends – Graphics and Animation
Faculty of Sciences and Social Sciences HOPE 10 Programming Skills Data Structures – Selection of Appropriate Data Structures – Sorting – Searching
Faculty of Sciences and Social Sciences HOPE 11 Skills to be developed in the SPS strand of the module Problem Solving Skills Programming Skills Team Interaction Skills Presentation Skills Reflective Skills
Faculty of Sciences and Social Sciences HOPE 12 Team Interaction Skills Animation Problems – Solved in Groups – Coded in Groups – Tested in Groups
Faculty of Sciences and Social Sciences HOPE 13 Skills to be developed in the SPS strand of the module Problem Solving Skills Programming Skills Team Interaction Skills Presentation Skills Reflective Skills
Faculty of Sciences and Social Sciences HOPE 14 Presentation Skills Presentation of Working Animations – Demonstration of the Running Animation – Explanation of the Choice of Variables – Explanation of the Algorithmic Design – Explanation of the Data Structures Selected – Discussion of Possible Enhancements
Faculty of Sciences and Social Sciences HOPE 15 Skills to be developed in the SPS strand of the module Problem Solving Skills Programming Skills Team Interaction Skills Presentation Skills Reflective Skills
Faculty of Sciences and Social Sciences HOPE 16 Reflective Skills Reflect on Team Work Activities Reflect on the Scope of the Task Highlight Possible Failings in the Mechanics of the Team Work Activity Suggest Possible Improvements to Team Work Interaction
Faculty of Sciences and Social Sciences HOPE 17 Let the course begin …..
Faculty of Sciences and Social Sciences HOPE 18 Your First Seminar createpieeater(); pendown(); walk(); penup(); walk(); pendown(); turnright(); walk();
Faculty of Sciences and Social Sciences HOPE 19 Let’s Loop-the-Loop createpieeater(); while (test) { actions; } other actions; Sequences of Actions each Ending with a Semi Colon No Semi Colons
Faculty of Sciences and Social Sciences HOPE 20 Semi-colons: a working rule Do not put them at the end of while() if () { } Do put them at the end of other lines int a; a = 7; turnleft();
Faculty of Sciences and Social Sciences HOPE 21 while (test) { } test – clearahead – direction != “SW” – pieinsight clearahead and pieinsight are either true or false direction != “SE” can be evaluated to either true or false
Faculty of Sciences and Social Sciences HOPE 22 Loop Operation while (test) { actions; } other actions; Evaluate test truefalse
Faculty of Sciences and Social Sciences HOPE 23 Test is True while (test) { » actions; } other actions; Enter Body of Loop Execute [actions;] Evaluate test Again Body of Loop
Faculty of Sciences and Social Sciences HOPE 24 Test is True while (test) { » actions; } other actions; Enter Body of Loop Execute [actions;] Evaluate test Again
Faculty of Sciences and Social Sciences HOPE 25 Test is True while (test) { » actions; } other actions; Enter Body of Loop Execute [ actions; ] Evaluate test Again
Faculty of Sciences and Social Sciences HOPE 26 You Get the Idea
Faculty of Sciences and Social Sciences HOPE 27 Test is False while (test) { » actions; } other actions; Jump to other actions ; and Continue with the Rest of the Program
Faculty of Sciences and Social Sciences HOPE 28 {actions;} walk(); pendown(); penup(); turnleft(); turnright(); You add the rest
Faculty of Sciences and Social Sciences HOPE 29 Selection The if statement allows us to specify alternative actions depending upon a test
Faculty of Sciences and Social Sciences HOPE 30 if (test) { } else { } if (pieinsight) { eatpie(); } else { walk(); } Selection
Faculty of Sciences and Social Sciences HOPE 31 if inside a loop createpieeater(); randompies(20); while (clearahead) { if (pieinsight) { eatpie(); } else { walk(); }
Faculty of Sciences and Social Sciences HOPE 32 Counting loops - for int i; createpieeater(); for (i=0; i<5; i++) { walk(); }
Faculty of Sciences and Social Sciences HOPE 33 In Conclusion Problem Solving is a Skill – Riding a Bicycle – Swimming – Keeping Awake in Lectures It Cannot be Learned Quickly It Cannot be Learned without Practice Every Failure is Part of the Learning Process
Faculty of Sciences and Social Sciences HOPE Lecture Exercise 1 Draw the following grid
Faculty of Sciences and Social Sciences HOPE Trace out the following program createpieeater(); turnright(); pendown(); while (clearahead) { walk(); }
Faculty of Sciences and Social Sciences HOPE Lecture Exercise 1 Answer
Faculty of Sciences and Social Sciences HOPE Lecture Exercise 2 Write the program for
Faculty of Sciences and Social Sciences HOPE Lecture Exercise 2 Answer createpieeater(); int i; for (i=1 ; i<=4 ; i++) { while (clearahead) { walk(); } turnright(); }
Faculty of Sciences and Social Sciences HOPE Lecture Exercise 3 – spot the syntax error createpieeater(); int i; for (i=1, i<=4, i++) { while (clearahead) { walk() } turnright();
Faculty of Sciences and Social Sciences HOPE 40 In Conclusion Programming Languages are Merciless – Syntax Matters – Semi Colons can be Dangerous – In Conclusion: }
Faculty of Sciences and Social Sciences HOPE 41 Questions? Next… – Problem Solving in your seminars More loops If statements – Next lecture on Algorithms – Setting of assessment next week