Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Follow the instructions very carefully and make sure it has all the requirements. EGR 222 Software Engineering Homework #1 Rocket Ship Check Point Due: by

Follow the instructions very carefully and make sure it has all the requirements.


EGR 222 Software Engineering Homework #1 Rocket Ship Check Point Due: by 11:59 PM on Friday, 19 January 2024 Final Due: by 11:59 PM on Tuesday, 23 January 2024 Section 1: Specification This assignment will give you practice with for loops, static methods, print/println statements and a class variables. In this assignment, you are going to generate output that looks like the following:

/-**-\

//-**-\\

///-**-\\\

////-**-\\\\

/////-**-\\\\\

**=+=+=+=+=+=+**

||\/\/\/\/\/\/||

||.\/\/--\/\/.||

||..\/----\/..||

||../\----/\..||

||./\/\--/\/\.||

||/\/\/\/\/\/\||

**=+=+=+=+=+=+**

||../\----/\..||

||./\/\--/\/\.||

||/\/\/\/\/\/\||

||\/\/\/\/\/\/||

||.\/\/--\/\/.||

||..\/----\/..||

**=+=+=+=+=+=+**

/-**-\

//-**-\\

///-**-\\\

////-**-\\\\

/////-**-\\\\\

You are to reproduce the output shown within the directory named expected_output of the starter code EXACTLY. The various subfigures in the middle of above output have a height of 3. These subfigures have the property that their height determines their width, so there is only one size variable. You are to use a class variable to make it possible to change the size of the rocket ship by changing a single number in one place in the program. There are several examples of the output for different values of the SIZE variable in the expected_output directory of the starter code. This assignment is meant to give you practice with the constructs from chapters 1 and 2. This will require you to create nested for loops with print and println statements that make use of the class variable. You may use basic programming constructs involving parameters from chapter 3, although you are not required to do so, and you will receive no extra credit for doing so. BUT you may NOT use any other techniques from chapter 3 or beyond (i.e., String instance methods such as repeat(n), Object Oriented techniques, etc.). You should use static methods to structure your solution. Your solution should avoid significant redundancy and your program should be structured in such a way that the method names match the structure of the output itself (i.e., the names reflect what the methods do). v1.00 page 2 of 4 1/14/2024 You are required to properly indent your code and will lose points if there are indentation mistakes. You should localize variables whenever possible (variables should be declared at the lowest possible level). There should be a comment at the beginning of your class file with basic information and a description of what the program does. Each method should also have a comment describing what it does. The solution should be contained in a file named DrawRocket.java. On any given execution your program will produce just one version of this figure, but it should be possible to change the value of the program variable named SIZE to have your program produce a figure of a different size. For example, with subfigures of height 5, the output should look like below. Note that the triangular shapes within the rocket body have a height corresponding to the size (in this case 5). Since it is hard to see the precise number of spaces using this document, you should refer to the text files under expected_output directory of the starter code.

/-**-\

//-**-\\

///-**-\\\

////-**-\\\\

/////-**-\\\\\

//////-**-\\\\\\

///////-**-\\\\\\\

////////-**-\\\\\\\\

/////////-**-\\\\\\\\\

**=+=+=+=+=+=+=+=+=+=+**

||\/\/\/\/\/\/\/\/\/\/||

||.\/\/\/\/--\/\/\/\/.||

||..\/\/\/----\/\/\/..||

||...\/\/------\/\/...||

||....\/--------\/....||

||..../\--------/\....||

||.../\/\------/\/\...||

||../\/\/\----/\/\/\..||

||./\/\/\/\--/\/\/\/\.||

||/\/\/\/\/\/\/\/\/\/\||

**=+=+=+=+=+=+=+=+=+=+**

||..../\--------/\....||

||.../\/\------/\/\...||

||../\/\/\----/\/\/\..||

||./\/\/\/\--/\/\/\/\.||

||/\/\/\/\/\/\/\/\/\/\||

||\/\/\/\/\/\/\/\/\/\/||

||.\/\/\/\/--\/\/\/\/.||

||..\/\/\/----\/\/\/..||

||...\/\/------\/\/...||

||....\/--------\/....||

**=+=+=+=+=+=+=+=+=+=+**

/-**-\

//-**-\\

///-**-\\\

////-**-\\\\

/////-**-\\\\\

//////-**-\\\\\\

///////-**-\\\\\\\

////////-**-\\\\\\\\

