• Software Elegance Study

    Master's Project - Thomas Briggs - UMass Dartmouth Computer Science
  • Welcome! 

    Thank you for participating in my study of elegance in software.

    The goal of this study is to investigate how people perceive elegance in software and what common characteristics are found in software that is considered elegant. Study participants are asked to provide information about how they perceive various characteristics of a small collection of sample programs. This data will drive an analysis of what, if any, relationship exists between the participants' evaluations of the sample programs and their characteristics.

    At the beginning of the survey I ask that you provide some basic information about yourself. This information will be used to see if and how the perception of elegance varies between people. All questions are optional and all answers will be kept strictly confidential.

    Following the demographic questions you will be presented with the descriptions of the twelve criteria on which each sample program will be evaluated. You are asked to provide values ranging from "Not at all" to "Very much" for each criterion. These descriptions are also made available on each page of the survey.

    After that, the real fun begins! There are four problems presented and five solutions to each problem. For each problem, first review the problem description; then, review each of the provided solutions to that problem and rate each of them on the twelve criteria provided.

    Thank you for participating in this study! If you have any questions or other feedback feel free to contact me at tbriggs@umassd.edu.

  • Evaluator Information

    Tell us about you!
  • Programming Language Experience

  •  
  • Evaluation Criteria Descriptions

    The twelve evaluation criteria for this study fall into four groups. These descriptions will also be available on each evaluation form.

    Group 1: Implementation

    Readability The source code is easy to read.
    Maintainability The program would be easy to maintain over time.
    Extensibility The program would be easy to extend to meet new requirements.
    Scalability The program would scale to larger instances of the problem.

    Group 2: External Elegance

    Recognition You see at once that the solution “makes sense”.
    Convincingness You see the solution as skillfully executed, well-finished.
    Pleasingness You find the solution neat, well done.

    Group 3: Internal Elegance

    Completeness The solution is well worked out and “rounded”.
    Gracefulness The solution is well-proportioned, nicely formed.
    Harmoniousness The elements of the solution fit together in a consistent way.
    Sustainability The solution is environmentally friendly.

    Group 4: Overall

    Elegance How elegant is the program overall?

     

     

  • Problem 1 - Multiples of 3 or 5

    Problem Description

    If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23. Find the sum of all the multiples of 3 or 5 below 1000.

  • Solution 1

    Click here to view the first solution to problem 1. Then enter your ratings in the table below.

  •  
    • Show/Hide Criteria Descriptions 
    • Criteria Descriptions

      Implementation

      Readability

      The source code is easy to read.

      Maintainability

      The program would be easy to maintain over time.

      Extensibility

      The program would be easy to extend to meet new requirements.

      Scalability

      The program would scale to larger instances of the problem.

      External Elegance

      Recognition

      You see at once that the solution “makes sense”

      Convincingness

      You see the solution as skillfully executed, well-finished

      Pleasingness

      You find the solution neat, well done

      Internal Elegance

      Completeness

      The solution is well worked out and “rounded”

      Gracefulness

      The solution is well-proportioned, nicely formed

      Harmoniousness

      The elements of the solution fit together in a consistent way

      Sustainability

      The solution is environmentally friendly

      Overall

      Elegance

      How elegant is the program overall?

  • Problem 1 - Multiples of 3 or 5

    Problem Description

    If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.Find the sum of all the multiples of 3 or 5 below 1000.

  • Solution 2

    Click here to view the second solution to problem 1. Then enter your ratings in the table below.

  •  
    • Show/Hide Criteria Descriptions 
    • Criteria Descriptions

      Implementation

      Readability

      The source code is easy to read.

      Maintainability

      The program would be easy to maintain over time.

      Extensibility

      The program would be easy to extend to meet new requirements.

      Scalability

      The program would scale to larger instances of the problem.

      External Elegance

      Recognition

      You see at once that the solution “makes sense”

      Convincingness

      You see the solution as skillfully executed, well-finished

      Pleasingness

      You find the solution neat, well done

      Internal Elegance

      Completeness

      The solution is well worked out and “rounded”

      Gracefulness

      The solution is well-proportioned, nicely formed

      Harmoniousness

      The elements of the solution fit together in a consistent way

      Sustainability

      The solution is environmentally friendly

      Overall

      Elegance

      How elegant is the program overall?

  • Problem 1 - Multiples of 3 or 5

    Problem Description

    If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.Find the sum of all the multiples of 3 or 5 below 1000.

  • Solution 3

    Click here to view the third solution to problem 1. Then enter your ratings in the table below.

  •  
    • Show/Hide Criteria Descriptions 
    • Criteria Descriptions

      Implementation

      Readability

      The source code is easy to read.

      Maintainability

      The program would be easy to maintain over time.

      Extensibility

      The program would be easy to extend to meet new requirements.

      Scalability

      The program would scale to larger instances of the problem.

      External Elegance

      Recognition

      You see at once that the solution “makes sense”

      Convincingness

      You see the solution as skillfully executed, well-finished

      Pleasingness

      You find the solution neat, well done

      Internal Elegance

      Completeness

      The solution is well worked out and “rounded”

      Gracefulness

      The solution is well-proportioned, nicely formed

      Harmoniousness

      The elements of the solution fit together in a consistent way

      Sustainability

      The solution is environmentally friendly

      Overall

      Elegance

      How elegant is the program overall?

  • Problem 1 - Multiples of 3 or 5

    Problem Description

    If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.Find the sum of all the multiples of 3 or 5 below 1000.

  • Solution 4

    Click here to view the fourth solution to problem 1. Then enter your ratings in the table below.

  •  
    • Show/Hide Criteria Descriptions 
    • Criteria Descriptions

      Implementation

      Readability

      The source code is easy to read.

      Maintainability

      The program would be easy to maintain over time.

      Extensibility

      The program would be easy to extend to meet new requirements.

      Scalability

      The program would scale to larger instances of the problem.

      External Elegance

      Recognition

      You see at once that the solution “makes sense”

      Convincingness

      You see the solution as skillfully executed, well-finished

      Pleasingness

      You find the solution neat, well done

      Internal Elegance

      Completeness

      The solution is well worked out and “rounded”

      Gracefulness

      The solution is well-proportioned, nicely formed

      Harmoniousness

      The elements of the solution fit together in a consistent way

      Sustainability

      The solution is environmentally friendly

      Overall

      Elegance

      How elegant is the program overall?

  • Problem 1 - Multiples of 3 or 5

    Problem Description

    If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.Find the sum of all the multiples of 3 or 5 below 1000.

  • Solution 5

    Click here to view the fifth solution to problem 1. Then enter your ratings in the table below.

  •  
    • Show/Hide Criteria Descriptions 
    • Criteria Descriptions

      Implementation

      Readability

      The source code is easy to read.

      Maintainability

      The program would be easy to maintain over time.

      Extensibility

      The program would be easy to extend to meet new requirements.

      Scalability

      The program would scale to larger instances of the problem.

      External Elegance

      Recognition

      You see at once that the solution “makes sense”

      Convincingness

      You see the solution as skillfully executed, well-finished

      Pleasingness

      You find the solution neat, well done

      Internal Elegance

      Completeness

      The solution is well worked out and “rounded”

      Gracefulness

      The solution is well-proportioned, nicely formed

      Harmoniousness

      The elements of the solution fit together in a consistent way

      Sustainability

      The solution is environmentally friendly

      Overall

      Elegance

      How elegant is the program overall?

  • Thank you for evaluating these solutions to Problem 1 - Multiples of 3 and 5.

     

    When you click the Submit button below you will be taken to Part 2 of this survey where you will be asked to evaluate solutions to Problem 2 - Even Fibonacci Numbers.

  • Should be Empty: