9
Assessment 1 – Understanding the Problem Jordan Bird- 149074887 CS1320 – Problem Solving October 27, 2014

Assessment 1 PROBLEM SOLVING - Final Version

Embed Size (px)

Citation preview

Page 1: Assessment 1 PROBLEM SOLVING - Final Version

Assessment 1 – Understanding the Problem

Jordan Bird- 149074887

CS1320 – Problem Solving

October 27, 2014

Page 2: Assessment 1 PROBLEM SOLVING - Final Version

Assessment 1 – Understanding the Problem | Jordan Bird- 149074887

Page 1 of 8

“Hours spent playing with a new software package can save minutes reading the manual” - Paul Vickers, 2008

Introduction

I have been tasked with taking an as yet unsolved problem in the seeker’s own words. In this paper I am going to take the issue, understand it in my own words, research and speculate to ultimately reach the nature of the solution of solving the problem in the correct manner. Importantly, the nature of the solution is required in this instance and not the actual solution itself as stated in the guide for this assignment1. This paper may use possible solutions for examples but the goal here, as first mentioned, is to take the issue raised, understand said issue, and then also provide an insight to the nature of the actual issue and solution. I must provide three main bodies of information: - How I understand the problem that is presented, through my own personal description of

the problem. - How I understand what the problem is actually asking of me, again in my own words. - Finally, the approach I used in understanding the problem. This is detailed throughout and

then summarized, explained, and reflected upon in the final section.

Method

As detailed in the description, I am required to understand the problem, and the natures of the method in which to reach a solution and also the nature of the solution itself. To do this, I am going to follow Paul Vickers’ How to Think Like a Programmer, Problem Solving for the Bewildered2, which describes and explains a method of solving a problem. Step one in Vickers’ book is to “understand the problem”3 – I am going to follow this point via its sub-steps (Vickers takes each main step of the process and sets it into smaller more manageable steps) to provide an outline in solving the issue provided.

Understanding the Problem

Before a plan is even in its preliminary stage, we must actually understand the problem. This is arguably the most important stage of solving an issue as failure to do so could result in the wrong issue being solved, as exampled in the “read it through several times” substage. Therefore these steps are meticulously followed to give the most personally accurate

1 Aston University, Birmingham. (2014). CS1320 - Problem Solving Assessment 1 - Understanding the problem. Available: https://vle.aston.ac.uk/bbcswebdav/pid-653118-dt-content-rid-2236062_1/courses/2014_CS1320/Assessments/CS1320CW01.pdf. Last accessed 17 October 2014. 2 Paul Vickers. (2008). Chapter 2. In: How to Think Like a Programmer, Problem Solving for the Bewildered. : Cengage Learning. ISBN-10: 1408065827. 3 (as ref 2) pp. 30-37

Page 3: Assessment 1 PROBLEM SOLVING - Final Version

Assessment 1 – Understanding the Problem | Jordan Bird- 149074887

Page 2 of 8

understanding of the problem at hand as possible. To reiterate before the process is followed, this method was published by Paul Vickers4

1. “Read it through several times” Failure to read the problem or task through more than once is a sure way to fail understanding the problem and falling at the first hurdle as it was. When I first read the problem, thoughts of possibilities of solving the problem began to go through my mind. GPS tracking, communication between bicycles, mobile apps with pointers on a satellite map. Detailing these solutions following the rest of the steps Vickers has laid out would have been a great way to show a solution, but would have scored 0%. Almost falling foul to this easy mistake, I read through the wording of the issue and task, and eventually realized that it wasn’t a solution I was looking for – but the detail in the nature of finding the solution. The process. “Reading it through several times” was the reason for this positive result, therefore if I were to solve the actual bicycle problem in another task, I would read that brief multiple times as well. I would do this as to fully know what I am expected to do and save myself countless hours solving the correct problem, as oppose to wasting precious time because of a slight misunderstanding that grows into more and more problems.

