Formative Assessment 2 Project: Beginner Java
Formative Assessment 2 Project: Beginner Java
Project
Beginner Java
JD521
2024
Table of Contents
Beginner Java ............................................................................................................................................................... 1
JD521 ........................................................................................................................................................................... 1
Project-based Questions (100) ....................................................................................................................... 5
Project Tasks:........................................................................................................................................................ 5
Additional Requirements: .................................................................................................................................... 6
Submission Guidelines: ........................................................................................................................................ 6
Formative Assessment 2 Marking Rubric ............................................................................................................. 7
DECLARATION OF AUTHENTICITY
I _________________________________________________________________ hereby
(FULL NAME)
declare that the contents of this assignment are entirely my own work with the exception of the following
elements: (List the elements of work in this project that were not self-generated as well as who the originator
of the element is)
Element Originator
Instructions:
Read each question carefully and consider the mark allocation prior to answering.
• Ensure you answer all questions.
• The use of AI tools is strictly prohibited in completing this assessment.
• For final submission, submit a compressed file that includes: The Declaration of Authenticity,
Source Code, and ReadMe file.
Unit Standards:
• Demonstrate an understanding of the handling of errors in a computer programming environment
• Apply the principles of designing computer system inputs and outputs
• Manage software development source files using appropriate tools
• Demonstrate logical problem solving and error detection techniques
• Demonstrate an understanding of sort and search techniques used in computer programming
• Test a computer program against a given specification.
Assessment outcomes:
• Understanding Exceptions
• Understanding Assertions
• Working with real world exceptions.
• Describe collections
• Understanding generics
• Understanding and using strings
• Understanding regular expressions
Objectives:
• Using Exceptions: Properly handle errors such as trying to check out a book that is not available
or entering invalid data.
• Using Assertions: Use assertions to validate the state of the program at various points, such as
ensuring a book's availability status is correctly updated when checked out.
• Using Collections and Generics: Utilize collections such as lists or dictionaries to manage books
and members. Generics should be used for flexibility and type safety.
• Using Strings and Regular Expressions: Implement functionality to search for books and
members using strings and validate inputs (like email addresses for members) using regular
expressions.
You pitched this whole idea to the library manager and got approval, however, the library manager asked
for a readme file, in which you will explain how the program works.
Source: Mashile T., (2024)
Project Tasks:
Task 1: Implementing the Book and Member Classes
• Book Class: Should have properties such as Title, Author, ISBN, and IsAvailable.
Include a method to toggle the IsAvailable status.
• Member Class: Should include properties such as Name, Email, and a list of borrowed books.
Use regular expressions to validate the email format upon member creation.
Submission Guidelines:
• Students should submit their source code files along with a brief document explaining their design
decisions and how they addressed each objective on a ReadMe text file.
• Include unit tests demonstrating the use of exceptions, assertions, collections, and string
manipulations.
End of paper
Assessment Criterion
Student name/number:
Criterion Mark allocation
10 – 6 5 –0
1. Using Exceptions (20 Marks)
Proper Implementation (10 Marks): Assess whether exceptions are used appropriately to
handle errors such as unavailable books or invalid data entries.
Error Messages (5 Marks): Evaluate the clarity and usefulness of the error messages displayed to the user
when an exception occurs.
Error Recovery (5 Marks): Check if the program gracefully recovers from exceptions, allowing the user to
continue using the system without crashing or behaving unpredictably.
2. Using Assertions (15 Marks)
Correct Use (10 Marks): Determine if assertions are correctly used to check the program's
state at critical Marks, ensuring the system works as intended (e.g., a book’s availability after
being checked out).
Applicability (5 Marks): Evaluate whether the assertions are meaningful and contribute to the stability and
reliability of the application.
3. Using Collections and Generics (20 Marks)
Implementation (10 Marks): Assess the use of collections and generics to manage books and
members, looking for type safety, flexibility, and the efficient use of data structures.
Data Handling (10 Marks): Evaluate how well the program manipulates collection data,
including adding, removing, and searching elements within collections.
4. Using Strings and Regular Expressions (20 Marks)
String Manipulation (10 Marks): Review the implementation of search functionality and any
other feature requiring string manipulation for effectiveness and efficiency.
Regular Expressions (10 Marks): Assess the use of regular expressions for validating inputs,
such as email formats, ensuring they are correctly applied and functional.
5. Code Quality and Documentation (15 Marks)
Readability and Structure (5 Marks): The code should be well-organized, with meaningful variable names,
consistent indentation, and a clear separation of functionalities into methods/classes.
Comments and Documentation (5 Marks): Inline comments and documentation should clearly explain the
purpose and logic of the code, making it easy for another developer to understand and maintain.
Design and Scalability (5 Marks): Evaluate the overall design of the system, including the use of object-
oriented principles and how easily new features (like new book or member services) could be added.
6. User Interface and Experience (10 Marks)
Usability (5 Marks): The text-based menu system should be intuitive, with clear instructions on how to
perform each action.
Robustness (5 Marks): The application should handle user inputs gracefully, preventing crashes and guiding
the user towards correct usage.
TOTAL /100