Data Structures and Algorithms: Assignment v1.0

Data Structures and Algorithms

Assignment v1.0

Semester 2, 2022

Department of Computing Curtin University

1        Introduction

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.

2        The Problem

This assignment requires the extension of your graph code, or other approach(es), to determine the optimal series of moves to enter a string into a virtual keyboard. Movement is limited to up|down|left|right and selecting a key. Some keyboards have modes to enter upper/lowercase and numbers/punctuation. They also can wrap around the left|right|top|bottom or be limited at the edges. Your task is to build a representation of the keyboards and explore the steps for entering strings and find the “best” steps for a given string.

Images of virtual keyboards will be provided. You will need to decide on a way of representing keyboards in files to use as input to the program. You might want to start with 10-17 key numeric keyboard.

Your program should be called keyMeUp.py/java, and have three starting options:

  • No command line arguments : provides usage information
    • “-i” : interactive testing environment (java|python keyMeUp[.py] –i)
    • “-s” : silent mode (java|python keyMeUp[.py] –s keyFile strFile pathFile) When the program starts in interactive mode, it should show the following main menu:
  • Load keyboard file
  • Node operations (find, insert, delete, update)                – can build/extend keyboards
  • Edge operations (find, add, remove, update)
  • Display graph
  • Display graph information
  • Enter string for finding path
  • Generate paths
  • Display path(s) (ranked, option to save)
  • Save keyboard

You can structure the menu/UI differently, just make sure at least those feature options are included. When running in silent mode, you will give the input and output files on the command line.

  • keyFile – the file representing the keyboard
  • strFile – file containing one or more strings to generate paths for
  • pathFile – output the [ranked] paths to a file, with a score/rating.

Once you have a working program, you will showcase your program, and reflect on its performance. This investigation will be written up as The Report.

Remember: think before you code!

3        Submission

Submit electronically via Blackboard.

You should submit a single file, which should be zipped (.zip) or tarred (.tar.gz). Check that you can decompress it on the lab computers. These are also the computers on which your work will be tested, so make sure that your work runs there. The file must be named DSA_Assignment_<id> where the

<id> is replaced by your student id. There should be no spaces in the file name; use underscores as shown.

The file must contain the following:

  • Your code. This means all .java/.py 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.
  • README file including short descriptions of all files and dependencies, and information on how to run the program.
  • Your unit 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. A test harness for class X should be called UnitTestX.

  • Project Report for your code, as described in Section 3.1.
  • A signed and dated cover sheet. These are available from Blackboard with the assignment specification. You can sign a hard copy and scan it in or you can fill in a soft copy and digitally sign it.

·        Java Students:

o Do not include .class files or anything else that we do not need. We will recompile

.java files to ensure that what we’re testing is what we’re reading. We will use javac

*.java to compile your files and run the unit tests by their expected names.

Make sure that your file contains what is required. It is your responsibility to make sure that your submission is complete and correct.

3.1      Project Report

You need to submit documentation in docx or pdf format.

Your Report will be around 6-10 pages (excluding UML and Javadocs [if used]) – it can be longer. It should include the following:

  • User Guide: how to use your simulation, and an overview of your program’s purpose and features.
    • Description of Classes: you need to let us know not only what the purpose of each class is but why you chose to create it. As part of this, also identify and justify any places where it was possibly useful to create a new class but you chose not to, especially when it comes to inheritance.
    • Justification of Decisions: when you choose an ADT, underlying data structure or an algorithm, you need to justify why you chose that one and not one of the alternatives.

·        UML Class diagram

  • Traceability Matrix of features, implementation and testing of your code
    • Showcase of your code output, including 3 scenarios:
      • Introduction: Explain the features you are showcasing/investigating through 3 scenarios:

e.g. you can compare different keyboards on the same strings, look at the effect of strings with (or without) caps/no-caps/numbers/punctuation, impact of wrap/no-wrap…

  • Scenario1: Describe how you have chosen to set up and compare your code run for the showcase. Include commands, input files, outputs – anything needed to reproduce your results. Discuss your results.
    • Scenario2 & Scenario3: (as above)
    • Conclusion and Future Work: Reflect on your implementation and how it might be improved. What further investigations and/or extensions could be added?