- Result of this step for this issue at hand – After reading it through several times, I need to lay out my own understanding of the problem once each step of explanation has been detailed as it will be the conclusion of such. I also need to meticulously describe what I’m actually being asked to do, which inevitably will take place throughout this document but will be again detailed in the final conclusion. Finally, I need to use a certain approach in this issue which is again heavily detailed throughout but still noted in the final summary.

- Result of this step for the issue raised – Multiple readings left me with a clear conclusion of the issue. Firstly, let’s take the original brief for the task – “Mary is a commissaire for road cycle races. As a commissaire, she and her team have to manage the race to ensure the safety of the riders and the public. For small road races with small fields (< 20 riders), the task of tracking the riders and the team of official vehicles is easy. As the race grows in size tracking where riders are in the race and where all the commissaire vehicles, lead cars, support vehicles, and medical vehicles becomes difficult. Radio communications become jumbled or get lost and confusion can quickly occur.” Multiple read-throughs of this led me to the following personal statement “Mary is asking me to map out a system for a large cycle race which can track important data such as positioning of officials and their vehicle as well as communicate with them to change and manage their positions for unknown situations, it is also a system which should manage less important tasks

4 Paul Vickers. (2008). Chapter 2. In: How to Think Like a Programmer, Problem Solving for the Bewildered. : Cengage Learning. ISBN-10: 1408065827, ch. 2 pp. 30-37

Page 4: Assessment 1 PROBLEM SOLVING - Final Version

Assessment 1 – Understanding the Problem | Jordan Bird- 149074887

Page 3 of 8

2. “Identify principal parts” Identifying the main parts of the issue is very important for any question. Although a GCSE tipsite, Examsolutions provides tips towards identifying principal parts of the question5 speaking of the uselessness of some information clouding other, useful facts, as it is very easy to be tripped up by jargon within the questions. This point can be applied to our question, as there is much weight to the question although it is quite simple. This following process is taking the issue and taking out the vital information. Let’s take our problem, and highlight the main key points and facts. “Mary is a commissaire for road cycle races. As a commissaire, she and her team have to manage the race to ensure the safety of the riders and the public. For small road races with small fields (< 20 riders), the task of tracking the riders and the team of official vehicles is easy. As the race grows in size tracking where riders are in the race and where all the commissaire vehicles, lead cars, support vehicles, and medical vehicles becomes difficult. Radio communications become jumbled or get lost and confusion can quickly occur.” If we take the bold key facts, we are left with a simple problem free of jargon. “A Commissaire for cycle races has to manage safety by tracking the riders, and official vehicles.” This is now a simple problem that could only be taken in one way, we now have a very clear understanding of the problem and have translated it in such a way that it could be interpreted in one way by anyone. Evaluation: This point in Vickers’ process is very useful as it means I can take my understanding of the issue and put it into words for anyone to understand. Although to me personally it is not a larger change, I could have done this without noting my understanding, but it is difficult when in a situation where I am not the only participant. This point in Paul Vickers’ problem solving process is extremely useful in a teamwork environment as it means all of the members of the team fully understand the issue at hand, which means the team can work to a much higher standard free of issues coming about from misunderstood members.

3. Restate and represent the problem Visually representing the problem can give a much clearer understanding of the problem. Nrich’s study research specifically speaks about visualizing problems and how it can provide a much clearer point of view through stepping into the problem, modelling, and planning ahead6. Piggott and Woodham also speak here about this method being a starting point (and here we are at our starting point) and that it is also an important factor throughout the whole problem solving process. Therefore visualizing the issue will go on to aid us not only to understand the problem but also in actually solving the problem. Below I have created a diagram to visualize the outcomes of the problem. The higher towards the top of the diagram are the more important factors the solution must have and lower down are those that could make the solution better but are not direly needed. Therefore when we are

5 Examsolutions. (Unknown year of publication). How to avoid common mistakes. Available: http://www.examsolutions.net/gcse-maths/gcse-exam-tips.php. Last accessed 20th October 2014. 6 Jennifer Piggott and Liz Woodham. (First published 1996). Thinking Through, and By, Visualising. Available: http://nrich.maths.org/6447. Last accessed 20th October 2014.

Page 5: Assessment 1 PROBLEM SOLVING - Final Version

Assessment 1 – Understanding the Problem | Jordan Bird- 149074887

Page 4 of 8

working towards a conclusion, we know which issues to work on first and which to work on later, we now have a real plan for going about solving the problem. This level of understanding goes beyond simply text as it lays out the problem in such a way that we can understand it for the most part after only reading a few cue words on the image.

Fig 1. My diagram visualizing task priority. Evaluation: this step for me personally was the most pungent and strongest point in the problem solving process discussed. I feel this way because it gave me a much greater understanding of the issue and therefore helped greatly in this stage of understanding the problem. If I were to develop my own personal problem solving process, I would most definitely create a figurative diagram to visualize my goals, due to how much this has helped.

4. What are the knowns of the problem? Taking into account what we already know may seem simple to start with, but it can save us much hassle later on and will save the embarrassment of researching things we already know. Pulling apart the question in this way will also leave the unknowns for the next step which are far more useful. If we take our previous principals that have formed a new form of the issue, “A Commissaire for cycle races has to manage safety by tracking the riders, and official vehicles.” from this we can pinpoint what we know in note form for ease of reading:

Bicycle race

Safety is of paramount importance

Riders and vehicles all need tracking These may be simple points but now we have an extremely easy short list of facts of what we actually know, compressing our understanding of the facts and therefore the problem in such a way we are reduced to a few bullet points. This is very helpful as it will lead us on to the next point.

Ensure the safety of all riders

Ensure the fairness of the

race

Be manageable

Track the riders accurately

Have automated suggestions to better prepare for unknowns

Be an improvement of modern technology

Mu

st

Sho

uld

C

ou

ld

Page 6: Assessment 1 PROBLEM SOLVING - Final Version

Assessment 1 – Understanding the Problem | Jordan Bird- 149074887

Page 5 of 8

Evaluation: The documentation of the known facts here to me is almost useless and therefore I would say that this stage is quite weak in the process. Although with this in mind, on the other hand, if this stage wasn’t thought of, the unknowns would be much harder to spot in the next step and therefore in actual fact this is actually quite useful in that regard. Due to it helping with understanding the problem with this point in mind, I do now feel that although time consuming, this step prevents any unknown facts going unnoticed and therefore I feel that this step is needed in some regard. If I were to perform this step in the future, I would most definitely use far less time on the stage in a knowns and unknowns section as an improvement to the method, I would split the information into these two groups in one simple small step.

5. What are the unknowns? If we compare the above points with the question, we can form a list of unknowns, that will need to be addressed in research now if possible, and if not, before the problem solution is worked towards to a higher extent.

What is a commissaire? – Personally when this question was raised, I had to admit to myself that I wasn’t actually sure what a commissaire was. For this reason, I realized that this was quite important as it was the client we are designing the system for. According to the Oxford English Dictionary, a Commissaire in cycling terms is “an official at a cycle race or other sporting event.”7 From this we can see clearly now that Mary is the lead official in the race and that it is extremely likely there are many other commissaires at her employ.

How many riders will take part in the race? How many vehicles are part of the race too? – The answer to both of these could not be derived unless we went to the client herself. Although we can imply that from the brief, “(< 20 riders)” are manageable without this system which more than likely means that the system is in place for races of undefined limit but more than 20 riders. If we take a look at the other extreme, the Cape Town Cycle tour has around 35,000 participants89. I believe that if we are creating a computer system to manage the commissaire duties in the race, then it should be able to scale to any size of race. This will fulfil the safety of the riders aspect from fig.1. This means we need our system to scale now too.

