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” s
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.teps 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: