ICT103 Programming – Bachelor of Information Technology – Crown Institite

word image 468 1 1

Assessment Brief – Assessment 2

Unit Code/Description

ICT103 Programming

Course/Subject

Bachelor of Information Technology

Semester

Semester 1, 2024

Unit Learning Outcomes Addressed

ULO 1. Explain the fundamental programming concepts.

ULO 2. Apply proper design strategies to develop a software program. ULO 3. Use programs to implement a solution for a small problem using object oriented programming.

ULO 4. Create documentation for code that conforms to industry standards.

Assessment Objective

To analyse the problem, demonstrate their ability to design and implement a solution for the real-world problem using object-oriented concepts.

Assessment Title/Type

Assessment 2 – Mini Project (Group)

Due Date

Week 11: Demonstration during class

Week 12: Report Submission: Sunday, 02 June 2024, before 11:59 PM.

Weighting

40% – 40 marks

15 marks: Demonstration

25 marks: Report submission

Instructions to Students

Check the section Assessment Description

Format/Structure

Check the section Submission Details

Word/Page limit

Maximum 8 pages (including screenshots and references) of MS Word document.

Referencing Style

American Psychological Association (APA) Referencing Style

Submission Guidelines

Only one member of the group will submit the Group submissions. The individual Reflective Report should be submitted by each student individually.

Check section Submission Details for additional details.

Plagiarism and Academic Integrity

At CIHE, we take academic integrity seriously and expect all students to maintain the highest standards of honesty and ethical behaviour in their academic work. As a student, it is your responsibility to ensure that all your academic endeavours are conducted with integrity and in accordance with the principles of honesty, fairness, and respect for intellectual property. Please refer to “CIHE Student Academic Integrity and Honesty Policy” in Moodle for details.

Late Submission Policy

An assessment item submitted after the assessment due date without an approved extension or mitigating circumstances will be penalised.

The standard penalty is the reduction of the mark allocated to the assessment item by 10% of the total mark applicable for the assessment item for each day or part day that the item is late.

Page 1 of 9

word image 468 2 1

Assessment items submitted more than ten days after the assessment due date is awarded zero marks.

ASSESSMENT DESCRIPTION

• In the group project, you will work in teams of 3-4 students.

• The assessment is divided into two components: Group report submission and mini-project demonstration. • The details about the report structure are given below.

• The demonstration will include group demonstration of the implemented mini-project and followed by individual Q&A. • The assessment mustinclude object-oriented (OO) concepts like Class and Object, Encapsulation, Constructor, Inheritance, Getter and Setter methods, Method Overloading, and Association (multiple classes). • Failing to use OO concepts will result in marks deduction as per the rubrics.

• The projects shouldbe menu-based.

SUBMISSION DETAILS

• Only ONEstudent from each group will submit the group report. Every submission should have the following report structure.

ALLthe group members should be present during the project demonstration. Failing to do so, the individual will lose 15 marks.

Report Structure:

The report should include the following sections:

1. Cover Page (provided by your lecturer): includes group member names, student ID and contribution. 2. Introduction: Brief description of the project and your assumptions about the project. 3. Flowchart and Class Diagram: Flow chart for the project logic and Class diagram for the identification

of different classes, attributes and methods and any other OOP concepts implemented. 4. Implementation details: Mention the OOP concepts used. List the classes and methods and a short description of the purpose of the classes and methods.

5. Evaluation: Output screenshots for every menu item. The screenshots should show the system time and date.

6. Testing and Error Handling: Screenshots with incorrect input and the strategies you have applied to handle the errors or incorrect input scenarios. Validation of input can be a part of testing. 7. Contribution and Reflection: The section should include each team member’s contribution to the project development and their reflection on their learning experiences and project outcomes. It should mention individual’s roles, responsibilities, challenges faced, and insights gained throughout the project, emphasizing self-awareness and continuous improvement.

8. If you have implemented a Bonusfeature, please mention that explicitly in the report and also emphasize that during the demonstration.

Develop a mini project using Java programming language with Java concepts.

1

Project Title

Library Management System

Project Description

Develop a university Library Management System incorporating account authorisation functionality to ensure secure access control within university’s library system. This system aims to streamline the management of library resources while providing authorised users with functionalities for managing books, borrowers (students, faculty), and borrowing

Page 2 of 9

word image 468 3 1

activities. The program should allow users to add, delete, update, and search for books, as well as manage borrower records and borrowing transactions. Additionally, it should include account authorisation mechanisms to restrict access to authorised personnel only, enhancing the security of the system.

Features

Book record: Add, delete and update book records by t5he authorised users.

Search Book Record: Implement a search feature to allow authorised users to search for book records based on specific criteria such as title, author, or genre.

Manage Borrowers (Students, Faculty): Allow authorised users to manage borrower records, including adding, deleting, and updating borrower information such as name, ID, and contact details.

Borrowing Transactions: Implement functionalities for borrowing and returning books, allowing authorised users to record borrowing transactions, track due dates, and manage overdue books.

** Bonus (1 mark): Fine Management: Fine management system to trace the overdue books and calculate fines for late returns.

Account Authorisation: Incorporate account authorisation mechanisms to restrict access to the library system. Users should be required to log in with valid credentials (e.g. username and password) to access the system. Ensure unauthorised users are denied access to sensitive data within the system.

** Bonus (1 mark): Create user roles (e.g., librarian, faculty, student, student assistant) and assign appropriate permissions to each role. Only user with librarian privileges should be able to manage books, borrowers, and borrowing activities.

Account Verification: Implement a login system where students must provide credentials (e.g., username and password) before accessing their accounts to borrow/return the books.

User Interface: Create a user-friendly console-based interface for interacting with the Library Management System. Implement clear menu options and prompts for various functionalities, guiding users through the system’s operations.

Input Validation and Error handling: Implement input validation to ensure the correctness of user-provided data when adding or updating the records. Validate inputs such as book IDs, borrower IDs, and other relevant fields to prevent errors. Include error handling mechanisms to gracefully handle unexpected inputs or errors. Provide informative error messages to guide users in case of input errors or system failures.

2

Project Title

Hotel Management System

Project Description

The “Hotel Management System” is a console-based application that automates essential activities and operations of a hotel. It enables hotel staff to sufficiently manage reservations, check-ins, check-outs, and room assignments, while focusing on simplicity and ease of use.

Features

Check-In/Check-Out: Implement functionalities to allow verified admin staff to check guests in and out of rooms.

**Bonus (1 mark): Ensure that the system can handle multiple check-ins and check-outs simultaneously without conflicts.

Room Management: Develop features for managing room availability, including marking rooms as occupied or vacant, and updating room statuses in real-time. Admin staff should be able to view and modify room details securely.

Reservation System: Create a reservation system where admin staff can make reservations based on guest’s preferences (e.g. room type, dates) to prevent double booking.

Page 3 of 9

word image 468 4 1

**Bonus (1 mark): Search functionality to enable staff to find available rooms quickly, ensuring efficient booking management.

Account Management: Implement account management features to allow verified admin staff to create new admin accounts or delete the accounts for staff who left. Admin staff should be able to specify account details such as username, password and permissions.

User Interface: Create a user-friendly console-based interface for interacting with the Hotel Management System. Implement clear menu options and prompts for actions.

Account Database: Store account information in memory (using arrays or parallel arrays) for admin staff to check the list of all the existing accounts with username and permissions.

Account Verification: Implement a login system where users must provide credentials (e.g., username and password) before accessing their accounts.

Exception Handling: Include robust error handling and exception handling mechanisms to ensure the system can gracefully handle unexpected inputs or errors without crashing.

3

Project Title

Employee Management System

Project Description

The “Employee Management System” is a console-based application that aims to streamline the management of employee records within an organisation. It should provide functionalities for adding, deleting, and updating employee records, including their names, IDs, positions, and salaries. The system should also incorporate the techniques to ensure that employee records are accessed by the authorised person only.

Features

Add Employee Record: implement a feature for authorized users to add new employee records by providing details such as name, ID, position and salary.

Delete Employee Record: Develop functionality to enable authorised users to delete existing employee records based on the employee’s ID.

Update Record: Provide an option for authorised users to update employee records, allowing modifications to information such as name, position, and salary.

Search Employee Record: Implement a search feature to allow authorised users to search for employee records based on specific criteria such as name, ID or position.

Account Authorisation: Users should be required o log in with valid credentials (e.g. username and password) to access the system. Ensure unauthorised users are denied access to data within the system.

** Bonus (1 mark): Create user roles (e.g. admin, manager, employee) and assign appropriate permissions to each role. Only users with admin privileges should be able to add, delete, and update employee records.

