Friday, February 01, 2008

PhD Summary - User Driven Programming

The research question to be answered in this thesis is - To what extent is it possible to improve collaborative software development through the use of diagrams without requiring people to learn computer languages?

My research involves enabling computer literate people who aren't programmers to create software. The means for this is construction of visual diagrams that represent the task, in a similar way to how family trees and taxonomies can be represented as diagrams. The visual interface is available from a website and the research involves translating this to code. The aim is to enable programming without requiring people to learn computer languages. I am particularly interested in making it possible for a wider range of people to collaborate on software development.

The methodology for this is automation by translation from a human level of abstraction to software.

The theory behind this thesis is that it is possible to create a systematic diagrammatic representation of logical thought to enable representation of user's wishes to a computer.

C.S. Peirce (1906) stated in 'Prolegomena to an Apology for Pragmaticism' "Come on, my Reader, and let us construct a diagram to illustrate the general course of thought; I mean a system of diagrammatization by means of which any course of thought can be represented with exactitude". That is the purpose of this research, but to limit the scope and so make application of this theory testable the research is restricted mainly to engineers (because they often think in terms of diagrams) and to the domain of modelling (which often requires diagrams). So the aim is to apply the research first where it can have the most use and encourage others to expand it for other domains and other users. This research is intended to simplify computing for computer literate non-programmers, this includes many engineers. The main research area is enabling users such as engineers to model the problems they encounter in manufacturing and design. However, the wider aim is to prototype research for enabling a larger range of software users to model their problems. The intention is to create collaborative tools that allow users to develop software in a way they will be familiar with from their use of spreadsheets.

The hypothesis is that it is possible to create an end-user programming environment, usable by non-programmers, which can have a wide variety of uses. The aim of this research is to create a modelling system that can be edited by computer literate non-programmers, and so demonstrate an application of end-user programming that could be used in a more generic way. The possibilities for a generic user-driven programming environment will be explained. It is possible to create an end-user visual programming environment using Semantic Web technologies, especially for modelling of information, where this approach is well suited. All that is necessary is to link the information visually via equations, and store these results for reuse and collaboration. This can make translation from humans to computers easier and more reliable than current software systems and languages. The use of Semantic Web languages as programming languages would assist greatly with interoperability as these languages are standardised for use in a wide range of computer systems.

The problem examined in this thesis is that of allowing domain experts to create decision support software. This is a way of testing the assumption that these domain expert's thoughts can be represented in a systematic diagrammatic way, and then translated to computer code. The main emphasis is on engineers, who experience problems in creating and sharing their software. The alternatives they have for creation of software are spreadsheets, which do not have collaboration and information modelling abilities sufficiently built in, or complex software that needs considerable expertise to use, and often still has insufficient collaboration or information modelling capabilities.

Peirce, C.S. - 1906. Prolegomena to an Apology for Pragmaticism http://www.existentialgraphs.com/peirceoneg/prolegomena.htm

1 comment:

Anonymous said...

A FEW WORDS ABOUT DISSERTATIONS AND DISTANCE LEARNING



The most rigorous part of the dissertation includes the

Methods Section
Study Design
Research questions and hypothesis formulation
Development of instrumentation
Describing the independent and dependent variables
Writing the data analysis plan
Performing a Power Analysis to justify the sample size and writing about it

Results Section
Performing the Data Analysis
Understanding the analysis results
Reporting the results.
When you enter this phase of the program, you are nearing the end of the journey. Given the difficulty of this phase, one often wishes they had previewed what was to come.
Many Ph.D candidates seem to hit a brick wall and feel disarmed when called upon to work on the methods and results section of their dissertation.
This is the point where many students diligently search for help calling on their advisor, peers, university assistance and even Google.
This is also the time when the student asks themselves the question" HOW MUCH HELP IS TOO MUCH".
Surely no one will deny that having your dissertation written for you is very wrong.

On the other hand, it is not unusual for doctoral students to get help on specific aspects of their dissertation.(e.g. APA formating and editing) It also is not unusual for advisors to encourage students to seek outside help.

If you are a distance learning student it is almost essential you seek outside assistance for the methods and results section of your dissertation. The very nature of distance learning suggest the need for not only outside help but help from someone gifted in explaining highly technical concepts in understandible language by telephone and e-mail.

Distance learning, and the avaiability of programs, has increased exponetially over the last few years with some of the most respected institutions (Columbia University, Engineering; Boston University and others) offering a Ph.D in a variety of fields. If you are enrolled in a distance learning program, or considering one, you will be interested in reviewing the reference sites listed at the bottom of this page.

As stated above, many students hit their dissertation "brick wall" when they encounter the statistics section. Frequently, a student will struggle for months with that section before they seek a consultant to help them. This often leads to additional tuition costs and missed graduation dates.

If I were to name a single reason why a PhD candidate gets off track in their program it is the statistics and their fear of statistics.

So, the question is whether or not it is ethical to get help at all. If so, how much help is too much.

I don't know if there has ever been a survey of dissertation committee members who were asked this question, however, I know many advisors take the following position when they suggest or approve outside help:

To a large extent the process is self controlling. If the student relies too much on a consultant, the product may look good, however, the student will be unable to defend his/her dissertation.

It takes a committed effort on the part of the student and the consultant (resulting in a collaborative/teaching exchange) to have the student responsible for the data and thoroughly understand the statistics. The day the student walks in front of the committee to defend, there should be no question as to his/her understanding of statistics.

When their defense is successful, the question of "was the help too much" is answered.

If you are a Ph.D candidate and would like additional information, you may email me at:

Boyd
boyd67@comcast.net

Reference sites:
http://www.usdla.org/
http://www.cgsnet.org/
http://www.statisticallysignificantconsulting.com/