Recent Question/Assignment

CS5003 –Data Structures and Specialist Programming Individual Coursework 1
2023-24
This individual coursework requires developing and documenting Java application(s) using an objectoriented approach.
The coursework carries 30% of the module mark.
Submission Deadlines: 3pm, Friday 8 December 2023 via WebLearn
Mandatory Software Demo Recording Deadline: 3pm, Friday 8 December 2023 via WebLearn
NB– Anyone not meeting the deadline must submit their work with a completed mitigating circumstances form. It will only be marked if the mitigating circumstances are accepted.
Please note the rules on plagiarism
The application should be implemented individually. This is not a group/team effort. Any material which is a direct copy from someone else (student or other source) or a close paraphrase/code must be indicated where it is quoted i.e. it must be made clear what material is a quotation or close paraphrase e.g. by showing the text in italics or in quotation marks. It is not sufficient to show the source in a list of references or bibliography. If you are unclear, please discuss your examples with your workshop tutor or the module leader. Plagiarism is a serious offence and conviction for plagiarism may lead to suspension from the University, even for a first offence. Please see the section on Academic Misconduct in the Student Handbook.
Part 1: Use of Data Structures & Java Collections Framework
You are required to develop a software in Java using relevant classes from the Java Collections framework. This software is a part of a supermarket management system. The software is designed to manage products in the supermarket and the activities on these products. Your software should be able to manage unlimited number of products, but store and maintain the last four activities only for each product. These activities will be updated in response to two main processes: 1- adding new items of a product to stock with acceptable quantity (i.e. AddToStock activity), 2- removing items from an existing product with acceptable quantity when they are sold (i.e. (i.e. RemoveFromStock activity). To simplify the task, the system does not require saving data on disk, however if you wish you can implement this functionality into your system.
The data of a product must include the following details:
General details:
1. Product ID
2. Product name
3. Product Category (i.e. Drinks, Fruits, Vegetables, Diary, Bakery, etc.)
4. Product date (i.e. the date on which the product is added to the system)
5. Product quantity
Activities details:
6. Activities (i.e. last four activities).
The data of an activity must include the following details:
1. Activity ID
2. Activity Name (i.e. 'AddToStock ' or 'RemoveFromStock')
3. Activity Quantity (i.e. Quantity of items to be added or removed in an activity)
4. Activity Date (i.e. the date on which an activity is applied)
Your system is required to provide the following functionality:
1. Create a new product and add it to the system.
2. Display on the computer screen a list of the existing products with their general details.
3. Delete a product that will not be sold anymore from the system, given the product ID.
4. Display a list of general details for products that belong to the same category (i.e. search products by category). The list should be sorted by product quantity.
5. Update the system with details of any new activities. Note that for each product, only the last four activities are maintained by the system, and neither a product quantity nor an activity quantity can be negative numbers.
6. Given a product ID, display a 'Vendor Report' that shows the recorded activities for this product.
7. Provide an appropriate system user interface that allows testing of the above methods.
Part 2: Implementation of a Data Structure and an Algorithm
You are to provide your own implementation of a standard data structure and a standard searching/sorting algorithm to satisfy the requirement of this part of the coursework.
You should have used some classes and its methods from the Java Collections framework in your implementation of the system as requited by Part 1 of this assignment. In this part, you should do the following: -
a) To construct your own implementation of the same data structure of at least one of the Java Collections classes which you used in your solution from Part 1. For example, if you used the LinkedList class you should provide your own implementation of a linked list class from scratch in order to provide the same functions of your application.
b) To write your own Java code from scratch to implement a sorting or searching algorithm. For example, you could write a Java method of your own to perform the insertion sort algorithm, which can be used in the implementation of Function no.4 of the application from Part 1.
c) To provide another version of your application which provides the same functions as specified in Part 1, but makes use of the class(s) and method(s) from your implementation of the chosen data structure and algorithm from (a) and (b) above.
Deliverables
This coursework requires three deliverables to be submitted via WebLearn before the submission deadline above. Please note you will automatically fail the coursework if any of (1 or 3) has not been submitted.
1. The software artefact with a complete set of Java classes source code (i.e. ***.java files, or complete NetBeans Java application projects) to meet the requirement of Part 1 and Part 2 of the coursework.
2. The report in MS Word compatible or PDF format.
3. The recorded software demo in mp4 format, using Panopto application.
(1) Your software implementation should demonstrate/provide the following features
1. Use of appropriate data types (built-in and programmer-defined) to handle the application data.
2. Define and use your own class or classes.
3. Use of appropriate data structures for the required programming scenario.
4. Use suitable algorithms e.g. sorting and searching.
5. Provide either console-based or GUI-based user interface for your application.
(2) A reflective report (1000 words), Please be concise (clear statements in less number of words), use bullets and numbering for text descriptions not paragraphs
a. Detailed instructions to run the program: concise steps in bullet or flowchart (not in
b. paragraph). Note that these instructions are not a User Manual of your application.
c. The architecture of your software in terms of software classes using a UML class diagram. You are required to clearly indicate which classes are of your own work and which classes are from other sources (e.g. from textbooks, online sources etc.).
d. Detailed description of the classes’ purpose, properties and methods. Which data structures and which algorithms you have used, in which part of your programs, and why.
e. Screen dumps (live, 2 per page) including test plan, test data and test results
f. A reflection of your experience of the development task, what issues you experienced, your solution to overcome it and any lessons learned.
(3) A recorded software demo (10 minutes) recorded using Panopto application in mp4 format, which concisely demo any implemented functionalities (1-7, a-c)) and features (1-5) of your software with your voice over,
You should clarify in the demo which classes, functions and data structures you have implemented and which you have used from the java collections or any other sources (i.e. from textbooks, online sources, etc.); clarify why you chose the used data structure(s) or searching/sorting algorithms.
Marking Scheme for CS5003 Individual Coursework 1
This coursework counts for 30% of the module mark. Please see the table below for the marking criteria and its weighting.
Item Weighting(%)
SOFTWARE DEMO (Design and Implementation) 70%
Part 1
1 Design quality of your Java class/es to hold details of the supermarket products and activities, i.e. the class/es public properties and methods 5
2 Use of suitable data structures in your Java class/es. 7
3 Create a new product and add it to the system. 5
4 Display on the computer screen a list of the existing products with their general details. 5
5 Delete a product from the system, given the product ID. 5
6 Display a list of general details for products that belong to the same category (6.1). The list should be sorted by product quantity (6.2). (6.1)
(6.2) 4
4
7 Update the system with details of any new activities (7.1). Note that for each product, only the last four activities are maintained by the system (7.2), and neither a product quantity nor an activity quantity can be negative numbers (7.3). (7.1)
(7.2)
(7.3) 4
3
1
8 Given a product ID, display a 'Vendor Report' that shows the recorded activities for this product.
2
9 Provide an appropriate system user interface that allows testing of the above functions. 5
Part 2
10 Implementation of a standard data structure 5
11 The code to test the implemented data structure 5
12 Implementation of a standard algorithm 5
13 The code to test the implemented algorithm 5
REPORT 18%
a Detailed instructions to run the program in bullets or flowchart (not in paragraph) 2
b The architecture of your software in terms of software classes in UML class design, clearly indicating which classes are of your own work and which classes are from other sources (e.g. from textbooks, online sources). 2
c Detailed description of each of the classes’ purpose, properties and methods. 2
d A reflection of your experience. 2.5
e Which data structures and which algorithms you have used, in which part of your program, and why. 5
f Screen dumps (live, 2 per page) including test data/plan and test results 2.5
g Report clarity and format: use concise statements, replace text with diagrams when you can, bullets and numbering for text descriptions not paragraphs. 2
PROGRAMMING QUALITY AND STYLE 12%
1 Clarity of code which shows the underlying algorithm 2.5
2 Sensible naming of programmer-defined variables, classes, properties and methods 2.5
3 Useful comments in code 2.5
4 Data validation and exception handling 2.5
5 User interface design and usability of the system 2
Total Mark 100%
Get Started.. Don't leave it to the last minute. I am sure you can do a great job. -A little progress every day can adds up to big results- With my best wishes in your project!
Dr. Mona Abdelgayed