3.2      Marking

Marks will be awarded to your submission as follows:

  • [30 marks] Implementation. We will use unit testing as well as looking at code quality; your included test harnesses/test case specifications are 15 of these marks.
    • [30 marks] Demonstration. We’ll have a number of tests to run, and you get marks proportional to how many tests your code passes. If your code passes all of the tests, then you will get all of these 30 marks.
    • [40 marks] Project Report. As described in section 3.1
    • [Bonus Marks] There will be bonus marks available exceptional/additional features. This could include visualisations and additional game functionality.
    • Marks will be deducted for not following specifications outlined in this document, which includes incorrect submission format and content and using built-in Java/Python ADTs.

The aims of this marking breakdown is as follows:

  • To make sure you can discuss and justify your coding decisions
    • To promote good testing. Industry is repeatedly telling us they are really looking for students who can properly test their code.

3.3      Requirements for passing the unit

Students must submit an assignment worthy of scoring 15% to pass the unit.

This assignment has many correct solutions so plagiarism will be easy for us to detect (and we will). For information about plagiarism, please refer to http://academicintegrity.curtin.edu.au.

In the case of doubt, you may be asked to explain your code and the reason for choices that you have made as part of coding to the unit coordinator. A failure to adequately display knowledge required to have produced the code will most likely result in being formally accused of cheating.

Finally, be sure to secure your code. If someone else gets access to your code for any reason (including because you left it on a lab machine, lost a USB drive containing the code or put it on a public repository) you will be held partially responsible for any plagiarism that results.

3.4        Late Submission

If you need extra time and have a valid reason, you should apply for an extension through Oasis. Late submissions will incur a daily deduction.

3.5        Clarifications and Amendments

This assignment specification may be clarified and/or amended at any time. Such clarifications and amendments will be announced via Blackboard. These clarifications and amendments form part of the assignment specification and may include things that affect mark allocations or specific tasks.

Order Now

Get expert help for Data Structures and Algorithms: Assignment v1.0 and many more. 24X7 help, plag free solution. Order online now!

Universal Assignment (April 29, 2026) Data Structures and Algorithms: Assignment v1.0. Retrieved from https://universalassignment.com/data-structures-and-algorithms-assignment-v1-0/.
"Data Structures and Algorithms: Assignment v1.0." Universal Assignment - April 29, 2026, https://universalassignment.com/data-structures-and-algorithms-assignment-v1-0/
Universal Assignment September 19, 2022 Data Structures and Algorithms: Assignment v1.0., viewed April 29, 2026,<https://universalassignment.com/data-structures-and-algorithms-assignment-v1-0/>
Universal Assignment - Data Structures and Algorithms: Assignment v1.0. [Internet]. [Accessed April 29, 2026]. Available from: https://universalassignment.com/data-structures-and-algorithms-assignment-v1-0/
"Data Structures and Algorithms: Assignment v1.0." Universal Assignment - Accessed April 29, 2026. https://universalassignment.com/data-structures-and-algorithms-assignment-v1-0/
"Data Structures and Algorithms: Assignment v1.0." Universal Assignment [Online]. Available: https://universalassignment.com/data-structures-and-algorithms-assignment-v1-0/. [Accessed: April 29, 2026]

Please note along with our service, we will provide you with the following deliverables:

Please do not hesitate to put forward any queries regarding the service provision.

We look forward to having you on board with us.

Categories

Get 90%* Discount on Assignment Help

Most Frequent Questions & Answers

Universal Assignment Services is the best place to get help in your all kind of assignment help. We have 172+ experts available, who can help you to get HD+ grades. We also provide Free Plag report, Free Revisions,Best Price in the industry guaranteed.

We provide all kinds of assignmednt help, Report writing, Essay Writing, Dissertations, Thesis writing, Research Proposal, Research Report, Home work help, Question Answers help, Case studies, mathematical and Statistical tasks, Website development, Android application, Resume/CV writing, SOP(Statement of Purpose) Writing, Blog/Article, Poster making and so on.

We are available round the clock, 24X7, 365 days. You can appach us to our Whatsapp number +1 (613)778 8542 or email to info@universalassignment.com . We provide Free revision policy, if you need and revisions to be done on the task, we will do the same for you as soon as possible.

We provide services mainly to all major institutes and Universities in Australia, Canada, China, Malaysia, India, South Africa, New Zealand, Singapore, the United Arab Emirates, the United Kingdom, and the United States.

We provide lucrative discounts from 28% to 70% as per the wordcount, Technicality, Deadline and the number of your previous assignments done with us.

After your assignment request our team will check and update you the best suitable service for you alongwith the charges for the task. After confirmation and payment team will start the work and provide the task as per the deadline.

Yes, we will provide Plagirism free task and a free turnitin report along with the task without any extra cost.

No, if the main requirement is same, you don’t have to pay any additional amount. But it there is a additional requirement, then you have to pay the balance amount in order to get the revised solution.

The Fees are as minimum as $10 per page(1 page=250 words) and in case of a big task, we provide huge discounts.

We accept all the major Credit and Debit Cards for the payment. We do accept Paypal also.

Popular Assignments

Professional Nursing Assignment Help for Students: Achieve Academic Excellence with Expert Support

Introduction Nursing is a demanding field that combines theoretical knowledge with practical skills. Students pursuing nursing courses often face challenges in completing assignments that require accuracy, critical thinking, and real-world application. This is where nursing assignment help becomes an essential academic support system. With increasing academic pressure and clinical responsibilities,

Read More »

Economics Assignment Help: A Complete Guide for Students

Introduction Economics is a fundamental subject that helps students understand how markets, governments, and individuals make decisions regarding resources. While it is highly relevant in today’s world, many students find economics assignments challenging due to complex theories, graphs, and data analysis. This is where economics assignment help becomes extremely useful.

Read More »

Law Assignment Help: A Complete Guide for Students

Introduction Law is a complex and intellectually demanding field that requires critical thinking, analytical skills, and a deep understanding of legal principles. Students pursuing law often face challenges in completing assignments due to extensive research requirements and intricate case analysis. This is where law assignment help becomes highly beneficial. With

Read More »

Nursing Assignment Help: A Complete Guide for Students

Introduction Nursing is a highly respected and demanding field that requires a strong understanding of medical concepts, patient care, and clinical practices. Students pursuing nursing often face intense academic pressure due to complex assignments, practical responsibilities, and tight deadlines. This is where nursing assignment help becomes essential. With expert assistance,

Read More »

Finance Assignment Help: A Complete Guide for Students

Introduction Finance is a core subject in business and management studies, covering areas like investment analysis, financial management, and risk assessment. While it offers excellent career opportunities, many students find finance assignments challenging due to complex calculations and analytical concepts. This is where finance assignment help becomes essential. With expert

Read More »

Computer Science Assignment Help: A Complete Guide for Students

Introduction Computer Science is one of the most popular and dynamic fields of study, offering vast career opportunities in software development, data analysis, cybersecurity, and more. However, students often face difficulties in completing assignments due to the technical complexity and time constraints. This is where computer science assignment help becomes

Read More »

Digital Marketing Assignment Help: A Complete Guide for Students

Introduction Digital marketing has become a vital part of modern business strategies, making it a popular subject among students worldwide. From social media campaigns to search engine optimization, the field is dynamic and constantly evolving. However, completing assignments in this subject can be challenging due to its practical and analytical

Read More »

Cloud Computing Assignment Help: A Complete Guide for Students

Introduction Cloud computing has become a fundamental part of modern technology, powering everything from mobile apps to enterprise systems. As universities increasingly include this subject in their curriculum, students often find it challenging to keep up with assignments and projects. This is where cloud computing assignment help becomes essential. With

Read More »

Blockchain Assignment Help: A Complete Guide for Students

Introduction Blockchain technology has rapidly gained popularity across industries such as finance, healthcare, and supply chain management. As a result, it has become an important subject in academic programs worldwide. However, students often struggle with its technical concepts and practical applications. This is where blockchain assignment help becomes highly valuable.

