ITWB2053 Object Oriented Programming Assignment 1, 2026 | UNITAR
| University | UNITAR International University (UIU) |
| Subject | ITWB2053 Object Oriented Programming |
ITWB 2053 ( MC032 ) Assignment 1 Questions
Answer ALL questions below . Ensure that you provide the pseudocode and flowchart before writing your code.
Question 1
Create a console-based program that helps calculate a student’s final grade based on three components:
- Assignments (30%)
- Tests (40%)
- Final Exam (30%)
The program must display and support the following menu:

Requirements:
- Use switch-case (or equivalent) to handle the user’s menu choice (A, B, C, D, E, Q).
Use an or nested if-else to determine the letter grade based on the final percentage:
A: ≥ 80%
B: 70–79%
C: 60–69%
D: 50–59% F: < 50%
- Input validation for marks:
- Marks must be between 0 and 100 (inclusive)
- If the user enters a value < 0 or > 100, show an error message and ask for the mark again
- Keep a running total of the weighted percentage as marks are entered.
After every action (A, B, C, D, E), ask the user: “Continue with the same student? (y/n): ”
- If y/Y → show menu again
- If n/N → automatically reset marks and start a new student (or go to menu)
- Invalid input → ask again
- When option D is chosen, display:
- Each component mark (if entered)
- Weighted contributions
- Final percentage (rounded appropriately)
- Letter grade
Example output:

Deliverables
- Pseudocode
- Flowchart
- Source code (with comments)
- Screenshots of the working program (as described above)
Question 2
Library Management System
Task: Develop a console-based Java Library Management System where students select their preferred selection construct (if-else chains or switch-case) to manage book inventory, borrowing, and overdue tracking. The system must loop continuously until the user explicitly enters “exit”.
Core Requirements
- Data Structures: Define a Book class with fields: String title, String isbn, String author, String status (“AVAILABLE”, “BORROWED”, “OVERDUE”), LocalDate borrowDate. Use ArrayList<Book> for inventory.library
- Main Menu Loop: Implement a while(true) or do-while loop that displays options until user inputs “exit”: Read Scanner.nextLine(), trim, compare to “exit” (case-insensitive).
- Selection Method Choice: Students choose:
Option A: Multi-way if-else chain on menu input string (e.g., if(input.equals(“1”))).
Option B: Switch-case on parsed char/int after input.charAt(0) validation.Justify choice in reflection. - Nested Logic Examples:
Borrow: Check exists (search loop) → available → under borrow limit (counter).
Overdue: if(LocalDate.now().minusDays(14).isAfter(borrowDate)) → “OVERDUE”.
Search: Nested if for ISBN match vs author substring. - Validations: Regex for ISBN (^[0-9]{13}$), no duplicates, input sanitization.
- Persistence: After “exit”, save books to “library.ser” via ObjectOutputStream; load on startup.
- Pre-Implementation Analysis:
- Pseudocode: Loop structure, selected method’s nested decisions, validation flows.
- Flowchart: Infinite loop → input read → exit check → selection dispatch → actions. o Testing & Submission:
- Screenshots: Full session (add/search/borrow/overdue/return/exit), file load/save proof.
Requirements
- Use if-else or switch-case to ask the user which conversion they want to perform.
- Prompt the user to enter the temperature and validate that the input is a valid number.
Deliverables
- Pseudocode
- Flowchart
- Source code (with comments)
- Screenshots of the working program (as described above)
Expected Output
- Startup and Main Menu
When the program starts, it attempts to load library.ser. If successful, it displays the menu.

- Adding a Book (Regex Validation)
The system checks the ISBN format using the ^[0-9]{13}$ regex.
Plaintext

- Searching for a Book
This demonstrates the nested logic for ISBN vs. Author substring.

- Overdue check

- Exit and Save:

