Apply appropriate processes (design documentation and testing) and articulate the rationale for
design decisions throughout the process of developing a program.
2. Communicate own algorithmic solutions for complex programming problems using appropriate
notation.
3. Select and implement appropriate structures for file handling and error catching within a program.
4. Select and implement appropriate structures for data manipulation within a program.
5. Demonstrate knowledge of subject terminology and concepts, giving appropriate comparative
examples in specific contexts.
Task(s)
Design, implement and demonstrate a program to sort a dataset from a file in to ascending order using
three different algorithms. The program will time stamp the different algorithms to test the effectiveness
(timeliness) of the algorithms. The methods you should user are Insertion, Selection and Bubble sort.
The program should read from a file in to an appropriate data structure. The program should then use a
series of methods as discussed to sort the data and write it to another file in a sorted ascending format you
have chosen. The program will calculate the length of time it took each algorithm to process the sorts and
this information will be stored in another test file, which will not be overwritten only appended.
Extend the program to allow the user to select different files for sorting. Add a method to accept an
additional algorithm of your own design. Your algorithm will sort the dataset in to descending order again;
you will have to calculate run time. The program should continue to run until the user terminates the
program.
Design documentation (500 words plus designs):
2
All design documentation should be in a formal report format, with a clear introduction. Any research
undertaken or resources consulted should be discussed and/or presented in a bibliography. The designs
should be presented in the appendices and clearly referred to from the body of the text. The following
should be included:
• Identify any assumptions you have had to make (this is NOT information given in the brief)
• Discuss any research or resources you have used throughout the development, with
appropriate citations.
• Given the brief evaluate the program clearly identify any areas of the brief not achieved or
issues yet to be resolved
• A bibliography (all resources consulted)
• Formal design documentation in the form of use cases, Pseudo code and Flow-charts where
applicable to the scenario, (in the appendices). This should be as complete as possible and
reflect the final design. They main contain a number of elements that are not implemented.
Implementation:
The implemented program should demonstrate an appropriate use of programming concepts, as detailed
in the marking criteria. Credit will not be given for extending the brief or producing something unrelated.
All program files should include a clear header that includes at least the author’s name. The (main)
program name should be as specified in the brief. The code should be well structured and commented and
follow best practice. The majority of methods should demonstrate some form of effective testing
(commented out, output statements.
It is not expected that all designed elements be implemented; there should be a focus on demonstrating
the elements given in the marking criteria and the overall functionality of the application. However, the
implementation should NOT be significantly different from the design documentation (which should be
updated as work progresses).
Demonstration:
The program will be demonstrated to the module tutor, and in some instances a second marker. Where
the tutor will provide applicable test data, unless otherwise stated in the brief. Students will be expected
to explain specific aspects of their code and should do so using appropriate technical language. The
demonstration will take place during class on the 20 th April 2020.
Marking Criteria
Criteria Assessed Element Weighting
1. Insertion sort 10%
1. Selection sort 10%
3
1. Bubble sort 10%
2. Own Algorithm 20%
3. Main Program 20%
4. Report 30%
Total 100%
Assessment Criteria
A+/A/A-
1. All of the sorting algorithms have been correctly implemented and function as expected.
2. The descending algorithm is of an appropriate type, has been well documented in the report, and is
effectively implemented in the program.
3. The data is effectively drawn from the generated files and stored appropriately in the program.
4. The core program has been extended successful to enable user interaction and is only terminated
by the user.
4
5. The report presents the results of an effective set of experiments that test a range of different data
sets with all three sorting algorithms.
6. An appropriate and well-formed conclusion has been presented that is supported by the results.
B+/B/B-
1. All of the sorting algorithms have been correctly implemented and function as expected.
2. The descending algorithm is of an appropriate type and has been documented in the report
with some mistakes identified. The algorithm is implemented in the program however only
works in a limited way.
3. The data is drawn from the generated files and stored appropriately in the program, which is
mostly effective.
4. The core program has been extended to enable user interaction and is only terminated by the
user, however some aspects are not handled effectively.
5. The report presents the results of a set of experiments that test at least three different data
sets with all three sorting algorithms.
6. A conclusion has been presented that is supported by the results to some degree.
C+/C/C-
1. At least two of the sorting algorithms have been correctly implemented and function as expected.
The descending algorithm has not been implemented in to the final program. However, it is in the
design documentation.
2. The data is drawn from the generated files and stored appropriately in the program, which is
somewhat effective.
3. The core program has been extended to enable user interaction and is only terminated by the user;
however, a number of aspects are not handled effectively.
4. The report presents the results of a set of experiments that test at least two different data sets with
all algorithms implemented.
5. A conclusion has been presented that is supported by the results to some degree.
D+/D/D-
1. At least one of the sorting algorithms has been correctly implemented and functions as expected.
No descending algorithm exists in the program and is discussed in a minimal state in the report
and design documentation.
2. The data is drawn from the generated files and stored in the program, which is implemented in a
less than effective
We aim at 100% customer satisfaction. As such, we never compromise on the quality of our assignment services and strive to maintain the highest standards of work for all our clients. Our writers craft each paper carefully to match the requirements on the instructions form while at the same time being surgical and objective while handling client work.
We receive many applications from writers around the world daily. Nevertheless, we only choose the cream of the crop to tackle your “help with homework” requests. Hence, our homework helpers are highly-qualified individuals who adhere to our quality policy.
We maintain a fair pricing policy for all our homework help services. Our pricing system generates quotations based on the requirements of each paper. Hence regardless of the complexity or duration of a paper, our system determines the most accurate and pocket-friendly price for all our clients.
At MyHomeworkWriters, we guarantee all students swift delivery of their assignments. We understand that time is an essential factor in the academic world. We, therefore, ensure that all assignments are delivered on or before the agreed deadline. This leaves room for editing to incase the client wants changes done to the work delivered by our writers.
We maintain a zero-plagiarism policy in all our papers. Our writers stick to the instructions to deliver plagiarism-free work. Other than that, they extensively research the work they are handling and are keen to avoid any chance of similarities with previously written papers. Our editors check every completed work to ascertain it’s at the set standards.
Our main objective is to assist you through every step of your academic journey. Thus, we completely understand that you might run into trouble once in a while when interacting with our system. If you do run into trouble, please get in touch with our support agents and they will immediately provide you with assistance. Feel free to contact us via the Chat window or email us.
Follow these simple steps to get your homework done
Fill in the order form and provide all details of your assignment.
Choose the payment system that suits you most.
You will be able to track the progress of your paper from our system.
Once your paper is ready, we will email it to you.
Myhomeworkwriters holds a reputation for providing high-quality assignment writing services. You only need to give us all the requirements for your “do my homework” order, and our writers will give you the best results.
Our team is skilled and equipped in searching for information required to complete work handed over to them. Regardless of the complexity of the work, we are determined to get the job done. Extensive research when handling client requests makes it possible for us to be able to stick to the boundaries and guidelines set by the clients. Thus enabling us to keep the work original and plagiarism free.
We have highly qualified writers to assist you whenever you place in "help with my homework" order. Our essay writing service is designed to not only help students get good grades but also excel in their studies. Our writers are highly experienced and educated specialists and professionals who want to do more than creating a difference in the academic field.
Our editors have a keen eye when going through work. They can capture even the smallest of errors. This has been made possible by the fact that we have been in the academic field for more than 5 years now. Thus, they bring with them previous experience when going through work to be able to capture everything. These unique skills make it possible for us to deliver error-free work to our clients.
Our team has very experienced specialists and professionals. This gives us a competitive edge over our competitors. Whenever we receive work that needs to be redone, everyone gets involved. That’s inclusive of our editors. This collective involvement in doing work makes it possible for us to deliver high-quality work to all our clients. Other than that it makes it possible for us to adhere to our originality and plagiarism-free policies.