1 / 41

Structured Problem Solving An Introduction

Structured Problem Solving An Introduction. Stewart Blakeway blakews@hope.ac.uk 0151 291 3113. Aims of the presentation. to quickly list the skills to be developed on the SPS strand of the course to officially start the course. Skills to be developed in the SPS strand of the course.

vail
Télécharger la présentation

Structured Problem Solving An Introduction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Structured Problem Solving An Introduction Stewart Blakeway blakews@hope.ac.uk 0151 291 3113

  2. Aims of the presentation • to quickly list the skills to be developed on the SPS strand of the course • to officially start the course

  3. Skills to be developed in the SPS strand of the course The most important bit • Problem Solving Skills • Programming Skills • Team Interaction Skills • Presentation Skills • Reflective Skills

  4. Skills to be developed in the SPS strand of the module • Problem Solving Skills • Programming Skills • Team Interaction Skills • Presentation Skills • Reflective Skills

  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

  6. Problem Solving Skills • Analysis of the Structure of Solutions • Sequence • Selection • Repetition

  7. Problem Solving Skills • Structured English • Sequence • Selection • Repetition

  8. Skills to be developed in the SPS strand of the module • Problem Solving Skills • Programming Skills • Team Interaction Skills • Presentation Skills • Reflective Skills

  9. Programming Skills • Introduction to Java • Java Programming Constructs • Java Trainer • The PieEater • Java revisited • Object Oriented Concepts • BlueJ Integrated Development Environment • (http://www.bluej.org/about/what.html) • The PieEater again plus Close Friends • Graphics and Animation

  10. Programming Skills • Data Structures • Selection of Appropriate Data Structures • Sorting • Searching

  11. Skills to be developed in the SPS strand of the module • Problem Solving Skills • Programming Skills • Team Interaction Skills • Presentation Skills • Reflective Skills

  12. Team Interaction Skills • Animation Problems • Solved in Groups • Coded in Groups • Tested in Groups

  13. Skills to be developed in the SPS strand of the module • Problem Solving Skills • Programming Skills • Team Interaction Skills • Presentation Skills • Reflective Skills

  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

  15. Skills to be developed in the SPS strand of the module • Problem Solving Skills • Programming Skills • Team Interaction Skills • Presentation Skills • Reflective Skills

  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

  17. Let the course begin …..

  18. Your First Seminar createpieeater(); pendown(); walk(); penup(); walk(); pendown(); turnright(); walk(); walk();

  19. Let’s Loop-the-Loop No Semi Colons createpieeater(); while (test) { actions; } other actions; Sequences of Actions each Ending with a Semi Colon

  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();

  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

  22. Loop Operation while (test) { actions; } other actions; Evaluate test true false

  23. Test is True Body of Loop while (test) { • actions; } other actions; Enter Body of Loop Execute [actions;] Evaluate testAgain

  24. Test is True while (test) { • actions; } other actions; Enter Body of Loop Execute [actions;] Evaluate testAgain

  25. Test is True while (test) { • actions; } other actions; Enter Body of Loop Execute [actions;] Evaluate testAgain

  26. You Get the Idea

  27. Test is False while (test) { • actions; } other actions; Jump to other actions; and Continue with the Rest of the Program

  28. {actions;} walk(); pendown(); penup(); turnleft(); turnright(); • You add the rest

  29. Selection • The if statement allows us to specify alternative actions depending upon a test

  30. Selection if (test) { }else { } if (pieinsight) { eatpie(); } else { walk(); }

  31. if inside a loop createpieeater(); randompies(20); while (clearahead) { if (pieinsight) { eatpie(); } else { walk(); } }

  32. Counting loops - for inti; createpieeater(); for (i=0; i<5; i++) { walk(); }

  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

  34. Lecture Exercise 1 • Draw the following grid

  35. Trace out the following program createpieeater(); turnright(); pendown(); while (clearahead) { walk(); }

  36. Lecture Exercise 1 Answer

  37. Lecture Exercise 2 • Write the program for

  38. Lecture Exercise 2 Answer createpieeater(); inti; for (i=1 ; i<=4 ; i++) { while (clearahead) { walk(); } turnright(); turnright(); }

  39. Lecture Exercise 3 – spot the syntax error createpieeater(); inti; for (i=1 , i<=4 , i++) { while (clearahead) { walk() } turnright(); turnright();

  40. In Conclusion • Programming Languages are Merciless • Syntax Matters • Semi Colons can be Dangerous • In Conclusion: }

  41. Questions? • Next… • Problem Solving in your seminars • More loops • If statements • Next lecture on Algorithms • Setting of assessment next week

More Related