辅导案例-COSC1519-Assignment 1

  • August 15, 2020

Introduction To Programming COSC1519 Assignment 1 Assessment Type Individual assignment (no group work). Marks are awarded for meeting requirements as closely as possible. Clarifications/updates will only be made via official announcements/relevant discussion forums. (No email clarifications). Must follow submission instructions in this document. Due 11:59pm 17/August/2020 Deadlines will not be advanced but they may be extended. Please always refer to the up-to-date deadlines given under Canvas→Assignments. Late submissions: The late submission period lasts for 5 working days from the deadline. A 10% late penalty will apply for each working day late after the deadline for up to 5 working days. After this period, submissions will not be accepted (unless special consideration has been granted.) Extensions: For new extensions, please apply directly via the RMIT Special Consideration page. Marks 20 1. Expectations There is no book containing the music to every song that will be written. There is no book containing the answers to every mathematical calculation that we will need to perform. Similarly, there is no book, set of lecture slides, video, etc. that will give a programmer (you) the solutions to every programming problem. In this assignment, you are awarded marks for demonstrating your ability to meet the requirements given in this document using no more than the concepts and approaches taught in Introduction To Programming compulsory weekly live lectures in a justifiable way to code and debug a working Java program. Consider the simplest solution that meets the requirements as the best solution (Occam’s razor principle). There are functional requirements, code justification requirements and documentation requirements that must be met to receive the full mark for this assignment. Develop this assignment in an iterative fashion (as opposed to completing it in one sitting). You can and should get started now as there are concepts from the week 1 lessons that you can incorporate from now itself. 2. Learning Outcomes This assessment is relevant to the following Learning Outcomes: 1. Demonstrate knowledge of basic concepts, syntax and control structures in programming 2. Devise solutions to simple computing problems under specific requirements 3. Encode the devised solutions into computer programs and test the programs on a computer 4. Demonstrate understanding of standard coding conventions and ethical considerations in programming. Page 1 of 4 3. Assessment details Note: Please ensure that you have read sections 1-3 of this document before going further. Assume that a children’s software developer has hired you for your coding skills to work on a project named ‘ThatsYourStory’. In this project you must create an interactive story using the GTerm exclusively for all inputs and outputs. Please do/watch the week 1 lab exercise get help on getting started on this with Eclipse and GTerm. You must meet Functional Requirements (3.1), Code+Justification Requirements (3.2) and Documentation Requirements (3.3) to obtain the full mark for this assignment. 3.1) Functional Requirements: Important: The functional requirements below must be implemented and justified by following the 3.2 Code+Justification requirements. F1: When your ThatsYourStory program is run, the program asks the user to enter various inputs (e.g. names of characters, actions to take, numbers of things, etc.) that are relevant to the chosen story and then, displays the story in an interactive manner. F2: At least one of the values entered must be a numerical value and at least one of the values must be text. F3: The story must have different pathways depending on the inputs. Tip: As you are not given marks for creativity, you can come up with your own story or feel free to use one found online (provide references when relevant). As this is for hypothetical children, please keep the non-changing parts of the story “tame”. 3.2) Code+Justification Requirements (16.5 marks): To receive marks for Code+Justification requirements, you must use the following code concepts as demonstrated during weekly live lectures* and add code justification comments when meeting the 3.1 Functional Requirements. Code without justification in the given format would attract no more than 50% of the mark allocated for that component. Comments without code will not attract any marks. An important note on Java code validity: A program with even one red dot (compilation error) cannot be tested and therefore will attract 0 marks for this section. Code concept Requirements (0.75 x 22 = 16.5 marks when justified as required) CJ1) Java class • Has only 1 class named ThatsYourStory.java (must not use names like Assignment1.java); Follows conventions shown in tutorial solution and lectures, other standard class materials and common ones in the Java API. • All code must be within the main method. • Formatting is consistent. Justification comments start on the line before the documented block/statement (e.g. not in-line comments). • Only relevant, reachable code+comments included. • Does not use return, break, continue, System.exit or similar branching (spaghetti code) anywhere in the code. CJ2) Variables and inputs • Must be able to store at least one relevant String value. • Must be able to store at least one relevant numerical value. • The user must be allowed to enter these values at run-time and the inputs must come via a suitable GTerm method. These values must be embedded in the story (refer CJ3). • Demonstrates understanding of primitive data types vs. class types where relevant. CJ3: User interface design using GTerm methods • Story must be shown within the GTerm window (e.g. not via showMessageDialog windows) • Use GTerm exclusively for inputs • Use GTerm exclusively for outputs • Use GTerm methods setXY, setFontSize, setFontColor, setBackgroundColor, clear • Uses GTerm method addImageIcon methods to enhance the presentation of the program. When using addImageIcon, images must be loaded from the default/project folder (do not include folder names) without prompting the user to choose the file. CJ4) If-statements • Must exclusively use if-statements for non-repeating conditional execution (e.g. no switch). • There must be at least one else-if statement. • There must be an example of nested if-statements. • There must be at least two conditional checks performed on the text input. Continues on next page… Page 2 of 4 • There must be at least two conditional checks performed on the numerical input. • Conditions do not include tautologies. Pathways are not redundant. Every code block in every if/else/else if/while structure is reachable. • The story must branch and have pathways that vary depending on user entered values. • Each branch/pathway must also include either inputs and/or outputs using GTerm (refer to CJ2 and CJ3) Justification Requirements Note: You will not receive full marks allocated for the CJ requirements above unless each occurrence is justified as required below. Declarations, code blocks and conditions must be justified by following the rationales in the lecture answers given for the lecture questions under Canvas→Discussions→Lectures. Type of code Compare and justify your choice over other possible alternative… Declarations (also applies to method definitions) Identifier names Data types Contents of code blocks Formulations (is there a simpler way to meet requirements without creating this code block?) Inclusions (what you have added and why?) Sequences (why are the statements in this order?) Exclusions (what you haven’t added and why) Conditions Formations of the logic In places where this specification may not tell you how exactly you should implement a certain feature, the programmer (you) need to use your judgment to choose and apply the most appropriate concepts from class materials. Follow answers given by your “client” or “supervisor” (you instructor) under Canvas→Discussions→’Assignment 1’ when in doubt. 3.3) Documentation Requirements (3.5 marks): Important note: Documentation must match with testable, functional and justified code to attract marks. D1. Create an illustrated PDF user guide (one file). Shows screenshots of sample inputs. Shows screenshots of corresponding sample outputs. Has brief instructions on what the user can and cannot do (e.g. what they can and can’t input). Does not include any references to code as the guide is intended for a user who is not a programmer. 4. Submission All files required for the operation of your code must be submitted in one go (do not submit one after another; the ‘submit’ button must only be selected once) via Canvas→Assignments→Assignment 1 (emailed files will not be accepted). Only the last set of files submitted is considered as your official submission by the university for marking purposes. Therefore you should aim to submit multiple times to minimise risks. You must also verify your submission to ensure that the correct files are submitted. It is OK if Canvas automatically renames your files upon resubmission. Required files: 1. ThatsYourStory.java (only this file should contain code justification comments) 2. All relevant .png or .jpg images used by addImageIcon. 3. ThatsYourStory-UserGuide.PDF containing the user guide documentation (must not contain any references to code) Important note: No .java file or an invalid Java file means no mark even if other files are submitted. Assessment declaration: When you submit work electronically, you agree to the assessment declaration: https://www.rmit.edu.au/students/student-essentials/assessment-and-exams/assessment/assessment-declaration Page 3 of 4 5. Academic integrity and plagiarism (standard warning) Academic integrity is about honest presentation of your academic work. It means acknowledging the work of others while developing your own insights, knowledge and ideas. You should take extreme care that you have:  Acknowledged words, data, diagrams, models, frameworks and/or ideas of others you have quoted (i.e. directly copied), summarised, paraphrased, discussed or mentioned in your assessment through the appropriate referencing methods,  Provided a reference list of the publication details so your reader can locate the source if necessary. This includes material taken from Internet sites. If you do not acknowledge the sources of your material, you may be accused of plagiarism because you have passed off the work and ideas of another person without appropriate referencing, as if they were your own. RMIT University treats plagiarism as a very serious offence constituting misconduct. Plagiarism covers a variety of inappropriate behaviours, including:  Failure to properly document a source  Copyright material from the internet or databases  Collusion between students For further information on our policies and procedures, please refer to https://www.rmit.edu.au/students/student- essentials/rights-and-responsibilities/academic-integrity Page 4 of 4

LATEST POSTS
MOST POPULAR

ezAce多年来为广大留学生提供定制写作、留学文书定制、语法润色以及网课代修等服务,超过200位指导老师为您提供24小时不间断地服务。