Year 8 Digital Design (DD) Introduction to Programming using Jeroo Yingxi Fu 8.13 Inquiring and Analyzing Developing Ideas Creating the Solution Evaluating Need for a solution Design specification Plan Test plan Research Design ideas Technical skills Evaluate solution Existing products Chosen design Design changes Improvements Design brief Detailed design Solution presentation Impact of solution Rubric Rubric Rubric Bibliography Rubric To see Outline in the left panel: View > Show document outline Developing ideas Design Specification Use the “Developing Ideas - Pre-planning” task on Schoology to help you develop your Design Specification. Story: After your Jeroo friends threw a party last night and got really drunk, they accidentally forgot to lock you and your friends’ joint safe that contains everyone’s life savings of winsum flowers. Now all their life savings are all over the island and they need you to help them collect it. You are promised to get 50% of the winsum flowers you picked, and your life savings back, if you make it back safely without being caught in nets set by poachers or drowning. # 1 Design Specification Island Type Maze Reason Why did you pick this island type? 1. You can’t solve it by hardcoding. 2. It is harder as it is hard to predict all the exact turns. This encourages risk taking, trying out different paths before finding the right way. 2 Features Number of Jeroos: 1-3 Shape of land, water: Different island sizes, modify the sizes and made some of the islands bigger than normal. Number of flowers: Varies in different mazes. Too many flowers to count. More than 20. Obstacles: at least 25 Nets, a lot of water surrounding paths Why did you choose these features? 1. Jeroo numbers: 2. Different shape and sizes of Island: Different island sizes and shapes enhance the challenge, requiring strategic planning and navigation. The programmer can’t just hardcode it. The programmer would learn to adapt to changes and create a code that works regardless of the island size. 3. Different number of flowers: Makes the challenge a bit less predictable, so the programmer’s ending code should work for any other related mazes with similar patterns. The programmer can’t just match the amount of flowers with nets, and throw away unused flowers, and use this as a way to let Jeroo know to stop when it has 0 flowers. The programmer would have to create a specific system of collecting, the main skill learned in this lab. 4. At least 20 flowers: This gives the Jeroo more things to do, more flowers to collect, so the program isn’t that short and the programmer has to really think outside the box and consider all the flowers on the island. 5. A lot of obstacles: Net: Has a negative association and reputation as disaster, so our instinct would be to avoid it. This lab trains you to utilize the challenges (nets) at your advantage. As the nets are like bridges over water to another path sometimes. Water: To make the Jeroo’s life difficult and force it to utilize the nets as bridges. 3 Pre-conditions 1. Jeroo can only start with 1 flower. 2. No more than 3 Jeroos may be used. 3. Use no more than 3 while loops. 4. Use the least amount of if conditions possible, preferably not more than 10. 5. The Jeroo can begin at any land tile or flower on each island (as long as it is not a net or water and is a similar spot on all 4 islands) and ends anywhere as long as the task is complete. 6. Jeroo faces east on instantiation and east at ending. 7. Any amount of custom methods is allowed, but only 2 lines of code (that are not instantiation or method calls) in the main method are allowed. 4 Post-conditions 1. All flowers must be picked up in the end. Why did you decide on these pre-conditions? 1. makes the programmer utilize the functions on the island (you have to pick up flowers along the way, something you have to strategize). 2. Still want to give a sense of freedom to the user, but too many Jeroos used would make it too easy. 3. To make sure the programmer’s code is clear and concise and as simple as possible. We don’t want to use too many while loops when it can be solved with one, or else the code would be too long and complicated. 4. Too many ”if” conditions make the programmer too slow and inefficient. We want the program to run smoothly. 5. It gives the programmer some creative freedom for their own unique strategy. 6. I just like it that way. 7. It makes sure that there aren’t too many repetitive code or any hardcoded lines. The programmer would have to optimize the amount of lines allowed. Why did you decide on these post-conditions? 1. It is linked to the task mission, and makes sense. Since there isn’t really a front and end stop, it gives the programmer something to do. Furthermore, I want the programmer to challenge themselves and go through all obstacles to pick up every flower. They can’t avoid it. 5 Functionality Do the Jeroo(s) have “must-do” actions or “must-go” locations? Jeroos must collect all the flowers. They may end anywhere as long as the flowers are cleaned up. His friends would collect him since he is holding their life supply of winsum flowers. The Jeroo is going to go through every single path as I have specifically laid flowers on all the paths in the 4 mazes. 6 Additional Requirements Add more rows to the table as needed... Design ideas Design Iteration #1 Based on your Design Specification, create 4 islands on Jeroo. Remember to save your jev files in your project folder! Island 1 Island 2 What is the purpose of these must-do or must-go requirements? It just fits the story and makes it more interesting. Collecting all the flowers just make it more challenging as the Jeroo has to run through every path and this is the start to many creative strategies to make sure the Jeroo collects all the flowers. Island 3 Algorithm expressed in English Island 4 Create a system of collecting. 1. Collect systematically - since Jeroo program does not support backtracking and is extremely limited, it is easy to get lost. - Jeroo should collect row by row or column by columns. 2. Observe carefully first. Know when your program should stop running. Is there a specific spot that lets you know when to stop? - Hint: Use another Jeroo as a stop mark at the right bottom corner. 3. More than one custom method should be used to organize your code. There are a lot of scenarios that need to be taken into account. 4. Break nets instead of avoiding them. - avoiding would just make the path messy and confusing. - your real enemy is the water. 5. Island 3 is extremely crucial, it is where your strategy is extremely important and would be the key to solving the other islands. Don’t start with Island 1 despite it being the easiest - it might just confuse you when solving the other islands. Seek feedback from your teacher here: Feedback on the islands The islands look very challenging. Seems ok. State somewhere that the jeroo can start on any location as long as it is land or flower on all the islands. Feedback on algorithm State the objective. State the ending condition more clearly. Design Iteration #2 - Design iteration #1 is actually my 5th draft for each maze, (I forgot to record all the other drafts) and according to the feedback the islands don’t really have any specific problems. I also checked that it matched all the design specifications. I might make changes in “Creating the Solution”. Make changes to your islands and remember to save your updated jev files! Island 1 Island 2 (7th draft) I realised it was unsolvable Island 3 Island 4 Algorithm expressed in English (updated) Describe in words the overall strategy or steps of solving your challenge. Objective: The goal is for the Jeroo to collect all flowers on the island while breaking through nets, avoiding water, and following a systematic collection method. (A systematic collection is a must for the programmer if they can do it in other ways, but it really helps to have a system) Starting Position: The Jeroo can begin at any land tile or flower on each island.(as long as it is not a net or water) Key: 1. Choose a Strategy: Decide whether to collect flowers row by row or column by column. This approach minimizes confusion and helps prevent getting lost as Jeroo program does not support backtracking, and various other functions (like determining coordination the Jeroo is at throughout the running of the program) 2. Observation: Before starting, observe the layout of the island to identify the best path for collection. 3. Stop Condition: (not a must but it helps) Use another Jeroo placed at the bottom right corner of the island as a visual marker for when to stop collecting flowers. Once all flowers are collected and the Jeroo collecting the flowers reaches the other Jeroo, the process is complete. 4. More than one custom method should be used to organize your code. There are a lot of scenarios that need to be taken into account. 5. Break nets instead of avoiding them. - avoiding would just make the path messy and confusing. - your real enemy is the water. 6. Key to Strategy: Island 3 is critical for developing an effective strategy. It is recommended to start with Island 3 instead of Island 1( despite it being the easiest), as it will provide insights that you might not be able to see from the other islands. 7. Ending Condition: The algorithm ends when all flowers are collected, and the Jeroo reaches the designated stop marker. (where is not a must but the flowers must all be collected) At this point, the task is complete, and the Jeroo should face either east or west, not north or south. Chosen design Check your islands against the Design Specification. Design Spec Island 1 Island 2 Island 3 Island 4 Have at least 20 flowers Yes Yes Yes Definitely Different Island sizes Yes Yes Yes Definitely (48 by 48) Some islands are bigger than the usual islands (modified and increased rows and columns) Yes (the other islands are bigger than island 1 the easiest and smallest one) yes Yes Definitely (48 by 48) A lot of nets (defined as more than 25) Yes Yes Yes Definitely Water surrounding islands Yes Yes Yes Yes Jeroo has to break nets to collect all the flowers Yes Yes Yes Yes Different number of flowers yes yes yes yes ● At this stage, you should be able to conclude that your designs for all islands, and your algorithm, meet the design specifications. ● If your designs do not meet the specification, then you should make adjustments either to your proposed specs or to the design of the islands. Write a short paragraph explaining that your island sketches plus the algorithm does in fact address all of the features mentioned in your design specification. Conclusion The designs for all four islands, along with the algorithm, successfully meet all design specifications. Each island features at least 20 flowers, ensuring the Jeroo has enough to pick up and break the nets. The islands vary in size, with the first being the smallest and the fourth expanding to a larger 48 by 48 grid, providing a progressive difficulty curve. Each design has more than 25 nets as obstacles, requiring the Jeroo to strategically break them in order to collect all the flowers. The varying number of flowers across the islands encourages different strategies and problem-solving approaches. Overall, these elements combine to create interesting mazes that follow the design specifications. Detailed design The fourth step is to: 1. add additional details to your four island files (see Figures 1 and 2 below). 2. express your solution logic (algorithm) in a flowchart. Example of an annotated sketch - (delete when you are done with your report) Figure 4.1 - Annotated Sketch of an Island Figure 4.2 - Annotated Sketch of an Island Detailed annotated islands Island 1 Island 2 Island 3 White circles indicate jeroos’ position. Top left corner is Jeroo 1 and bottom right corner is Jeroo 2. Island 4 Paste Annotated Sketch of Island 4 Flowchart (I cannot guarantee it is 100% correct. I will have to test it out during Creating the Solution.) I feel like I still need to edit my algorithm. I will adjust it in Creating Solutions. But this is basically my strategy right now. Seeing from the annotations, I think I need a better strategy, as it wasn’t very efficiently done. Rubric Criterion B: Developing ideas I. II. III. IV. develop a list of success criteria for the solution present feasible design ideas, which can be correctly interpreted by others present the chosen design create a planning drawing/diagram which outlines the main details for making the chosen solution Level Descriptor 0 1-2 3-4 5-6 The student did not reach a standard described by any of the descriptors below. I. states one basic success criterion for a solution (basic specification) II. presents one design idea, which can be interpreted by others (one island plan only) III. creates an incomplete planning drawing/diagram. (incomplete final island plans) I. states a few success criteria for the solution (2-3 entries in specification with explanation) II. presents more than one design idea, using an appropriate medium(s) or labels key features, which can be interpreted by others (two to three island plans which can be easily understood by someone else, brief description of algorithm in English) III. states the key features of the chosen design (evaluated against the specs incompletely) IV. creates a planning drawing/diagram or lists requirements for the creation of the chosen solution. (Four final island plans) I. develops a few success criteria for the solution ( 4-5 detailed specification with explanation) II. presents a few feasible design ideas, using an appropriate medium(s) and labels key features, which can be interpreted by others (Four island plans and easily understood by others, description of algorithm in English with clear pre- and post-conditions) 7-8 III. presents the chosen design stating the key features (evaluated against all the specs and a conclusion is provided) IV. creates a planning drawing/diagram and lists the main details for the creation of the chosen solution. (Four final plans for the islands, clearly presented with all features listed or labeled, with a basic outline of how they could be solved, flowchart attempted) I. develops a list of success criteria for the solution (6 or more detailed specifications with explanation) II. presents feasible design ideas, using an appropriate medium(s) and outlines the key features, which can be correctly interpreted by others (Four island plans and easily understood by others, detailed description of algorithm in English with clear pre- and post-conditions, evidence of improvements based on teacher feedback) III. presents the chosen design describing the key features (evaluated against all the specs and a detailed conclusion is provided) IV. creates a planning drawing/diagram, which outlines the main details for making the chosen solution. (Four final plans for the islands that can plausibly be solved by one algorithm, clearly presented with all features listed and/or labeled. Detailed flowchart is included.)
0
You can add this document to your study collection(s)
Sign in Available only to authorized usersYou can add this document to your saved list
Sign in Available only to authorized users(For complaints, use another form )