OOP ICA - Part1 Semester2 2023 24
OOP ICA - Part1 Semester2 2023 24
OOP ICA - Part1 Semester2 2023 24
Module
Jackie Barker
Module Title Leader
Object Oriented Programming
Module Code CIS4037-N
(Semester 2)
Submission Wednesday, 8th
Final Date May 2024
Assessment Title Submission Method
Part 1: Console Application Online
(Blackboard)
Middlesbrough
Tower
Page 1
OOP ICA Part1 – Semester2, 2023-24
Contents
1. Introduction.................................................................................................3
1.1 ICA Part 1 Overview........................................................................................... 3
1.2 ICA Part 2 Overview........................................................................................... 3
3. Academic Learning.....................................................................................14
3.1 Independent Learning.......................................................................................14
3.2 TU Library......................................................................................................... 14
Page 2
OOP ICA Part1 – Semester2, 2023-24
1. Introduction
The assessment for the module is comprised of two parts. To pass the module
students need to a minimum module mark of 50%.
The first part is worth 30% of the module’s mark. Working as part of a team,
students are given three programming tasks that will require each student to do some
research, experimentation, and development.
Students will be provided applications that have some functional similarities to the
application prototypes your teams will produce; this will help focus the research into
features of Java and associated APIs. This research and practice from this part will
be of help with part 2.
Students will individually write and submit reflective documents discussing the
research and development process and outcomes.
The second part is worth 70% of the module’s mark. Each student will individually
develop a small Java application to simulate buying and selling of sports items.
Page 3
OOP ICA Part1 – Semester2, 2023-24
2.1 Overview
Students will work in a team of two or three to design a develop a console application
for a shop named Art Prints to sell and restock items. The application will be
developed in three stages, corresponding to (programming) tasks 1, 2 and 3.
Students using Apache NetBeans, or raw coded using a text editor,
The programming tasks (1, 2 and 3) will be assessed in each team’s practical
session in the weeks stated in Table 1 above. Students will also need to submit their
java project as a zip file to Blackboard by the end of the same week. Task 4 is an
individual reflection to be submitted to Blackboard in Week 10.
Each team member will take on the role of Team Leader for one of the programming
tasks, with following responsibilities.
Make design decisions for the task and assign coding tasks based on design
to all member (including themselves)
Keep a record of regular progress reports from the other team members.
Provide support to the other team members.
Record actions taken if insufficient progress was being made to achieve the
required outcome.
Develop test plan for task (which will be used in demonstration)
Although the Team leader has final decision on what is to be done, it is required that
all team members will contribute ideas for design and implementation for the task.
Page 4
OOP ICA Part1 – Semester2, 2023-24
View
Buy
Add
Quit
A suitable number should be allocated to each option and displayed alongside the
option in the menu. Students are advised to use zero as choice number for the Quit
option. When the user enters an option number the application should:
If the user selects the Quit Option, in which case a suitable message is displayed
before the application terminates.
If the user enters a non-integer value or an option that is not specified in the menu,
then a suitable validation message should be provided to the user before
redisplaying the menu.
Note:
Project Name: Task01
Group ID: oop
Package name: oop.ica.part1
Main Class Name: ArtPrintsSystem.java
Authors: Name and User Id of all team members should be specified as
comments at top of any java file coded
Students should use a modular approach within their design, i.e., user defined
methods.
Page 5
OOP ICA Part1 – Semester2, 2023-24
Page 6
OOP ICA Part1 – Semester2, 2023-24
Data Class
Student will add and code a data class based on the following design and notes:
- Id
- Title
- Artist
- Material
- Price
- Stock
Note:
A mutator method should be provided for Stock field, i.e., set method.
Students should also code a service method which returns the prices to two
decimal places, but as a string, e.g., a price value of 55.5 would be returned
as “£ 55.50”.
Page 7
OOP ICA Part1 – Semester2, 2023-24
Table 2 below provides additional information about the fields, which will be of value
when displaying content and validating buying or adding of prints.
Field Restriction
Main Class
In the main class students will need to declare a Generic ArrayList based on the Data
class. The ArrayList will need to be visible to all methods in the main class.
The loadData() method will need code which manually populates the ArrayList with
three to five data class objects, using the field values displayed in Table 3.
Page 8
OOP ICA Part1 – Semester2, 2023-24
Matt 250gsm
5000444 Church in Cassone Klimt 109.99 0
Paper
The Fighting
9876543 Turner Canvas 50.50 2
Temeraire
The above values are also contained in the ArtsPrints.csv file, which will be used
in Task 03. The loadData() method should be called before the menu is displayed.
The displayData() method will display in a tabular layout the following detail for
each Stock Item in the ArrayList
Item Number – an integer starting at 1 (not related to Id)
Title
Artist
Price (with £ symbol and to two decimal places)
Stock
Page 9
OOP ICA Part1 – Semester2, 2023-24
The displayData() method will be used for the Buy and Add main menu
operations.
When the user selects the Buy option, after the option title the displayData() method
is called. The operation should prompt the user for which item they wish to buy or
which key to enter to Exit. If a valid item number is provided, then only one of the
selected Art Print is sold and the stock suitably amended. A suitable message with
relevant details should be displayed, after which the menu is redisplayed.
When the user selects the Add option, after the option title the displayData() method
is called. The operation should prompt the user for which item they wish to add to or
which key to enter to Exit. If a valid item number is provided, then one item is added
to the stock. A suitable message with relevant details should be displayed, after
which the menu is redisplayed.
Note:
Project Name: Task02
Authors: Name and User Id of all team members should be specified as
comments at top of any java file coded
Students should ensure suitable validation and error handling is in included in
the code.
Students will need to decide on what code from previous task to keep, modify,
or remove.
Task to be assessed in Week 7
Submit to Blackboard by 4.00pm on Friday, in Week 7.
Worth: Contributes 5% towards Module mark
Page 10
OOP ICA Part1 – Semester2, 2023-24
The Prototype Application will work with an input text file and an output text file to
make the mock application dynamic in terms of data handling. Students should
create a copy of their Task02 Project and rename the copied project to Task03
Students will need to modify the code two main class methods.
loadData()
main()
The loadData() method will processing the input file line by line and use the read
data to add an Art Print object to the generic ArrayList reading. This method should
run before the application displays anything to the console. If the loadData() is
successful in populating the ArrayList then the application should proceed with
displaying and processing the menu. Otherwise, if there is a file error or no items are
loaded, then a suitable error message should be displayed, and the application
allowed to terminate.
The saveData() method will save the contents of the generic ArrayList to the output
file. This method should run when the user selects the quit option from the main
menu. Suitable messages should be displayed if method is successful or
unsuccessful.
No changes are required to the View Items, Buy Item and Add Stock operations.
Page 11
OOP ICA Part1 – Semester2, 2023-24
Note:
Project Name: Task03
Authors: Name and User Id of all team members should be specified as
comments at top of any java file coded
Input file and Output file should be placed in the Project folder and are
delimited by a comma.
o Input file: ArtPrints.csv
o Output file: output.txt
Students should ensure suitable validation and error handling is in included in
the code.
Students will need to decide on what code from previous task to keep. modify
or remove.
Task to be assessed in Week 9
Submit to Blackboard by 4.00pm on Friday, in Week 9
Worth: Contributes 5% towards module mark
Page 12
OOP ICA Part1 – Semester2, 2023-24
Students will need to submit a reflection (either in essay or report format) on their
experience as a Team Leader for one task. The reflection should address two
reflective questions about their experience. Example questions include.
The chosen questions can be used as section headings for the reflection. Within
each section clear examples should be provided for the reflective discussion and
supported with evidence, e.g., screenshots, test plans, copy of messages, etc. In
addition, students should conclude each section by indicating what they learnt, how
they could improve that experience in the future and how the experience could be put
to good use in the future modules (e.g., Advanced Practice, Masters project, etc.)
The body text of the reflection should be 1000 words. No need to deploy a reflection
model or include any appendices.
Note:
File formats: DOCX, DOC or PDF
File Name:
o Format: surname-userID-OOP-Task4
o Example: Rashid-u0018369-OOP-Task4.pdf
Submit to Blackboard by 4.00pm on Wednesday 29th March 2023 (week10)
Worth: Contributes 15% towards module mark
Page 13
OOP ICA Part1 – Semester2, 2023-24
3. Academic Learning
3.2 TU Library
Students are expected to take up opportunities to gain academic skills in their own
time. For example, staff will not be teaching students on how to write a reflection,
instead students will need to make use of the library to gain reflective writing skills.
Page 14
OOP ICA Part1 – Semester2, 2023-24
For each programming task students should test that the task works as would be
expected. For tasks 1, 2 and 3 the team leader should construct test plans for each
new and or revised feature of the application.
Once the test plan has been completed, use it to check your design and application.
If any of the tests fail, update your application and re-test (keep the original entry that
failed in the plan along with the new entry for the re-test).
Students should have the test plan either printed or displayed when demonstrating a
programming task.
Page 15
OOP ICA Part1 – Semester2, 2023-24
The following tables provide the learning outcomes for ‘Computer Technologies and
Operating Systems’ module.
Professional Skills
7. Design and implement efficient Java solutions to unfamiliar problem
specifications and critically evaluate the processes and facilities
used in an autonomous manner.
Page 16
Appendix C. Marking Criteria
Page 17
OOP ICA Part1 – Semester2, 2023-24
Task 4 (15%)
Reflection Distinction Merit Pass Fail
Full (but concise) explanation of Technical authorship presents a Technical authorship is Technical authorship is below
the problem domain and the clear explanation of the acceptable; discussion/critique the standard expected of a
objectives of each task; clear problem; discussion/critique demonstrates understanding of Masters degree.
insight into main challenges. shows a good appreciation of main issues & problems.
main issues & objectives.
There is little or no
A thorough reflection on the Demonstrated an
demonstration of
learning experience from A good reflection on the understanding of the problem
researching and experimenting, learning experience from tackled and their solution. understanding of the issues and
and how these were used to researching and experimenting problems. There is little or no
guide you and your team to with the various examples and Adequate reflection of how the evidence of teamwork.
required exercise solutions. how these were used to guide team interacted and worked
you and your team to required together. Appraisal of other
Excellent reflection of how the exercise solutions.
members of team
team interacted, worked
performance.
together, fair and professional Good reflection of how the
appraisal of other members of team interacted and worked
team performance. together, fair and professional
appraisal of other members of
team performance.
Page 18