Submission Instruction
I. Format:
✓ The report must be written in APA or IEEE format, with proper citations and references.
✓ Use 12-point Times New Roman font, 1.5 line spacing, and standard 1inch margins on all sides.
✓ Include a cover page with your name, student ID, assignment title, and date of submission.
II. Length:
✓ The written report for the Java programming assignment must contain a minimum of 3,000 words, excluding references, diagrams, source code listings, and appendices.
Diagrams and Visuals:
✓ Ensure that relevant diagrams, charts, and visuals are included where appropriate to support your analysis.
✓ All visuals must be clearly labeled and referenced in the text.
III. File Format:
✓ Submit your assignment as a PDF file.
✓ The file name should follow this format:
YourName_StudentID_AssignmentTitle.pdf
IV. Submission Platform:
✓ Upload the final document to the designated Learning Management System (LMS) or email it to Fazidah.wahit@unitar.my as per your course guidelines.
V. Deadline:
✓ The assignment must be submitted by SATURDAY, 14 February 2026. Late submissions may incur a penalty unless prior arrangements are made.
VI. Plagiarism:
✓ Ensure that all work is your own and properly cited. Any detected plagiarism will result in penalties according to the academic integrity policy of the institution.
VII. References:
✓ Include a reference list at the end of the report, with a minimum of 8 credible sources (e.g., academic journals, industry reports).
VIII. Plagiarism:
Ensure that all work is your own and properly cited. Any detected plagiarism will result in penalties according to the academic integrity policy of the institution.
IX. Use of AI Tools (e.g., ChatGPT):
- Do not use AI tools like ChatGPT or any other automated writing software to generate any part of your report. You are expected to complete this assignment based on your own research, analysis, and writing.
- Using AI tools to generate content may be considered academic dishonesty and will be penalized according to the institution’s plagiarism and academic integrity policies.
ITWB2053 Rubric of Assignment 1 Semester Jan 2026 –Group 32
| Criteria (20 Marks Each) | 5 – Excellent (17-20) | 4 – Very Good (13-16) | 3 – Satisfactory (9-12) | 2 – Poor (5-8) | 1 – Very Poor (1-4) |
| 1. Program Functionality & Requirements | All Java program requirements fully implemented; runs correctly without errors | Most requirements met; minor logical errors | Core functionality works but some requirements missing | Limited functionality; major requirements not met | Program fails or does not meet requirements |
| 2. Use of Selection Constructs (ifelse / switchcase) | Correct, efficient, and well-structured use of selection constructs with clear logic | Correct use with minor inefficiencies | Basic use but logic is unclear or repetitive | Incorrect or inconsistent use | No meaningful use of selection constructs |
| 3. Input Validation & Error Handling | Comprehensive validation with clear error messages and retry mechanism | Good validation; few cases missed | Basic validation implemented | Minimal validation; frequent runtime errors | No validation or error handling |
| 4. Program Design, Pseudocode & Flowchart | Clear, logical pseudocode and well-structured flowchart reflecting program flow | Mostly clear with minor omissions | Understandable but lacks clarity or detail | Poorly structured or incomplete | Missing or incorrect |
| 5. Demo Presentation & Screenshots Evidence | Confident demo; all required screenshots and execution cases shown | Good demo; most screenshots provided | Average demo; some evidence missing | Weak demo; limited screenshots | No demo or screenshots |
Get Help By Expert
Many UNITAR students face difficulty while completing this ITWB2053 object oriented programming assignment, as sometimes creating logic using pseudocode and flowcharts is confusing, and other times implementing Java concepts like validation, loops, and switch-case becomes challenging. So, there is no need to worry now, because Assignment Helper Malaysia provides human-written programming assignment help based on your UNITAR requirements. You can also check our expert-written java assignment samples for trust, and then choose pay someone to do my assignment to get a customised, plagiarism-free assignment written only for you.
Recent Solved Questions
- TCC238: Structured Programming Course Work, WOU, Malaysia C program comprises all codes needed for the compilation and execution of a runnable system
- Computational Thinking Assignment, MU, Malaysia Computational thinking is an approach to problem-solving that involves critical and logical thinking in order to solve problems
- Digital Screens Essay, OUM, Malaysia Describe and explain the main features that distinguish digital screen media from earlier types of screen production
- BLC201 Starbucks Supply Chain Case Study: Distribution Strategy, Kraljic Matrix & Risk Mitigation Analysis
- Data Organization and Management in Daily Life
- Physics Assignment, UOW, Malaysia When a capacitor is charged through a resistor by a constant voltage source, the voltages across the capacitor
- LAW416 Business Law Assignment Questions 2026 | UiTM Malaysia
- BAM7014: Accounting for Managers Case Study, MMU, Malaysia Gable Bhd is a construction company. They are now undergoing the annual audit for the year-end of December
- Biomedical Assignment, US, Malaysia As per the WHO, mental health is a state of complete physical, mental and social well-being and not merely the absence
- BDGO4103: What are the differences between a person with extrinsic values and one with intrinsic values: Organisational Behaviour Gelagat Organisasi, Assignment, OUM, Malaysia