Throughout the semester, we've discussed the inclusion of testing the end user experience and how it's just as important as providing data to show the language produces high-performance code. A DSL's success is critically tied to whether the end user is able to achieve their objectives within the domain more easily or successfully by using it. We've discussed a few successful examples from the paper readings. Something I'm curious to go more in depth about is how to best go about conducting user and usability tests for a DSL. We could attempt to answer questions like the following:
How are subjects selected?
What are they asked to do using the DSL?
How are their responses used to form an evaluation of the DSL?
I think either a general approach guide or a detailed example of testing a DSL's user experience would be provide an interesting basis for a special topics class.
Learning Objectives:
Metacognition - Recognition: By discussing a learning topic that has been prominent throughout the semester and recognizing why it's important.
Metacongnition - Reasoning: By suggesting potential ways a special topics class could be structured so the class could improve our understanding of user experience testing for DSLs.
Language Front-End Design - Reasoning: By discussing the importance of learning about evaluating the success of a DSL's front-end design.
Throughout the semester, we've discussed the inclusion of testing the end user experience and how it's just as important as providing data to show the language produces high-performance code. A DSL's success is critically tied to whether the end user is able to achieve their objectives within the domain more easily or successfully by using it. We've discussed a few successful examples from the paper readings. Something I'm curious to go more in depth about is how to best go about conducting user and usability tests for a DSL. We could attempt to answer questions like the following:
Learning Objectives: