首页
网站开发
桌面应用
管理软件
微信开发
App开发
嵌入式软件
工具软件
数据采集与分析
其他
首页
>
> 详细
代做DSA1002、代写Java/c++设计编程
项目预算:
开发周期:
发布时间:
要求地区:
Page 1 of 9
Curtin College Bentley
DSA1002 Data Structure and Algorithm
Trimester 1, 2024
Assignment
Weight: 40% of the unit
Assignment Location: Assignment is uploaded under Assessments section (Assessment 3:
Final Assessment) on unit Moodle page.
Answer Format. When you write an answer, clearly indicate the relevant question
number/letter. Include your name and student ID at the start. Also add appropriate
comments to code files to indicate author name and student ID. Detailed submission
guidelines can be found below in section 3.
Timeframe. You have 14 days (336 hours) to complete and submit your answers, from 09:00
am on 29th April 2024 until 09:00 am on 13
th May 2024 (UTC+8). You may
schedule your work within this period. However, late submissions are not allowed
(also check late submission policy in unit outlines).
Submission. Submit your answer document(s) to the “Assessment 3: Final Assessment”
area on Moodle under assessments section. You must verify that your submission was
successful. Correctly submitting is entirely your responsibility.
Report: There is a separate submission point for Report, make sure to submit report part on
this submission point.
Implemented Code: There is a separate submission point for Implemented Code, make sure
to submit code part on this submission point.
Reference Material. This is an OPEN BOOK and OPEN COMPUTER assignment. You
may refer to any written material, including your notes, course materials, books,
websites, Unit Moodle page recordings etc. However:
• You must complete this assignment entirely on your own.
• You should answer all questions in your own words and code.
• You can use pseudo code and algorithms provided in the unit slides (Moodle page)
for your implementation.
• During the assignment, you may not communicate with any other students/anyone
helping.
• Your answer document will be checked by text matching software for signs of
cheating,collusion and/or plagiarism.
• The assignment questions have been designed such that neither of the two
students, working independently,should not produce the same answers.
• The coding part of this assignment can be submitted in either python/java.
DSA1002 Trimester 3, 2023
Page 2 of 9
• Find detailed granular level marking rubrics at the end of the assignment.
**** READ COMPLETE DOCUMENT BEFORE STARTING****
DSA1002 Trimester 3, 2023
Page 3 of 9
1. Overall Assignment Description
In practicals you have implemented and learned about a number of algorithms and ADTs and
will be implementing more of these in the remaining practicals. In this assignment, you will be
making use of this knowledge to implement a system to explore and compare a variety of ADT
implementations. Feel free to re-use the generic ADTs from your practicals. However,
remember to self-cite; if you submit work that you have already submitted for a previous
assessment (in this unit or any other) you have to specifically state this. Do not use the
Java/Python implementations of ADTs – if in doubt, ask.
Introduction
In this assignment, you'll utilize your knowledge of algorithms and data structures to develop
a contact list management system for mobile phones. This system will provide users with a
user-friendly interface to store, manage and access their contacts effortlessly.
Problem Description
This assignment aims to develop a Contact List Management System for mobile phones, using
a range of data structures and algorithms to efficiently organize and manage contact
information. This system will enable users to add new contact, update existing contact, delete
contact, and search for contacts. The system while also offer advanced features such as sorting,
and grouping. This system will empower users to effortlessly manage their contacts while on
the go.
Task 1: Creating DSAContact class:
Create DSAContact class to represent individual contact entry. The essential attributes of a
contact includes: name, phone number, email address and group. Group can have one of the
following values (F (family), W (workplace) and FR (Friends)). Maintaining group information
in each contact will help to categorize contacts based on different groups.
Task 2: Maintain a Contact List:
In the context of a contact list, each contact entry will be represented as a key-value pair, where
the key is a unique identifier such as contact's phone number, and the value is the contact's
information which is typically an object of DSAContact class. Use hash table data structure to
store and maintain contact information.
Input: Utilize a file (contact_list.txt) containing list of different contacts.
Output: Successful storage of contact information within the hash table, with each contact
entry represented as a key-value pair.
Task 2: Adding, Deleting or Updating Contacts:
After storing contact information in a hash table, the next step involves implementing
functionalities to interact with and manipulate the contact data.
When adding a new contact, the system should prompt the user to input the contact's
information. The system calculates the hash value based on unique key (phone number) to
determine the index in the hash table where the contact information will be stored. If a collision
occurs during insertion (i.e., multiple keys hash to the same index), the system employs
DSA1002 Trimester 3, 2023
Page 4 of 9
collision resolution technique such as chaining or double hashing to manage the collision
and ensure all contact information is accurately stored.
To delete a contact, the user specifies the phone number of the contact, system then calculates
the hash value to determine the index in the hash table where the contact is stored. If the contact
is found at the calculated index, it is removed from the hash table, effectively deleting the
contact from the system otherwise the system must inform the user that the contact does not
exist.
When updating a contact, the user must specify the phone number of the user along with the
updated information. The system calculates the hash index of the specified contact in the hash
table where the contact is stored. If the contact is found at the calculated index, the system
updates the contact information with the provided updates otherwise the system must inform
the user that the contact does not exist.
Task 3: Searching through the contact list:
The system will prompt the user to input search terms (name or phone number). Matching
contact or contacts will be presented to the user for further action.
Task 4: Sorting contact list:
The system will provide option to the user to arrange the contacts in alphabetical order by their
names. Extract the names of contacts by iterating through the hash table and collecting the
names of each contact. Sort the names using either of Merge Sort, Quick Sort or Heap Sort
algorithm.
Task 5: Categorizing contacts in groups:
The system should allow users to filter contacts based on the group attribute. System will iterate
through the hash table, whenever its encounter a contact that belongs to the desired group e.g.
F (family group), it will add it to the filtered list of contacts.
Task 6: Interactive Interface and Testing:
Design the interactive menu of the Contact List Management System. When you run the
system, it should display a list of options like:
• View contacts list
• Add new contact.
• Delete contact.
• Update contact.
• Search contacts.
• Sort contact list.
• Display contact belonging to a particular group.
• Exit
Create a proper Test Harness by defining a set of test cases that cover various aspects of the
system's functionalities. This includes testing features such as adding contacts, searching,
updating, deleting contacts, categorizing in groups, and sorting contacts.
DSA1002 Trimester 3, 2023
Page 5 of 9
2 Project Report
A project report of minimum 8-10 pages should be submitted (pdf format) including following
details:
Usage information:
• Introduction: describing basic introduction of your program (software).
• Dependencies: any libraries required to use the program (software).
• Terminologies and abbreviations used in the code.
• Future directions: suggested future improvements.
Class UML Diagrams:
• Readme file, describing related information1
.
• Complete UML class diagrams of the classes used for implementation.
• A complete association of classes/objects (i.e., class relationship).
• Complexity analysis of all operations performed by the software (e.g. Load data, etc.).
• Traceability matrix of feature implementation and testing of your code2
.
Comments on Code: it is suggested to add detailed comments to your code.
References: (if any) all materials should be referenced Chicago referencing style.
1Example good Readme files can be found here. (https://github.com/matiassingers/awesomereadme)
2Traceabiliy matrix help. (https://www.youtube.com/watch?v=8_5xZAXdS_A)
3 Submission
Submit electronically through Moodle unit page under assessments section (“Assessment 3:
Final Assessment”).
You should submit a single file, which should be zipped (.zip) or tarred (.tar.gz). Check that
you can decompress it on the lab/personal computers. Your work will be tested on lab/computer
other than your PC so try to check your code on other PCs too. The file must be named
DSA_Assignment_1_
, use underscores instead of the spaces in the file name.
The file should contain following deliverables:
• Your code. This means all python/java files needed to run your program. Do include
code provided to you as part of the assignment if that is required to run your program.
Do not include .class files or anything else that is not required to recompile python/java
files.
• README file includes short description of all files and dependencies, and information
on how to run the program (see section 2).
• Your program (software) test harnesses. One of the easiest ways for us to be sure that
your code works is to make sure that you’ve tested it properly.
• Documentation and Report for your code (Project Report)
Please verify that your submission is correct and not corrupted. You may make multiple
submissions, only your last one will be marked. However, late submissions are strictly not
allowed (also check late submission policy in unit outlines).
4 Marking Criteria
DSA1002 Trimester 3, 2023
Page 6 of 9
The assignment will be marked based on the following breakdown of the submission:
Code Implementation: (20 Marks) Code should be demonstrated during the tutorial to
achieve this requirement. The code should be appropriately written, as ADTs with comments.
The code developed will be tested against different tests (as per requirements given in section
1).
Project Report: (10 Marks) A minimum 8-10-page report based on information describe in
section 2.
Code Testing and Demonstration: (10 Marks) Code should be implementable, and testable
with the test harness. Also, should be demonstrated as per given schedule.
DSA1002 Trimester 3, 2023
Page 7 of 9
5 Academic Integrity
Please see the Coding and Academic Integrity Guidelines on unit Moodle page.
In summary, this is an assessable task. If you use someone else’s work or assistance to help
complete part of the assignment, where it’s intended that you complete it yourself, you will
have compromised the assessment. You will not receive marks for any parts of your submission
that are not your own original work. Further, if you do not reference any external sources that
you use, you are committing plagiarism and/or collusion, and penalties for academic
misconduct may apply.
Curtin college also provides general advice on academic integrity at
https://www.curtincollege.edu.au/content/dam/navitas/upa/curtin/pdfs/academic-integritypolicy.pdf
The unit coordinator may require you to provide an oral justification of, or to answer questions
about, any piece of written work submitted in this unit. Your response(s) may be referred to as
evidence in an academic misconduct inquiry.
DSA1002 Trimester 3, 2023
Page 8 of 9
Granular Marking Rubrics
Code Implementation (20 Marks)
a) Demonstrates correct implementation of the hash table representing the
contact list. (4)
b) Collisions occurrence while inserting new contact are handled propelry using
double hashing or chaining. (3)
c) Delete and update functions implemented correctly. (3)
d) Searching for a contact from the list is implemented correctly. (3)
e) Contact can be accurately categorized in groups. (3)
f) Accurate implementation of sorting algorithm for arranging list in alphabetical
order. (4)
Project Report (10 Marks)
• Usage Information: (2 Marks)
a) Clear introduction explaining the program's purpose and functionalities.
b) Dependencies and required libraries detailed for using the software.
• Terminologies and Future Directions: (2 Marks)
a) Clear explanation of terminologies and abbreviations used in the code.
b) Well-articulated suggestions for future improvements in the software.
• Class UML Diagrams and Complexity Analysis: (6 Marks)
a) Complete UML class diagrams depicting classes used for implementation and
their associations.
b) Thorough complexity analysis of all operations performed by the software,
e.g., load data, pathfinding, etc.
• Traceability Matrix and Comments on Code: (6 Marks)
a) A detailed traceability matrix showcasing feature implementation and testing
of the code.
b) Comprehensive comments within the code, aiding understanding and
readability.
Code Testing (10 Marks)
• Testability and Correctness: (5 Marks)
a) Demonstrated implementability and testability of the code with a
DSA1002 Trimester 3, 2023
Page 9 of 9
comprehensive test harness.
b) Successful execution and correctness of the code against various test
scenarios. (Hint: you can try some contacts in the designed phone book,
pasting images in the report)
• Error Handling and Robustness: (5 Marks)
a) Proper error handling mechanisms incorporated within the code. (Hint: you
can use custom exceptions)
b) Robustness demonstrated against unexpected inputs or scenarios.
软件开发、广告设计客服
QQ:99515681
邮箱:99515681@qq.com
工作时间:8:00-23:00
微信:codinghelp
热点项目
更多
代做ceng0013 design of a pro...
2024-11-13
代做mech4880 refrigeration a...
2024-11-13
代做mcd1350: media studies a...
2024-11-13
代写fint b338f (autumn 2024)...
2024-11-13
代做engd3000 design of tunab...
2024-11-13
代做n1611 financial economet...
2024-11-13
代做econ 2331: economic and ...
2024-11-13
代做cs770/870 assignment 8代...
2024-11-13
代写amath 481/581 autumn qua...
2024-11-13
代做ccc8013 the process of s...
2024-11-13
代写csit040 – modern comput...
2024-11-13
代写econ 2070: introduc2on t...
2024-11-13
代写cct260, project 2 person...
2024-11-13
热点标签
mktg2509
csci 2600
38170
lng302
csse3010
phas3226
77938
arch1162
engn4536/engn6536
acx5903
comp151101
phl245
cse12
comp9312
stat3016/6016
phas0038
comp2140
6qqmb312
xjco3011
rest0005
ematm0051
5qqmn219
lubs5062m
eee8155
cege0100
eap033
artd1109
mat246
etc3430
ecmm462
mis102
inft6800
ddes9903
comp6521
comp9517
comp3331/9331
comp4337
comp6008
comp9414
bu.231.790.81
man00150m
csb352h
math1041
eengm4100
isys1002
08
6057cem
mktg3504
mthm036
mtrx1701
mth3241
eeee3086
cmp-7038b
cmp-7000a
ints4010
econ2151
infs5710
fins5516
fin3309
fins5510
gsoe9340
math2007
math2036
soee5010
mark3088
infs3605
elec9714
comp2271
ma214
comp2211
infs3604
600426
sit254
acct3091
bbt405
msin0116
com107/com113
mark5826
sit120
comp9021
eco2101
eeen40700
cs253
ece3114
ecmm447
chns3000
math377
itd102
comp9444
comp(2041|9044)
econ0060
econ7230
mgt001371
ecs-323
cs6250
mgdi60012
mdia2012
comm221001
comm5000
ma1008
engl642
econ241
com333
math367
mis201
nbs-7041x
meek16104
econ2003
comm1190
mbas902
comp-1027
dpst1091
comp7315
eppd1033
m06
ee3025
msci231
bb113/bbs1063
fc709
comp3425
comp9417
econ42915
cb9101
math1102e
chme0017
fc307
mkt60104
5522usst
litr1-uc6201.200
ee1102
cosc2803
math39512
omp9727
int2067/int5051
bsb151
mgt253
fc021
babs2202
mis2002s
phya21
18-213
cege0012
mdia1002
math38032
mech5125
07
cisc102
mgx3110
cs240
11175
fin3020s
eco3420
ictten622
comp9727
cpt111
de114102d
mgm320h5s
bafi1019
math21112
efim20036
mn-3503
fins5568
110.807
bcpm000028
info6030
bma0092
bcpm0054
math20212
ce335
cs365
cenv6141
ftec5580
math2010
ec3450
comm1170
ecmt1010
csci-ua.0480-003
econ12-200
ib3960
ectb60h3f
cs247—assignment
tk3163
ics3u
ib3j80
comp20008
comp9334
eppd1063
acct2343
cct109
isys1055/3412
math350-real
math2014
eec180
stat141b
econ2101
msinm014/msing014/msing014b
fit2004
comp643
bu1002
cm2030
联系我们
- QQ: 9951568
© 2021
www.rj363.com
软件定制开发网!