User Interface: Design a user-friendly console-based interface for interacting with the Employee Management System. Display clear menu options and prompts for various functionalities, gliding users through the system’s operations.

Input Validation and Error Handling: Implement input validation to ensure correctness of user-provided data when adding or updating employee records. Include error handling mechanisms to gracefully handle unexpected inputs or errors. Provide informative error messages to guide users in case of input errors or system failures.

** Bonus (1 mark): Security Features: Implement additional security measures, such as locking the account after multiple incorrect login attempts.

Page 4 of 9

word image 468 5 1

4

Project Title

Student Management System

Project Description

The “Student Management System” is a console-based application that integrates account authorisation functionality to ensure secure access control within the university’s academic environment. This system is designed to streamline the management of student records and academic information, catering specifically to the needs of university administrators, faculty members and students. The program should provide authorised users with functionalities for managing student records, course enrolments, grades, and academic progress. Additionally, it should incorporate account authorisation mechanisms to restrict access to authorised personnel only, ensuring the confidentiality and integrity of student data.

Features

Add Student Record: Allow administrators to add new students to the system by providing details such as name, ID, department, contact information.

** Bonus (1 mark): Automatic Student ID generation: Generate a 5-digit unique Student ID for each student.

Delete Student Record: Develop functionality to enable authorised users to delete existing student records based on the student’s ID or other criteria.

Update Student Records: Enable administrators to update a student’s information such as name, department, and contact details.

Search Student: Implement a search feature that allows administrators to find specific students by name or student ID.

Manage Course Enrolments: Allow authorised users (faculty members, academic advisors) to manage course enrolments for students, including adding, dropping, and modifying course registrations.

Grading System: Implement functionalities for recording and managing students grades, including entering grades for assignments, quizzes, exams, and calculating final course grades.

** Bonus (1 mark): Academic Progress Tracking: Develop features for tracking student academic progress, including monitoring course completion, GPA and academic standing (e.g., good standing, probation).

Account Authorisation: Incorporate account authorisation mechanisms to restrict access to the student management system. Users should be required to log in with valid credentials (e.g. username and password) to access the system. Ensure that unauthorised users are denied access to sensitive data within the system. Create user roles (e.g. admin, faculty, student advisor) and assign appropriate permissions to each role. Only users with admin privileges should be able to manage students records and system settings.

User Interface: Design user-friendly console-based interface for interface for interacting with the student management system. Display clear menu options and prompts for various functionalities, guiding users through the system’s operations.

Input Validation and Error Handling: Implement input validation to ensure the correctness of user-provided data when adding or updating records. Validate input such as student IDs, grades, and other relevant fields to prevent errors. Include error handling mechanisms to gracefully handle unexpected inputs or errors. Provide informative error messages to guide users in case of input errors or system failures.

Page 5 of 9

word image 468 6 1

Marking Rubric

Report Submission: 25 marks

Criteria

Excellent

Good

Satisfactory

Marginal

Unsatisfactory

Introduction

(3 marks)

The introduction provides a comprehensive

overview of the Java mini project, clearly articulating its objectives, scope, and relevance. The problem statement is precisely defined, setting the stage for the reader to understand the project’s purpose and significance.

(3 marks)

The introduction offers a clear overview of the Java mini project, including its objectives and scope. However, there may be minor inconsistencies or omissions in articulating the problem statement.

(2.5 marks)

The introduction provides a basic overview of the Java mini project, outlining its objectives and scope. The problem statement is defined but may lack clarity or specificity.

(2 marks)

The introduction briefly outlines the Java mini-project’s objectives and scope but lacks sufficient detail. The problem statement is vaguely defined, making it difficult for the reader to grasp the project’s purpose.

(1 mark)

The introduction lacks clarity and coherence, failing to provide a clear overview of the Java mini-project and its objectives. The problem statement is unclear or missing entirely.

(0 mark)

Project Design: Flowchart and Class Diagram (3 marks)

Presents a detailed, well-designed

flowchart and class diagram that accurately

represents the project’s logic and functionality. It demonstrates a deep understanding of the system’s architecture and control flow.

(3 marks)

Provides a clear and well-constructed

flowchart and class diagram that effectively

represents the project’s logic and functionality. It demonstrates a good understanding of the system’s architecture and control flow.

(2.5 marks)

Offers a flowchart and class diagram that adequately represents the project’s logic and functionality. It demonstrates a basic understanding of the system’s architecture and control flow, but clarity of organisation can be improved.

