Search for question
Question

KAPLAN Assessment Task Information Key details: Assessment title: Module Name: Module Code: Tutor's Name: Assessment will be set on: Feedback opportunities: Assessment is due on: Assessment weighting: INTERNATIONAL PATHWAYS Programming Assignment Part 2 Information Technology FC308 Peer feedback on class, tutor feedback 40% Assessment Instructions What do you need to do for this assessment? In this assessment you are required to develop and test a Python program and then write up a report about your solution. This document contains two scenarios, but the student only needs to provide a program and essay about one of the scenarios. Students can choose either Scenario A or Scenario B, but not both. You are encouraged to speak with your tutor about which of these Scenarios you are best suited to solve, and how best to progress. Students should complete the task based on the scenario chosen and provide evidence to meet all the criteria. Evidence must be provided to show key elements of this assessment: • Analysis of the scenario and the application of computational thinking skills. • Technical understanding of the data structures, algorithms, functions, and data types. • Development of a programming solution in Python. The testing and evaluation of the solution during the development process and at the end of the development. The following sections should be included in the report submitted: 1. Analysis 2. Design (Using an algorithm) 3. Technical Overview 4. Developing the Codded Solution 5. Testing to Inform Development 6. Testing to Inform Evaluation 7. Evaluation of Solution 8. References Kaplan International Pathways 1 kaplanpathways.com The sections are described on the following page. It is recommended that you consult the marking rubric and marking check list to identify the weighting that goes with each of the categories and the scores for each category. This page and the following page contain a short description of what each of the sections. 1. Analysis The analysis section should contain an analysis of the scenario which is being worked on. In this section students should identify what is important about the scenario. It is important that this section contain a set of success criteria which indicate what features the solution should have and can be used later in the report to assess how well the final program fulfils the success criteria. In this section students should consider the requirements that all stakeholders have and anticipate any likely features that are complimentary to the ones identified in the scenario. The analysis can also draw upon research into other applications and into the needs of the stakeholders. 2. Design (Using an algorithm) The design section should include a description and representation of the algorithms that are going to be used in the making of the final project. The algorithms that are designed should be represented using either flowcharts or pseudocode, and the correctness and completion of these representations will be considered in the awarding of marks. If there are elements that are key for the final program missing from the representations of the algorithms this will negatively impact this section. Hence, it is recommended that these algorithms be as complete as possible and contain comments where appropriate. 3. Technical Overview The technical overview section should contain a detailed description of the data structures, programming techniques and methods used in programming the final solution. This means that students should identify and describe the use of things like iteration, selection, and the use of sub functions in the code (built in Python functions or ones that are defined in the code). It also means that students should describe the nature of the data structures that are used in the project. In other words, the variable 'name' should be identified, and the type of data should be given (i.e., a string) and the purpose of that variable should be identified. The same should be done for complex data structures. It is also recommended to include a justification for the use of the type of variable for storing the data in the program. 4. Developing the codded solution This section should contain a complete list of the final python code, and that code should contain comments which describe that code. If there are elements in the final Python project which are not planned in the design section or technical overview, this will likely reduce the grade awarded. The omission of an explanation for the use of programming techniques indicates that the student may not fully understand the reason for using such programming techniques. If the student has used code from other sources such as the internet or a textbook, the code should be cited, and a reference should be included at the end of the report. A note about data storage: Students are reminded that only data storage methods that have been taught on the module should be used in the development of the program. If you are in doubt about whether the storage type that you have chosen is on the course, please speak with your tutor. Kaplan International Pathways 2 kaplanpathways.com 5. Testing to inform development This section should contain a description of the testing that went on during the development of the solution. Testing is an important part of the development process. For example, if data is to be stored in a text file for use in the program, the function for storing and retrieving the data from the file needs to be tested for it to work within the program as expected. It is also recommended that this section contain a description of how any code was changed to fix any problems encountered. Therefore, it is important that students record the changes that they have made to the code. 6. Testing to inform evaluation This section should contain a description of the systematic testing of the final project that is produced. It is recommended that the students use the success requirements identified in the analysis part of the report to direct their testing, although testing should not be limited to those areas identified in the analysis. Through the testing it is important that students assume that the user will not always input the required information or the required type of information into the program. The program should not fail or stop if the user does not enter the required data in the correct format so it is important for the student to test for edge cases and type errors etc that would raise exceptions or stop the program running as expected. 7. Evaluation of Solution In this section the final solution should be evaluated against the scenario that was presented to the student and against the success criteria that was identified in the analysis section of the report. The evaluation should draw upon the analysis section and consider the needs of all the stakeholders. The evaluation should also consider possible additions to the program that would add additional features or functionality that would be complementary to the program. 8. References A list of references that are in the Harvard referencing style should be provided along with citations in the text of the report to reference the materials used in the project. Guidance: For this assessment you should make use of the following formative activities and summative assessments that you have already completed. These activities have been designed to support this summative assessment: • Programming Assignment Part 1 Feedback • Formative Assessments for topics in the Programming and Computational Thinking Themes. Please note: This is an individual assessment so you should not work with any other student. Your tutor will also ask for a draft copy of your report and provide written feedback. Before you submit this assessment, you will have an opportunity to receive feedback from Kaplan International Pathways 3 kaplanpathways.com your peers (other students in the class). Your tutor will arrange a time for you to share and discuss your progress with your classmates. You do not have to act on their feedback, but you may find it useful to enhance your final submission. The task has been designed to encourage you to develop more sophisticated programs which can showcase your programming skills and allow you to develop more complex algorithms. The complexity and originality of your work will be considered in the awarding of a grade for this piece of work. The following pages contain Scenario A and Scenario B Scenario A: Vocabulary Builder Program Specification Introduction Abdullah works for an educational company that produces books and other materials to help school children study for their school subjects. Abdullah has been asked to produce a program in Python that helps children develop their vocabulary and learn the definitions of the words they learn in their classroom. The skills that Abdullah has been asked to quiz are remembering words, as well as their definitions, and the subjects that he can draw upon could be any subject that student's study in school such as Maths, Science, History, Art, Computer Science etc. INNOVATE to make changes in something established, especially by introducing new methods, ideas, or products. It has been suggested to Abdullah that he try to make a word game in which the user guesses the letters in a word and is then given a chance to guess what that word is or can simple guess the word given the number of characters it contains. Other suggestions include, testing to see if students can match the definitions of words with the words themselves. Abdullah thinks that it will be engaging to award points to students, or to keep track of the progress users make using the completion of tasks. Abdullah wants to create a user interface that allows students to login to the system and to do quizzes or word games that are designed to engage students in learning vocabulary, and to keep track of her progress through small quizzes or games that can be completed over a short time. Keeping track of the progress of that the user is making can be done through the awarding of points for completion of tasks, and these points can be shared or displayed in a high score list. Storage It is recommended that the vocabulary builder program should store: • A username and password for each user. . • • Either the score of the user or the progress the user is making with the games (or both). A comprehensive word list alongside their definitions that should be stored in an appropriate file. Student level or difficulty setting to tailor the learning experience to different levels or stages. Personalisation of the application can be achieved through the storage of incorrect guesses, or a list of mastered words to avoid repetition. Minimal Requirements You have been asked to analyse the requirements for this system and to design, develop, test and evaluate a program that Sophie to at least: • Login with a username and password. Access a menu system that allows the user to pick a game. The user should be able to play a game that is suited to their level or learning. Kaplan International Pathways 4 kaplanpathways.com • The user's progress should be stored either through the scores or through the record of the completion of games. • At least two types of vocabulary games (Suggestions include word guessing or definition matching). As the designer of the application, it is your responsibility to add functionality to the program which you can justify according to the scenario. In other words, this specification page details the minimum requirements for the programming project. The final solution will be awarded marks based on the complexity and the use of programming techniques that are developed on the course. You are recommended to go beyond this specification and try to showcase your programming skills and technical understanding. Scenario B: Budget Tracker Program Specification Introduction Sophie works for a bank committed to helping customers achieve their financial goals. She's tasked with developing a simple budget tracking application to encourage responsible saving habits. This app will be promoted to bank customers of all ages and technical backgrounds. Sophie's project is all about making budgeting easy. She wants to create an application that allows users to track their income, categorize their expenses (like bills, groceries, entertainment, etc.), and visualize their spending patterns. The goal is to help users understand where their money goes and identify areas where they could potentially save more. Sophie is thinking about including features like setting up savings goals, providing tips on cutting down unnecessary expenses, and maybe even incorporating some fun challenges that encourage users to save more. Sophie wants to create a user interface that is welcoming and easy to use. Users should be able to easily create an account and input their financial information. The application should provide clear visualizations of spending habits and offer insights to empower users to make informed financial decisions. Morning, Sophie! Bank Accounts: Mortgage: -£120,000 Savings Account: £500 Outgoings: Gas and Electricity: £120 per month Council Tax: £128 per month like to do? What would I you a) Add a purchase. b) Add a bill. Storage It is recommended that the vocabulary builder program should store: • A username and password for each user. • • The income or allowances of the user (amount and frequency - e.g. weekly, monthly etc) Expenses (broken down by category, e.g., housing, food, transportation, entertainment) with their amounts and dates. Current balance. Savings goals (for example target amounts to be saved and the desired time frame to save it.) Minimal Requirements You have been asked to analyse the requirements for this system and to design, develop, test, and evaluate a program that Sophie to at least: Login with a username and password. • . • Access a menu system that allows the user to: add income, add expense entries, view current balance and recent transactions, and set up a simple savings goal. A savings overview which shows the current balance after subtracting the expenses from income. This could display how much is potentially available for saving. A way of displaying the spending habits of the user either according to the categories, or the Kaplan International Pathways 5 kaplanpathways.com