Urgent Required c# Expert

profilekaushiki12
PDD_Brief1.docx

Lea

rning

Outcomes

assessed

in

this

assignment

Assignment

Title

Development of a Sorting Program.

Weighting

6

0

%

Word

Count

or

Equivalent

5

00

words

plus

implementation

and

demonstration.

1. 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):

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 20th April 2020.

Marking

Criteria

Criteria

Assessed Element

Weighting

1.

Insertion sort

10%

1.

Selection sort

10%

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.

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 way.

3. The core program has been extended to enable user interaction in a minimal way and the user is unable to terminate the program.

4. The report presents the results of an experiment that tests at least one data set with all algorithms implemented.

5. A conclusion has been presented that is barely supported by the results

F1-F4

1. None of the sorting algorithms have been correctly implemented or function as expected.

2. The data is not drawn from generated files or stored in the program.

3. The core program has not been extended to enable user interaction and the user is unable to terminate the program.

4. The report presents minimal to no results.

5. The conclusion is minimal to none existent.

Submission

Requirements

Your report is targeted at a word count of 500 words (excluding bibliography and appendices). You must keep to this target and you must include the actual word count at the end of your submission. Submissions that are more than 10% above or below the target will be rejected unmarked. Appropriate appendices and references are not included in this word count.

Your written work must be submitted via Turnitin on Moodle by the due date. Your work must be word-processed. All references should be formatted using the Harvard style Referencing. You MUST keep a copy of your work in case of loss or damage to the original. Work submitted late will only be accepted if your course tutor has granted permission in advance, and an extension form has been completed.

It is your responsibility to ensure that Moodle and the module tutor have received your submission. You are advised to keep copies of email receipts received and make no edits to your documents until you have confirmation your submission is successful. If you have any doubt as to your work being successfully submitted, you should present your work to the module tutor by 9am on the next working day. DO NOT email your work to your tutor unless specifically asked to.

See supplementary sheet for marking criteria descriptions at each grade band.

Late Submissions

Students who do not submit their coursework by the published deadline, without an agreed extension, will have up to 72 hours (3 days) to make their submission. Where late submission deadline falls on a Saturday or Sunday students should submit their work no later than 9am on the following Monday. Submissions received during this three-day period will result in a reduced grade as shown in the table below. After this period no submissions will be accepted and will be recorded as an F4 zero grade.

Quality of Work

Grade Awarded

Quality of Work

Grade Awarded

A+

B+

C-

D-

A

B

D+

F1

A-

B-

D

B+

C+

D-

B

C

F1

F2

B-

C-

F2

F3

C+

D+

F3

F4

C

D

F4

1

1

1