Looking for answers ?


Recent Questions

MSC DISSERTATION GUIDELINESMSC FULL-TIME PROGRAMMES2023-2024TABLE OF CONTENTSTABLE OF CONTENTS .................................................................................................................................................MODULE SPECIFICATION AND MODULE DESCRIPTOR1. Module SpecificationModule Title: Human Resource ManagementParent Programme Title (if applicable): BA (Hon) Business StudiesFaculty and School: Faculty of Sciences,...Module code:Level of study: 5Number of credits: 20 creditsCourse/s the module belongs to: BA (Hon) Business StudiesFaculty: BusinessSemester/Trimester of delivery: Semester 1Start date of the module: April...I need help for my dissertation. My subject is MBA in Banking and Finance. I need plagiarism free work. I need a proposal for 1500 words and dissertation for 12000 to 15000 words.Please send me your pricing...Faculty of Business and LawMain Assignment Brief 2023/24Unit Title:Dissertations / ProjectsUnit Code: 5Z7V0044 Core: YES Level: 7Assignment Identifier: 1CWK100 ReportUnit Leader: Dr Sehar GrahamContact...Faculty of Business and LawAssignment Brief 2023/24Unit Title: Portfolio and Project Management in OrganisationsUnit Code: 5Z7V0001 Core: YES (MSc OSCM) Level: 7Assignment Identifier: 100% Individual Assignment...Faculty of Business and LawAssignment Brief 2023/24Unit Title: Digital Leadership TransformationUnit Code: 5Z7V0006 Core: Y Level: 7Assignment Title: PortfolioUnit Leader: Dr Roula MichaelidesContact Details:...Show All Questions