CSCI5308 – Assignment 2 S.O.L.I.D. Principles of Object-Oriented Programming 

$30.00

Category: You will Instantly receive a download link for .zip solution file upon Payment || To Order Original Work Click Custom Order?

Description

5/5 - (6 votes)

Assessment Objective
The purpose of this assignment is to assess your understanding of the concepts taught in the
S.O.L.I.D. Principles of Object-Oriented Programming learning modules and lectures.
We can assess your knowledge of S.O.L.I.D. easily by:
• Asking you to design and program classes that violate a S.O.L.I.D. principle.
• Having you design and program some classes that correct the S.O.L.I.D. violation
Instructions
Please do the following:
1. In your CSCI5308 individual git repository on your local computer create a folder labeled
A2
2. Create a subfolder labeled bad
3. In your bad folder design and program multiple Java classes that INTENTIONALLY
violate THREE (3) S.O.L.I.D. principles, these classes must be original, designed and
created by you only, not code from examples from our class or other sources. Use
different classes for each principle.
4. In your project, create a subfolder labeled good
5. In your good package design, and program classes that fix each of the S.O.L.I.D.
principles violated by your bad classes.
6. Push your code to the main branch of your individual assignment repository.
7. Create a document that includes the following:
a. Your name, CSID and Banner #
b. A link to your individual assignment repository on Gitlab
c. A description of the classes and code in the bad package. Which principles do the
classes violate? Explain why the code violates each principle.
d. A description of the classes and code in the good package. How did you correct
the principle violations?
8. Submit your document in PDF format to Brightspace in the Assignment 2 drop box. This
PDF document and your individual assignment repository commit times must be
submitted before the due date defined in the syllabus for assignment 2.
NOTE – REGARDING ACADEMIC INTEGRITY:
All code you write for this assignment should be original, designed from your brain, and written
by you. Do not discuss your concepts or ideas for your good and bad classes with other
students.
All code submitted to Gitlab for CSCI5308 is automatically processed by MOSS and other
plagiarism detection software. Do not plagiarize from any other students (current or previous)
from this course or any other 3rd party source.
Marking Rubric
Your TAs will examine your code and written response and rate you on the following scale:
Exceptional (A+)
The criteria for an A, and in addition, you took on a more challenging principle such as Liskov’s
Substitution Principle or Dependency Inversion Principle.
Very Good (A)
You have no issues or incorrect code in your bad or good examples. Your written document
properly describes why your bad code violates each S.O.L.I.D. principle and how your good
code fixes the problems.
Good (B+ to A-)
One of your bad or your good examples has small issues or is incorrect. Your written document
properly describes why your bad code violates each S.O.L.I.D. principle and how your good
code fixes the problems.
Minimal (B-)
There are multiple issues in your bad and good code examples. There may be issues in your
written document that make your bad or good explanations confusing.
Unacceptable (F)
Your bad examples were incorrect (or are missing), and your good examples do not correct the
problems (or are missing), and/or your written document does not sufficiently describe the
S.O.L.I.D. aspects of your bad or good code.