CS5003NI – Data Structures and Specialist Programming – Islington College

https%3A%2F%2Fdrive.google

  RjUQFJY2HdJr6XWRmJ0LAldBFXQNVgiDqfQMdbmn2fbi zajjAqo9I8N2U1qik3 QMMi22buvp8AMHIi0mRrqzjvrDHhDVmVDhm5Xs1stSIT COURSEWORK 1 QUESTION PAPER Year Long 2023/2024 

Module Code: CS5003NI Module Title: Data Structures and Specialist Programming Module Leader: Mr. Prithivi Maharjan
Coursework Type: Individual  Coursework Weight:This coursework accounts for 30%of your total module  grades. Submission Date: Friday, 12 January 2024 When Coursework is  Week 7 given out: Submit the following to Islington College’s MST portal  Submission  before the due date and before 1PM on the due date: Instructions: Report file/s should be in .pdf Whole project folder should be zipped Warning:London Metropolitan University and Islington College  takes Plagiarism seriously. Offenders will be dealt with  sternly.

© London Metropolitan University

Plagiarism Notice 

You are reminded that there exist regulations concerning plagiarism. Extracts from University Regulations on Cheating, Plagiarism and Collusion 

Section 2.3: “The following broad types of offence can be identified and are provided as  indicative examples …… 

(i) Cheating: including copying coursework. 

(ii) Falsifying data in experimental results. 

(iii) Personation, where a substitute takes an examination or test on behalf of the  candidate. Both candidate and substitute may be guilty of an offence under these  Regulations. 

(iv) Bribery or attempted bribery of a person thought to have some influence on the  candidate’s assessment. 

(v) Collusion to present joint work as the work solely of one individual. (vi) Plagiarism, where the work or ideas of another are presented as the candidate’s  own. 

(vii) Other conduct calculated to secure an advantage on assessment. (viii) Assisting in any of the above. 

Some notes on what this means for students: 

(i) Copying another student’s work is an offence, whether from a copy on paper or  from a computer file, and in whatever form the intellectual property being copied takes,  including text, mathematical notation and computer programs. 

(ii) Taking extracts from published sources without attribution is an offence. To quote  ideas, sometimes using extracts, is generally to be encouraged. Quoting ideas is  achieved by stating an author’s argument and attributing it, perhaps by quoting,  immediately in the text, his or her name and year of publication, e.g., ” e = mc2 (Einstein  1905)”. A reference section at the end of your work should then list all such references  in alphabetical order of authors’ surnames. (There are variations on this referencing  system which your tutors may prefer you to use.) If you wish to quote a paragraph or so  from published work then indent the quotation on both left and right margins, using an  italic font where practicable, and introduce the quotation with an attribution. 

Further information in relation to the existing London Metropolitan University regulations  concerning plagiarism can be obtained from http://www.londonmet.ac.uk/academic regulations

Deliverables 

You are required to submit two components before the submission deadline. 1. The software with the entire coursework project containing Java classes source  codes. For this you can zip your NetBeans Java application project. 2. Report in PDF format. 

Case Study 

Using appropriate classes from the Java Collections framework, you must create a Java  software system based on “My Address Book”. 

Many people need a way to store contact information. However, many existing addresses book applications are either too complex or too expensive 

The simple address book application is a simple and affordable way to store contact  information. It is easy to use and does not require a database. 

Account general details: 

1) ID 

2) First Name, Middle Name, Full Name 

3) Nickname 

4) Address 

5) Number Type (Personal, office, Mobile)  

6) Number 

7) Address added date 

8) Email 

9) Address (permanent & temporary) 

10) Company 

11) Notes

Development 

Part 1: System Features 

1. The user interfaceof a system should be appropriately shown. 2. Can create a new dataon the system.  

3. Can delete the existing datafrom the system. 

4. Display at least 5list of existing addresses with their relevant information.  5. The option to update personal informationshould be provided for address  holder errors, while essential identifiers like ID numbers must remain unchanged. 6. The task involves implementing a reliable data structure to store information, such  as creating a LinkedList or ArrayList with functionalities for adding, removing, and  managing data. 

7. We will implement a search functionality for address information, utilizing the  efficient Binary Search algorithm. Additionally, users will have the option to refine  their search by specifying the account type and account status for more targeted  results. 

8. The system must incorporate sorting functionality based on the account balance,  using any sorting algorithm covered in our module. This feature should allow  sorting in ascending, descending, or both orders, ensuring efficient organization  of data according to the data.

Part 2: System enhancement 

To fulfil this coursework requirement, you are required to develop an original  implementation of a data structure and a searching/sorting algorithm. 

As per the Part 1 of the project, the implementation should involve the utilization of  classes and methods from the Java Collections framework, ensuring adherence to  professional and clear coding practices. 

Following requirements are must complete to complete part 2: 

1. Validation and exception handling 

During data registration, it is essential to verify the existence of the account by cross referencing with a unique identifier such as a phone number. 

2. Programming styles 

In the Java code section, adhere to proper naming conventions and utilize meaningful  comments effectively to ensure code clarity and maintain professionalism. 

3. Proper use of classes and methods 

Efficiently apply object-oriented programming principles to minimize code redundancy by  utilizing methods and classes effectively. 

4. Use of proper messages 

When attempting to create a new account, an appropriate prompt will be displayed if any  entered information is invalid, such as providing numerical input in the full name field.

Report 

A reflective report (1500 words), which concisely documents: 

1. Prepare a comprehensive report with well-organized sections, including font size,  font family, and alignment for a polished appearance. The report should  encompass an introduction, conclusion, and other essential elements to present  the project findings effectively. 

2. Provide a detailed account of the tools and techniques employed throughout the  project, such as NetBeans and Java. Explain the features and advantages of  these tools, supported by relevant images to showcase their application in the  project. 

3. Present a detailed explanation of the utilized algorithm, covering its  implementation rationale and the reasons behind its selection. Offer a step-by step breakdown of the algorithm with the aid of diagrams, flowchart diagrams,  and pseudocode to enhance comprehension. 

4. Elaborate on the chosen data structure, its purpose, and the motivations  underpinning its adoption in the project. Employ diagrams, flowchart diagrams,  and pseudocode to illustrate its functioning in a systematic manner. 

5. Create a comprehensive class diagram highlighting the purpose, properties, and  methods of each class in the project. Provide a detailed description of these  classes to offer a clear understanding of their respective functionalities. 

6. Plan and present a series of test cases with concrete evidence in the form of  system screenshots. A minimum of fivetest cases should be included to  validate the project’s functionality thoroughly. 

7. Engage in thoughtful reflection on the development process, discussing any  encountered challenges and their respective solutions. Share valuable lessons  learned during the course of the project, offering insights into personal growth  and improvement as a developer.

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.

Marking Criteria  Weightage
Development Requirements  70
Part 1  Feature  50
Application User Interface  10
Create a new account  5
Delete account  5
Display the list of existing accounts  5
Update existing account information  5
Appropriate use of Data Structure  5
Use of binary search algorithm  10
Use of any sorting algorithm  5
Part 2  Quality and style  20
Validation and exception handling  5
10  Programming styles (comments and naming)  5
11  Proper use of classes and methods  5
12  Proper messages shown to user  5
Report Requirements  30
Well-structured report  5
Test Cases  5
Algorithm Explanation  5
Class diagram  5
Method description  5
Development process with tools used  5
Total Mark  100

Leave a Reply

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