Read More »

Data Science Assignment Help: A Complete Guide for Students

Introduction Data Science has become one of the most in-demand fields in today’s digital era, combining statistics, programming, and analytical thinking. However, many students find it difficult to keep up with the complexity of assignments and projects in this subject. This is where data science assignment help plays a crucial

Read More »

Artificial Intelligence Assignment Help: A Complete Guide for Students

Introduction Artificial Intelligence (AI) is transforming industries across the globe, making it one of the most sought-after academic subjects today. However, mastering AI concepts and completing assignments can be challenging for many students. This is where artificial intelligence assignment help becomes essential. With expert guidance, students can better understand complex

Read More »

Assignment Writing Services: A Complete Guide for Students

Introduction Assignments are a crucial part of academic life, helping students develop knowledge, research skills, and critical thinking. However, managing multiple assignments along with exams and personal responsibilities can be overwhelming. This is where assignment writing services become highly beneficial. These services provide expert assistance, helping students complete their assignments

Read More »

Blockchain Assignment Help: A Complete Guide for Students

Introduction Blockchain technology has emerged as one of the most revolutionary innovations in recent years. From cryptocurrencies to secure data management, blockchain is transforming industries like finance, healthcare, and supply chain. Students studying blockchain often face challenges due to its technical concepts and real-world applications. This is where blockchain assignment

Read More »

Assignment Writing Services: A Complete Guide for Students

Introduction Assignments are a crucial part of academic life, helping students develop knowledge, research skills, and critical thinking. However, managing multiple assignments along with exams and personal responsibilities can be overwhelming. This is where assignment writing services become highly beneficial. These services provide expert assistance, helping students complete their assignments

Read More »

Academic Writing Services: A Complete Guide for Students

Introduction Academic writing is a fundamental part of education, requiring students to produce essays, research papers, case studies, and dissertations. It demands strong writing skills, proper structure, and in-depth research. However, many students struggle with academic writing due to time constraints and lack of expertise. This is where academic writing

Read More »

Online Homework Help Services: A Complete Guide for Students

Introduction Homework is an essential part of a student’s learning process, helping reinforce classroom knowledge and improve understanding. However, with increasing academic pressure and multiple responsibilities, students often struggle to complete their homework on time. This is where online homework help services become highly beneficial. They provide expert guidance, save

Read More »

Thesis Writing Help: A Complete Guide for Students

Introduction A thesis is one of the most important academic documents a student will write during their educational journey. It requires in-depth research, critical analysis, and a clear presentation of ideas. However, many students find thesis writing overwhelming due to its complexity and time-consuming nature. This is where thesis writing

Read More »

Essay Writing Help: A Complete Guide for Students

Introduction Essay writing is a fundamental part of academic life, helping students express their ideas, analyze topics, and develop critical thinking skills. Whether it’s argumentative, descriptive, or analytical, writing a high-quality essay requires proper structure, research, and clarity. However, many students struggle with essay writing due to time constraints and

Read More »

Content Writing Assignment Help: A Complete Guide for Students

Introduction Content writing has become a crucial skill in the digital era, playing a key role in blogging, marketing, and online communication. From academic essays to website content, strong writing skills are essential for students across all fields. However, many students struggle with structuring content, maintaining clarity, and optimizing for

Read More »

Digital Marketing Assignment Help: A Complete Guide for Students

Introduction Digital marketing has become one of the most important skills in today’s online-driven world. From social media marketing to search engine optimization (SEO), businesses rely heavily on digital strategies to reach their audience. Students studying digital marketing often face challenges in understanding strategies, tools, and real-world applications. This is

Read More »

UI/UX Design Assignment Help: A Complete Guide for Students

Introduction UI/UX design is a crucial aspect of modern digital products, focusing on creating visually appealing and user-friendly interfaces. From websites to mobile apps, good design enhances user experience and engagement. Students studying UI/UX design often face challenges in creativity, tools, and usability principles. This is where UI/UX design assignment

Read More »

Can't Find Your Assignment?