(2 marks)

Presents a basic flowchart and class diagram that outlines the project’s logic and functionality but lacks clarity and detail or may contain some inaccuracies.

(1 mark)

Fails to effectively introduce the project, lacking clarity, conciseness, and relevance.

(0 mark)

Implementation Details + Java code

(2 + 6 = 8 marks)

The implementation details and Java code are well structured, efficient, and adhere to best practices. They demonstrate a deep understanding of object-oriented

programming

concepts and design patterns, with clear documentation and comments. The implementation

effectively

implements the required

functionalities with no or minimal room for improvement. (8 marks)

The implementation details and Java code are well written and functional, with minor room for improvement in terms of structure or efficiency. They effectively

implement the required

functionalities and demonstrate

proficiency in object-oriented

programming.

(6 marks)

The implementation details and Java code are functional but may lack consistency or clarity in structure. They successfully implement the required

functionalities, but with some room for improvement in terms of design or documentation.

(4 marks)

The implementation details and Java code are incomplete,

incorrect, or poorly structured. They fail to fully implement the required functionalities and lack adherence to object-oriented

programming

principles.

(2 marks)

The implementation details and Java code are missing or inadequate,

demonstrating a lack of understanding of object-oriented

programming

concepts and design patterns.

(0 mark)

Page 6 of 9

word image 468 7 1

Testing,

Evaluation and Results

(screenshots

needed)

(6 marks)

The testing, evaluation, and results section presents

comprehensive

outcomes and insights from the implementation.

Screenshots of testing processes and results are provided,

demonstrating the thoroughness of the evaluation.

(6 marks)

The testing, evaluation, and results section provides detailed outcomes and insights from the implementation.

Screenshots of key testing processes or results may be included, enhancing the clarity of the evaluation.

(5 marks)

The testing, evaluation, and results section outlines basic outcomes and insights from the implementation.

Screenshots of testing processes or results may be mentioned but are not provided.

(4 marks)

The testing, evaluation, and results section offers limited insights into the outcomes of the implementation.

Screenshots of testing processes or results are not provided.

(2 marks)

The testing, evaluation, and results section lacks clarity and coherence, failing to provide meaningful insights into the outcomes of the implementation.

Screenshots of testing processes or results are missing entirely.

(0 mark)

Documentation and Reflection (of each group member)

(2+2=4 marks)

The documentation is thorough, well organized, and effectively supports the Java mini project. It includes detailed

explanations of design choices, implementation

details, and testing methodologies.

Additionally, the reflection

component

provides insightful analysis of the project’s successes, challenges, and lessons learned, demonstrating a high level of self awareness and critical thinking.

(4 marks)

The documentation is comprehensive and largely supports the Java mini project

but may lack depth or detail in some areas. It includes explanations of design choices, implementation

details, and testing methodologies,

albeit with some gaps or omissions. The reflection component offers thoughtful analysis of the project experience, but may lack specificity or depth in certain aspects.

(3 marks)

The documentation provides basic support for the Java mini project, covering key aspects such as design choices, implementation

details, and testing methodologies.

However, it may lack thoroughness or clarity in some areas, leaving room for improvement. The reflection component offers some analysis of the project experience but may be cursory or lack critical insight.

(2 marks)

The documentation is somewhat limited in its support of the Java mini project, with notable gaps or deficiencies in coverage. It may lack clarity or organization,

making it difficult to follow or understand certain aspects of the project. The reflection

component offers limited analysis of the project experience, with minimal insight or depth.

(1 mark)

The documentation provides minimal support for the Java mini project, with significant gaps or deficiencies in coverage. It may be disorganized or poorly structured, hindering

comprehension of key project aspects. The reflection component is superficial or absent, offering little to no analysis of the project experience.

(0 mark)

Language

(1 mark)

The language used in the report is clear, concise, and professional,

enhancing the overall readability and coherence of the document. Sentences are well

structured, and terminology is accurately used to convey ideas effectively. There are no grammatical

The language used in the report is mostly clear and professional,

contributing to the overall readability of the document. While there may be occasional minor grammatical or spelling errors, they do not detract significantly from the clarity of the content. The writing

The language used in the report is adequate, though there may be some instances of grammatical or spelling errors that affect readability. Sentences may lack variety or precision, and terminology may be inconsistently

applied. Overall, the writing style is

The language used in the report is inconsistent or unclear, detracting from the overall readability and coherence of the document. There are numerous grammatical or spelling errors that impede

