CMSC 451 Project 2

Project 2 involves writing an analysis of the results that you obtained in first project. You are to

submit a paper that discusses the results of your analysis. Your paper should include the

following items:

? A brief introduction of the sorting algorithm that you have selected and how the two

versions of the algorithm compare including:

o High-level pseudocode for the sorting algorithms

o A Big-T analysis of the two versions of the algorithm

o An explanation of your approach to avoiding the problems associated with JVM

warm-up

o A discussion of the critical operation that you chose to count with an explanation

of why you selected it

? An analysis of the results of your study, which should include:

o graph of critical operations for both algorithms and one for the execution times

o a comparison of the performance of the two versions of the algorithm

o a comparison of the critical operation results and the actual execution time

measurements

o a discussion of the significance of the coefficient of variance results and how it

reflects the data sensitivity of your algorithm

o how your results compare to your Big-T analysis

? A conclusion that summarizes the important observations of your study

If for any reason, it was necessary to revise the program you submitted in project 1, the revised

source code should also be included along with the paper.

Grading Rubric

Criteria Meets Does Not Meet

100 points 0 points

Introduction

35 points 0 points

Contains a brief description of the

sorting algorithm together with highlevel pseudocode for the algorithm

(10)

Does not contain a brief description of

the sorting algorithm together with

high-level pseudocode for the

algorithm (0)

Contains a correct Big-T analysis of

the algorithm (10)

Does not contain a correct Big-T

analysis of the algorithm (0)

Contains an explanation of your

approach to avoiding the problems

associated with JVM warm-up (10)

Does not contain an explanation of

your approach to avoiding the

problems associated with JVM warmup (0)

Contains a discussion of the critical

operation that you chose to count

with an explanation of why you

selected it (5)

Does not contain a discussion of the

critical operation that you chose to

count with an explanation of why you

selected it (0)

Analysis

50 points 0 points

Contains a graph of critical

operations and one for the execution

times (20)

Does not contain a graph of critical

operations and one for the execution

times (10)

Contains a comparison of the

performance of the two versions of

the algorithm (5)

Does not contain a comparison of the

performance of the two versions of the

algorithm (0)

Contains a comparison of the critical

operation results and the actual

execution time measurements (10)

Does not contain a comparison of the

critical operation results and the actual

execution time measurements (0)

Contains a discussion of the

significance of the coefficient of

variation results and how it reflects

the data sensitivity of your algorithm

(5)

Does not contain a discussion of the

significance of the coefficient of

variation results and how it reflects the

data sensitivity of your algorithm (0)

Contains a discussion of how your

results compare to your Big-T

analysis (10)

Does not contain a discussion of how

your results compare to your Big-T

analysis (0)

Conclusion

15 points 0 points

Contains a conclusion that

summarizes the important

observations of your study (20)

Does not contain a conclusion that

summarizes the important

observations of your study (0)