Where will the race take place? The race conditions depend very heavily on where it takes place. The lush French countryside and Bolivian “Death Roads” are both stages for cycle racing10 11. Again, as above, if the system is scalable to situate a differing number of riders, it should also be able to be used worldwide in any situation of terrain.

From these few small points we have learned much about the problem and also the unknown (at this point) solution. We have learned what a Commissaire actually is firstly. We have also

7 E. S. C. Weiner (1884-1991). The Oxford English Dictionary: Clarendon Press 8 Equatours Ltd. (Year of publication unknown). Secure Your Place on the Cape Town Argus

Cycle Tour 2015 Now! Available: http://www.equatours.co.uk/cape-argus-cycle-tour-

2015/4578165538. Last accessed 20th October 2014. 9 Cycle the Cape Blog. (October 2014). Cape Town ‘Argus’ Cycle Tour 2015 – Sold Out in 8-

Hours! Available: http://cyclethecape2014.wordpress.com/2014/10/01/cape-town-argus-cycle-tour-2015-sold-out-in-8-hours/. Last accessed 20th October 2014. 10 Amaury Sport Organisation. (2014). 2014 Tour Route. Available: http://www.letour.com/le-

tour/2014/us/overall-route.html. Last accessed 20th October 2014. 11 Author uncredited. (Date of publication unknown). THE WORLD'S MOST DANGEROUS

ROAD. Available: http://www.gravitybolivia.com/?mod=tempview1&id=1251406369. Last accessed 20th October 2014.

Page 7: Assessment 1 PROBLEM SOLVING - Final Version

Assessment 1 – Understanding the Problem | Jordan Bird- 149074887

Page 6 of 8

learned that the solution (the system) needs to scale to situate any number of riders and terrain conditions. Our understanding is expanded once again, as there is no stone unturned in the way that we understand all of the facts within the brief. Evaluation: This part of the process expanded my understanding far more as it brought the problem to a more understandable standard, as it took away any looming doubt over the issue at hand. The only way I think this could be improved is that if I were to understand these unknowns before visualizing the problem – as the unknowns could have caused problems for that stage and therefore hampered my understanding of the problem. Thankfully this was not the case, but still a possibility. Other than the ordering of the stage, its expansion of my understanding of the problem leads me to believe this is a very important stage in Vickers’ work.

6. Does the problem have sub problems? Sub problems can break up the issue at hand and make it much more manageable. I believe we have already completed this step with the reworded question and diagram fig.1. Using them we can derive a list of problems to be solved

Solving the problem of rider safety

Solving the problem of race fairness

Solving the problem of manageability

Solving the problem of tracking the riders

Solving the problem of tracking the vehicles These problems are the main important issues raised in the brief itself. Now we have the sub problems of the main problem at hand (designing a race management system), it also puts them in such a perspective we can understand Mary’s problem much easier – we now have a literal list of what we need to do to solve the issue – and although we are not yet required to do so, we have a great amount of understanding in a hierarchical orderly sense now. Evaluation: Splitting up the problem helped me understand the problem much better than beforehand as it gave a set of small manageable tasks instead of one main one. It will also allow for a better solution as I now have a checklist of priorities. For these reasons I feel this stage in the process is extremely useful.

7. Is it similar to a problem you have solved before? “Design a system for a client to serve a purpose” is a very open problem which can be applied to many things we have all done before. Personally I have solved an issue like this during A-Levels when tasked with building a computer system to suit a client. Understanding the client’s needs (a gamer with a high budget) it led me towards a conclusion (powerful hardware specialized for rendering). Thinking back to how I approached this problem, I now have a stronger understanding of the problem as I can now relate it to something in the past I have already experienced. Evaluation: This point in Vickers’ methodology is I feel the weakest link in the chain. I feel that even without this previous knowledge of problem solving, I could have quite easily gone from step 6 to 8 without much difference. Learning from experience is extremely useful in some situations, but for understanding the problem, less so. I feel I will use this mindset later on in the problem solving process, but the understanding process is fairly unnoticeably different to how it would have been without this step.

Page 8: Assessment 1 PROBLEM SOLVING - Final Version

Assessment 1 – Understanding the Problem | Jordan Bird- 149074887

Page 7 of 8

8. How do parts of the problem relate to each other? Relationship between issues lets us compress the problem even more. Our original list from step 6 can now be compressed but still arranged into sub-problems due to their similarity.

Solving the problem of rider safety

Solving the problem of a manageable and fair race

Solving the problem of tracking the riders and vehicles This list is now much easier to understand, and we are now left with even less steps to take while solving the same amount of problems. Evaluation: Personally I found this stage for this problem wasn’t too useful at all. I feel that the relationships between issues were already noticed through the other stages of simplifying the problem. It’s for this reason that I believe that this is one of the weaker points in Paul Vickers’ process, but is useful if some of the relationships were missed so it is useful as a finishing step to maybe improve the understanding if it can be. The effectiveness of many of the previous steps was so much that, this step is almost unneeded other than for the reasons explained.

9. Sleep on it Finally, Vickers’ plan ends with one final step, sleeping on the problem – taking time away from the issue to let thoughts settle and manifest, naturally finding the solution subliminally. Psychological research has shown that sleeping on a problem does indeed help reach a conclusion, researchers found that REM (rapid eye movement) sleep helps to organize and link together thoughts as oppose to letting them ‘float’ unlinked12. We can apply this research to the fact that sleeping on the issue may help us understand the problem further: Evaluation: In the days it took to write this report, I had slept on the issue multiple times. The transforming, improving ideas documented on sticky notes on my bedside cabinet and desk go to show how useful ‘walking away’ from the problem is. Although skeptical at first, this evidence goes towards the argument that this point in Vickers’ process is important. Although on the other hand, I feel that in the sense of understanding the problem, I would have reached the same conclusion in steps 1-8 as in 1-9, so it is by far less useful than the other stages.

Summary and final conclusions.

“I need to lay out my own understanding of the problem once each step of explanation has been detailed as it will be the conclusion of such.“, “I also need to meticulously describe what I’m actually being asked to do, which inevitably will take place throughout this document but will be again detailed in the final conclusion.” – I would say that ultimately my personal description of the problem is “A Commissaire for cycle races has to manage safety, monitoring and fairness by tracking the riders, and official vehicles. – she requires you to design a system to do so.” This final, easy to understand conclusion has been reached over the course of following the Understanding the Problem Process. I am required to design a technological system which can manage racers and officials which takes safety as its main concern, and can also provide

12 Susan Kuchinskas. (April 2010). Got a Problem? Try Sleeping on It. Available: http://www.webmd.com/mental-health/features/need-to-solve-a-problem-try-sleeping-on-it. Last accessed October 2014.

Page 9: Assessment 1 PROBLEM SOLVING - Final Version

Assessment 1 – Understanding the Problem | Jordan Bird- 149074887

Page 8 of 8

management for fairness of the race (it can prevent cheating or similar accidental issues). It could also do many other things, but these can be documented later on in the solution as firstly we only need to solve the main issues that are briefed to us, any useful extra features will come far later in the process. “Finally, I need to use a certain approach in this issue which is again heavily detailed throughout but still noted in the final summary.” – The approach I have made use of during this investigation was Paul Vickers’ approach to problem solving as well as my own personal knowledge and research skills: Effectiveness of Vickers’ methodology – I have used Vickers methodology throughout and I feel that it is an extremely useful tool in understanding the problem. It is the reason I have now resulted in a clear understanding of the issue. The separate effectiveness conclusions can be found in the evaluation notes at the end of each stage in the problem solving process, as I believe that many of the steps are very useful, with the exception of a couple which are usually already completed in the previous steps of thinking.