comprehension,

and sentences may be poorly

The language used in the report is highly problematic, with pervasive

grammatical or spelling errors that hinder

comprehension.

Sentences are poorly constructed or nonsensical, and the writing style lacks clarity and coherence. The document may be

Page 7 of 9

word image 468 8 1

or spelling errors, and the writing style demonstrates a high level of proficiency and attention to detail.

(1 mark)

style is generally effective, with sentences that are well-constructed

and coherent.

(0.75 mark)

functional but may lack sophistication or refinement.

(0.5 mark)

constructed or awkwardly phrased. The writing style may lack coherence or flow, making it difficult for the reader to follow the content.

(0.25 mark)

virtually unreadable due to the extent of the language issues present.

(0 mark)

Total: 25 marks

Demonstration: 15 marks

Criteria

Excellent

Good

Satisfactory

Marginal

Unsatisfactory

Execution of code (5 marks)

The group flawlessly executes the code, showcasing a deep understanding of the project’s functionalities. The code runs smoothly without errors or glitches, and all features are successfully

demonstrated.

(5 marks)

The group executes the code effectively,

demonstrating a solid

understanding of the project’s functionalities.

Minor issues or errors may arise during execution, but they are quickly identified and resolved collaboratively.

(4 marks)

The group executes the code adequately,

demonstrating a basic

understanding of the project’s functionalities.

Some errors or glitches may occur during execution, but they are manageable and do not significantly impact the demonstration.

(3 marks)

The group encounters noticeable issues or errors while executing the code, indicating gaps in understanding or preparation. However, they make an effort to address these issues and continue with the demonstration as a team.

(1.5 marks)

The group struggles to execute the code effectively,

encountering

significant errors or glitches that disrupt the demonstration. They may require assistance to resolve these issues or may be unable to complete the demonstration as a team.

(0 mark)

Explanation of Project

Functionality (5 marks)

The group provides a comprehensive and articulate explanation of the project’s

functionalities,

demonstrating a deep

understanding of the underlying concepts and implementation

details. They effectively

communicate how each feature works and how it contributes to the overall project, with each member contributing to the explanation.

(5 marks)

The group offers a clear and concise explanation of the project’s

functionalities,

highlighting key features and their significance. While some aspects may be briefly glossed over, the overall explanation is informative and coherent, with contributions from each member.

(4 marks)

The group provides a basic explanation of the project’s functionalities,

covering essential features but lacking depth or detail. Some concepts may be unclear or vaguely explained,

requiring further clarification from the team.

(3 marks)

The group struggles to explain the project’s functionalities clearly, resulting in a fragmented or disjointed

explanation. They may provide incomplete or inaccurate

information,

indicating gaps in understanding among team members.

(1.5 marks)

The group fails to effectively explain the project’s

functionalities,

demonstrating a lack of understanding or preparation. Their explanation is unclear or confusing, leaving the audience with little insight into the project, with minimal contribution from team members.

(0 mark)

Individual

Questions and Answer (5 marks)

Each team member responds

confidently and

Each team member responds

confidently and

Each team member responds

adequately to

Each team member’s responses to questions are limited

Each team member struggles to respond effectively to

Page 8 of 9

word image 468 9 1

accurately to questions posed by the audience, demonstrating a comprehensive

understanding of the Java code and its

implementation. They provide insightful

explanations and address all queries effectively,

showcasing their individual

contributions to the project.

(5 marks)

accurately to questions posed by the audience, demonstrating a comprehensive

understanding of the Java code and its

implementation. They provide insightful

explanations and address all queries effectively,

showcasing their individual

contributions to the project.

(4 marks)

questions,

demonstrating a basic

understanding of the Java code. They may struggle with more complex queries or provide somewhat

incomplete

answers, requiring additional

clarification from the team.

(3 marks)

or unclear, indicating gaps in understanding or preparation. They may provide incorrect or irrelevant answers, requiring significant assistance or clarification from the audience, with minimal contribution from team members.

(1.5 marks)

questions,

demonstrating a lack of understanding or preparation. Their answers are often incorrect or nonsensical,

indicating a fundamental

misunderstanding of the Java code, with minimal contribution from team members.

(0 mark)

Total: 15 marks

==*==*==*==*==*== End of Assessment ==*==*==*==*==*==

Page 9 of 9

Leave a Reply

Your email address will not be published. Required fields are marked *