ITECH1101 Assignment 1 Design Documentation
ITECH1101 Assignment 1: Design Documentation Federation Assignment
This is an individual assignment that requires you to design a small program that you will later implement using block-based coding using MIT Scratch (https://scratch.mit.edu/). You will follow a problem solving process to identify a problem, devise creative solutions for that problem and ultimately select a problem you wish to solve with your program. You will then design one or more algorithms that attempt to solve the selected problem. No coding is included in this assignment.
Timelines and Expectations
Percentage Value of Task: 20%
Due: Sunday, Jan 6th, 2023- Week 7
Minimum time expectation: 12 hours
Learning Outcomes Assessed
The following course learning outcomes are assessed by completing this assessment:
- K2. Relate goal-setting and plan formulation to problem solving
- K3. Compare and contrast commonly used problem solving strategies
- K4. Describe tools and techniques that can be used to model and describe problems
- K5. Describe the value of reflection, attitude and self-efficacy towards success in problem solving
- S1. Decompose a problem and create goals and plans to solve that problem
- S2. Devise and implement problem solving strategies which can be applied to a range of IT problems
- S3. Develop and verify algorithms based on conceptual models used in programming
- S4. Construct documentation describing how to solve a problem
- A1. Apply problem solving strategies, tools and techniques to solve problems in a variety of domains
Assessment Details ITECH1101
Your task is to design an original program that in some way incorporates searching, the colour red, and your student id. You are not required to implement the program for this assessment. Some ideas for your program could include:
- A number search program where the player needs to search through a selection of numbers in an assortment of colours, in order to locate the red numbers of your student id in order.
- A stacking program where the player needs to search for particular red items and stack them in separate piles to represent your student id pictorially.
- A quest for the ITECH1101 trophy, in which characters shaped like the numbers of your student id work together to defeat the red villains who hide the whereabouts of the trophy.
The idea for the program is entirely your choice within this scope, provided it can be implemented in Scratch v3.
Important Note Before You Begin
This assignment does not require you to do any coding; you are focusing on the design of the program only. You will be working on implementation of your program for Assignment 2, however there is no expectation that you must completely implement your program in order to gain high marks. You are not being assessed on how good your program is, or how complicated its design, or anything else that assumes you already have a level of coding ability. Instead, the focus is on your problem solving skills. When you encounter a challenge, how do you respond? What strategies do you employ? How do you proceed when your first (or first several) attempts are unsuccessful? For your assignment, this means two key things:
- Even though you are able to freely see and access existing Scratch programs, copying someone else’s work does not provide you with any benefit. Copying existing work does not allow you to practise your problem solving skills, and so you would not receive high marks for the submitted work. It is what you, personally, achieve that counts, not what you’re able to source from someone else.
- The complexity of your program idea allows you to control the level of problem solving you need to perform. If you are a novice coder, pick a simple idea, or an idea that starts simply but can easily be expanded. Conversely, if you are an experienced coder, your program will need to include some complexity. Only you know your current capabilities, and so it is up to you to choose an idea that interests you and that pushes you just beyond your current capabilities so that you have the opportunity to demonstrate your problem-solving skills. If, when you get to the coding activities, you find that your choice was too simple, you can add further complexity. You will not be penalized for submitting an incomplete implementation of your program, but you will be penalized if you have chosen a task that does not provide you the opportunity to problem-solve appropriately. HND Assignments !!
Using Scratch v3
Some interactive tutorials are available within Scratch; and others are available here: https://projects.raspberrypi.org/en/codeclub/scratch-module-1 to help you learn how to use the Scratch interface and create programs.
This assignment requires you to create design documentation for a program of your choice, which in some way combines searching, the colour red and your student id.
Your program must:
- Be challenging for you, so that you are able to demonstrate your problem solving skills.
- Require you to use a variety of problem solving strategies / techniques to complete.
- Be creative.
- Include behaviour that you can attempt to code later using Scratch v3, and be within the capabilities of Scratch v3. You may not use any other programming environment for this assignment.
Your program must not be something that you can solve by following previously created instructions (even with minor modifications) or downloading existing programs. Looking at other examples and completing tutorials to help you learn is fine, but copying other work is not counted as using problem-solving skills. You need to think through what your program requires for yourself.
Your task is to develop design documentation for your program. This needs to incorporate:
- A list of potential ideas for your program, identified using creative problem-solving skills. You are permitted to work with other people to generate ideas, but if any other people involved are students of this course, you must select different program ideas for your own work. You must also name every person who has contributed to this task and state their contribution.
- The idea you have chosen for your program, and an explanation of why you have chosen this idea based on your current capabilities with programming and problem-solving.
- A list of requirements for your program. This may include rules or the boundaries of what your program will do, so you have a clear idea of how it will behave. These requirements may continue to evolve as you work on this assignment, but you need to document something to get started. If you change the requirements while working on this assignment, you must also update the documented list of requirements.
- One or more sketches that give an idea of what you think your program will look like. These do not need to be highly detailed or worthy of inclusion in an art gallery.
- One or more algorithms to implement all the behaviour (not the appearance) of your program. You may need to break your requirements down into smaller sub-tasks to achieve this, and should include statements that make the purpose of each task or subtask clear.
- A reflection on your algorithms that considers the challenges you encountered developing the algorithms, how you responded to these challenges, and how accurately you believe your algorithms will perform their intended functions.
Your design documentation must be submitted as a Microsoft Word file or a .pdf file only, in the assignment submission box provided in Moodle. Your documentation will be evaluated for originality using TurnItIn.
Refer to the marking rubric at the end of this document.
Marks will be uploaded in fdlMarks and a completed marking feedback sheet uploaded in Moodle within 2 weeks of the assessment due date.
Plagiarism is the presentation of the expressed thought or work of another person as though it is one’s own without properly acknowledging that person. You must not allow other students to copy your work and must take care to safeguard against this happening. More information about the plagiarism policy and procedure for the university can be found at http://federation.edu.au/students/learning-and-study/online-help-with/plagiarism.