This assessment is about Computer Programming and writing efficient code. You need to do one taskby coding a Minecraft Agent & complete the 'scope/plan/implement/test' document.
In the Code Connection, MakeCode editor you can explore all the code blocks available. If you Right-Click on a code block you are given several options. One is Help. This opens a panel in the Code Connection to explain the code block.
The Task
There are a number of different tasks, you must choose one to implement
Program an agent to collect sunflowers (a minimum of 12).
Program an agent to plant melon and wheat (10 of each), also irrigate around the crop.
Program an agent to plant a forest of three different types of trees (10 of each type of tree).
Program an agent to create a chess board using black and white wool (64 squares - 8 x 8).
Practical requirements
So that you have a standard testing environment it would be a good idea for you to save your Minecraft assessment world. Save several versions so that if one is corrupted you have other to use.
Once you have your program is working the LL (Mr Smirk) needs to record a movie of your program executing. This can easily and quickly be done and is required for moderation of the standard. Indicate to the LL when you want the recording done.
A final name code file (.mkcd file type) should be also submit.
Specifications
Plan: Your plan will be in the form of pseudocode, check the example documentation for more information.
Implementation: You should be using MakeCode to fully implement your code and then copy it into your google document. It should include code commenting. Testing: Before you implement your code you should construct your test scenarios (The different areas you want to test your program for). Then you should run tests and debug problems.
The plan should include:
- A variety of variables (e.g. num, go, width, ) storing at least two types of information (e.g. number, Boolean, string) - Assignment of variables (e.g. setting num to 0) - Predefined actions (e.g. Agent move forward by 1, Agent till forward etc) - Sensor Input( Agent detect block forward) - Control Structure(the program stops running when it has completed the task) - Selection Control Structure (e.g. If statements with then and else.) - Iteration Control Structures (e.g. While and If statements) - Accurate variable names (flowers rather then f) - Testing and debugging to fix the program
When you are constructing an implementing a plan for your Minecraft program you must allow for the following:
- The agent is planned to move among the environment - The agent is programmed to harvest or place the blocks as seen fit - You use a number variable to record either distance or the amount of the task that has been completed - The agent gives feedback at the end of the program letting the user know that it has finished - You should record where you want the agent to start its task - The agent should only collect or place what is required as per the brief you are given - Flexibility to deal with random occurrences such as bedrock being in the way and quick adaptation of the program i.e. changing one variable will change the scope of the program
HOW TO GET ACHIEVED-MERIT-EXCELLENCE
ACHIEVED
In order to get an achieved for both AS91076/AS91075 you will need to do the following: - Record the task you are to complete - Declare and use two different types of variables - Create a plan to complete the task the includes the following: a) A loop b) An If Statement c) A sequential Structure d) Sensing (input) - Code the plan that you created - Include code comments for your code that describe what it is doing. - Construct 3 - 5 different test scenarios for the task - Record and run the 3 - 5 different tests
MERIT
In order to get an achieved for both AS91076/AS91075 you will need to do the meet the achieved criteria and do the following: - Variable Names must be well chosen i.e. BridgeLength as opposed to yourmum - Code is simplified by the use of functions - The actions, conditions and control structures are well chosen - Learner is to complete both the plan and coding for the plan independently
Independence means the Learner:
Owns the planning (takes responsibility for achieving a quality plan)
Is well-organised, self-starting, self-managing
Does their own decision-making
Manages their files carefully so that they are easily retrieved at the start of the next period
Carries out appropriate checking and testing and takes corrective action as necessary
Recognises and deals with issues promptly instead of allowing them to blow the timeline
Is always able to describe what they are doing, why, and where their planning is up to
- The plan and code must complete the task without irregular behaviour. - The code comments must 'accurately' describe what the code is doing - You must complete 5 - 8 tests in total that deal with the boundary's of the program
EXCELLENCE
In order to get an achieved for both AS91076/AS91075 you will need to do the meet the Merit criteria and do the following:
- The plan/code needs to be efficient and not repeat code - The plan/code needs to be robust and flexible enough to deal with random pieces of Bedrock (invalid inputs) - Code Comments must explain or justify why certain code has been used - You must complete 8 - 10 tests in total that also deal with invalid input (random pieces of Bedrock)
:::::::WARNING::::::: HAVE YOU READ THE MARKING SCHEDULES? HAVE YOU REVIEWED THE ASSESSMENT EXAMPLE?? HAVE YOU LOOKED AT THE ASSESSMENT TEMPLATE???
NZQA JUSTIFICATION - technical notes about the assessment
MakeCode and the Code Connection MakeCode was developed by Microsoft to try to make programming more accessible to more people. It uses a version of the Blocky language developed by Google. The PXT (Programming Experience) interface is very intuitive and has great help features. Students can explore the interface, right click on code blocks to get help and try try code combinations quickly and easily. MakeCode allows programs to be saved to disk with the .mkcd extension. These programs can be imported into the MakeCode to continue the programs development. A good strategy is to save versions of your code by adding a number to the name. Always check there is a .mkcd extension or the program won't open the next time you want to use it.
The Code Connection works well but can glitch. If it does you may need to restart the computer system. Remember Save, Save, and Save otherwise you are likely to be put back by losing work.
Tasks Given The tasks set up for this assessment contain enough rigour to allow learners to construct a basic or advanced program. In MakeCode learners can program an agent to complete regular tasks in Minecraft. They have to combine programming logic and predefined procedures in order to complete these tasks. The tasks will be completed within suitable controlled environments run in Minecraft.
VOCABULARY DEFINITION
The following are general terms of the assessment from AS91075/AS91076 that have been defined for this assessment.
Input= The Minecraft Agents can sense blocks in front of them and items collected. For example Agent Detect Block Forward will return true or false depending if there is a block in front of the turtle. Expected Inputs = For the tasks expected inputs will be within the confines of the task i.e. The turtle will gather no more then 5 flowers or will sense the ground. Boundary Inputs = For the tasks boundary inputs will refer to blocks and items in the known area. Invalid Inputs = In the world of Minecraft, there is a block called bedrock. This rock cannot be mined or moved. It or other obstacles can be placed at random in the world so that Excellence learners can code to avoid them. Sequence Structures = The plan or code in in a logical sequence. Iterative Structures = The plan or code contains either a for loop or while loop. Selective Structures = The plan or code contains selective loops (while loops) or if statements Predefined Actions = These are actions already stored within MakeCode such as Agent Move Forward which tells the agent to move one square forward. Well chosen and irregular behaviour = The Agent should be programmed to only perform the task given and do it in a straight forward manner it shouldn't be doing anything else.