/////////-**-\\\\\\\\\

EGR222 HW1 Grading Criteria HW1: - 80 % correctness - 15 % style - 5 % correct BB submission Style (see https://courses.cs.washington.edu/courses/cse143/16au/style/index.html#table-of-contents) Be sure to take all of the following into account when applying style to your final submission Style: 1) Basic expectations: https://courses.cs.washington.edu/courses/cse143/16au/style/basic-expectations.html 2) Commenting: https://courses.cs.washington.edu/courses/cse143/16au/style/basic-expectations-for-commenting.html 3) Curly brackets and indentation: https://courses.cs.washington.edu/courses/cse143/16au/style/curly-brackets-and-indentation.html 4) Formatting lines: https://courses.cs.washington.edu/courses/cse143/16au/style/formatting-lines.html 5) Using printlns: https://courses.cs.washington.edu/courses/cse143/16au/style/using-printlns.html 6) Redundancy: https://courses.cs.washington.edu/courses/cse143/16au/style/using-printlns.html 7) Structuring methods: https://courses.cs.washington.edu/courses/cse143/16au/style/structuring-methods.html 8) Formatting comments: https://courses.cs.washington.edu/courses/cse143/16au/style/formatting-comments.html 9) Naming: https://courses.cs.washington.edu/courses/cse143/16au/style/naming.html 10) Constants: https://courses.cs.washington.edu/courses/cse143/16au/style/constants.html 11) Structuring loops: https://courses.cs.washington.edu/courses/cse143/16au/style/structuring-loops.html

EGR 222 Software Engineering Super Important Checklist for Homework #1 A checklist highlighting the most important things to consider when completing HW1 is shown below. Be sure to review each item. Correctly Working Code in Your GitHub Repository The first and most important requirement is that the code that you push to your GitHub repository in the cloud is working correctly. If your code is not pushed to your GitHub repository OR it is not working correctly (i.e., it does not pass all automated tests) then grading will stop and you will get 0 points for the assignment. Be sure to confirm the two items below before proceeding. 1. If your code was not pushed to your GitHub repository THEN you cannot receive a grade because nothing was submitted. Make sure to double check that your repository is current. https://github.com/egr222-software-engineering-spring-2024/hw1-{YourGithubID} 2. The output from your program should be exactly the same as the expected output provided under the expected_output directory of the starter code. Miscalculating things within the design (i.e., the number of spaces, or periods, or asterisks) will mean your program is INCORRECT and you will get 0 points. Use https://www.diffchecker.com/ to check whether there is any difference. The automated script checking your code will fail if there is the slightest difference between your output and the expected output. Hint: please note that the expected output files all have a blank line at the bottom of the image. Quality of Your Code (i.e., demonstrating procedural decomposition and styled properly) Once your code is confirmed for correctness it will be checked for QUALITY. For this first assignment aspects related to the quality of your code are worth 15% of your total grade. Be sure to follow ALL of the style guidelines provided in the document EGR222 HW1 Grading Criteria to avoid having deductions based on the lack of quality in your code. Below is a limited (not exhaustive) list of items that will be used to grade the quality of your work based on the style guide found here. 1. There should be a comment at the beginning of your class file with basic information about the class and a description of what the program does. Some generic comments are provided in the starter code that you should UPDATE. Also include the names of any students (or generative AI sites) you collaborated with on this assignment. 2. There should also be comments for each individual method describing what it does and WHY it was written the way it was written. You may not need extensive comments on what it does if the method name and code the method contains are "self-documenting". 3. Your code MUST have correct indentation and spacing. IF your code has an unprofessional look or struggles in the area of "readability" then it doesn't meet the bar for publishing (even if it performs perfectly in terms of functionality). Your code should be aligned properly and should not contain unnecessary spacing (there should be no more than two blank lines between any lines of code). 4. Your code should use proper procedural decomposition. The main method should be made up of calls to methods representing the MAJOR tasks. And PRIVATE helper methods should be used to eliminate redundancy.




Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Income Tax Fundamentals 2013

Authors: Gerald E. Whittenburg, Martha Altus Buller, Steven L Gill

31st Edition

1111972516, 978-1285586618, 1285586611, 978-1285613109, 978-1111972516

More Books

Students also viewed these Algorithms questions

Question

Which of these barriers occurred on the USS Enterprise?

Answered: 1 week ago

Question

How does an applicant apply?

Answered: 1 week ago