Fall2006.CSIS672FinalProject History

Hide minor edits - Show changes to output

Changed lines 7-8 from:
For the final project, we will continue exploring thought-provoking ideas about the future of HCI and computer programming found in the seminal paper:
to:
For the final project, we continue to explore the future of HCI and computer programming, being inspired by ideas from:
Changed line 56 from:
Submit your solution by editing your page: [[http://www.cs.cofc.edu/~manaris/notes/pmwiki.php/CSIS672Fall2006/FinalProject_TylerBennett | Tyler Bennett]], [[http://www.cs.cofc.edu/~manaris/notes/pmwiki.php/CSIS672Fall2006/FinalProject_ThomasDion| Thomas Dion]], [[http://www.cs.cofc.edu/~manaris/notes/pmwiki.php/CSIS672Fall2006/FinalProject_JohnathanHeh| Johnathan Heh]], [[http://www.cs.cofc.edu/~manaris/notes/pmwiki.php/CSIS672Fall2006/FinalProject_RobertKeisler| Robert Keisler]], [[http://www.cs.cofc.edu/~manaris/notes/pmwiki.php/CSIS672Fall2006/FinalProject_MarkMixson| Mark Mixson]], [[http://www.cs.cofc.edu/~manaris/notes/pmwiki.php/CSIS672Fall2006/FinalProject_LucaPellicoro| Luca Pellicoro]], [[http://www.cs.cofc.edu/~manaris/notes/pmwiki.php/CSIS672Fall2006/FinalProject_JeffreyShumard| Jeffrey Shumard]], and [[http://www.cs.cofc.edu/~manaris/notes/pmwiki.php/CSIS672Fall2006/FinalProject_BrianSmith| Brian Smith]].
to:
Submit your solution by editing your page: %newwin%[[http://www.cs.cofc.edu/~manaris/notes/pmwiki.php/CSIS672Fall2006/FinalProject_TylerBennett | Tyler Bennett]], %newwin%[[http://www.cs.cofc.edu/~manaris/notes/pmwiki.php/CSIS672Fall2006/FinalProject_ThomasDion| Thomas Dion]], %newwin%[[http://www.cs.cofc.edu/~manaris/notes/pmwiki.php/CSIS672Fall2006/FinalProject_JohnathanHeh| Johnathan Heh]], %newwin%[[http://www.cs.cofc.edu/~manaris/notes/pmwiki.php/CSIS672Fall2006/FinalProject_RobertKeisler| Robert Keisler]], %newwin%[[http://www.cs.cofc.edu/~manaris/notes/pmwiki.php/CSIS672Fall2006/FinalProject_MarkMixson| Mark Mixson]], %newwin%[[http://www.cs.cofc.edu/~manaris/notes/pmwiki.php/CSIS672Fall2006/FinalProject_LucaPellicoro| Luca Pellicoro]], %newwin%[[http://www.cs.cofc.edu/~manaris/notes/pmwiki.php/CSIS672Fall2006/FinalProject_JeffreyShumard| Jeffrey Shumard]], and %newwin%[[http://www.cs.cofc.edu/~manaris/notes/pmwiki.php/CSIS672Fall2006/FinalProject_BrianSmith| Brian Smith]].
Changed lines 34-35 from:
Here are two typical programs for this task in [[Pythagorean_Theorem_in_Java_and_Python | Java and Python]] [-(courtesy of Brian Smith and Jeff Shumard)]-.
to:
Here are two typical programs for this task in [[Pythagorean_Theorem_in_Java_and_Python | Java and Python]] [-(courtesy of Brian Smith and Jeff Shumard)-].
Changed lines 33-34 from:
** Here is the program in [[Pythagorean_Theorem_in_Java_and_Python | Java and Python]] (provided by Brian Smith and Jeff Shumard).
to:
Here are two typical programs for this task in [[Pythagorean_Theorem_in_Java_and_Python | Java and Python]] [-(courtesy of Brian Smith and Jeff Shumard)]-.
Changed lines 28-29 from:
to:
* a user task scenario (e.g., write a "hello world" program) to compare your new approach with today's standard (possible metrics: error rate, completion rate, new concepts/"nonobvious ideas", etc.).
Changed lines 32-38 from:
* a GOMS analysis comparing a "program" specified (a) in Java and (b) in your paradigm/language.
** Use the following simple, yet generic programming task: "write a program to calculate length of the hypotenuse of a triangle given the length of the two legs". (Here is this program in Java and Python (courtesy of Jeff Shumard and Brian Smith).)

program in several languages to calculate length of the hypotenuse of a triangle given the length of the two legs.

* Define user task scenarios (e.i. write a "hello world" program) to compare your new approach with today's standard (possible metrics: error rate, completion rate, new concepts/"nonobvious ideas"...
).
to:
* a GOMS analysis comparing a "program" specified (a) in Java and (b) in your paradigm/language. For this use the following simple, yet generic programming task: "write a program to calculate length of the hypotenuse of a triangle given the length of the two legs".
** Here is the program in [[Pythagorean_Theorem_in_Java_and_Python | Java and Python]] (provided by Brian Smith and Jeff Shumard).
Changed lines 3-6 from:
In the [[http://www.cs.cofc.edu/~manaris/index.php/Fall2006/CSIS672Homework4 | last assignment]], we explored the question:

'''What will the task of programming computers look like in 10-20 years from now?
'''
to:
Although OS interfaces we have moved from command-line to direct-manipulation interaction, general programming is still command-line.

In the [[http://www.cs.cofc.edu/~manaris/index.php/Fall2006/CSIS672Homework4 | last assignment]], we explored the question:
''What will the task of programming computers look like 10-20 years from now?''
Changed lines 11-12 from:
Again, here a few of Alan Kay's quotes to provide context (from [[http://en.wikipedia.org/wiki/Alan_Kay | Wikipedia]]):
to:
Again, here are some Alan Kay's quotes to provide context (from [[http://en.wikipedia.org/wiki/Alan_Kay | Wikipedia]]):
Changed lines 21-24 from:
As discussed in class, although OS interfaces we have moved from command-line to direct-manipulation interaction, general programming is still command-line.

Specify a draft for a new, revolutionary programming paradigm/language for regular programmers (like you and me). Again, think: What will the task of programming computers look like in 10-20 years from now?
to:
Specify a draft for a new, revolutionary programming paradigm/language for regular programmers (like you and me).
Changed lines 27-28 from:
* a hierarchical task analysis for a typical user task
to:
* a hierarchical task analysis for writing a program
Changed lines 21-26 from:
Design a new programming paradigm/language for regular programmers (like you and me).

* Implement a Paper Prototype
* Define using the Language Model (conceptual, semantic, syntactic, lexical levels)
* Provide a hierarchical task analysis
* Define general user tasks - assume users are
"us"
to:
As discussed in class, although OS interfaces we have moved from command-line to direct-manipulation interaction, general programming is still command-line.

Specify a draft for a new, revolutionary programming paradigm/language for regular programmers (like you and me).
Again, think: What will the task of programming computers look like in 10-20 years from now?

Provide the following:

* a paper prototype
* a language model specification (conceptual, semantic, syntactic, lexical levels)
* a hierarchical task analysis for a typical user task

To evaluate your idea, provide:

* a GOMS analysis comparing a
"program" specified (a) in Java and (b) in your paradigm/language.
** Use the following simple, yet generic programming task: "write a program to calculate length of the hypotenuse of a triangle given the length of the two legs". (Here is this program in Java and Python (courtesy of Jeff Shumard and Brian Smith).)

program in several languages to calculate length of the hypotenuse of a triangle given the length of the two legs.
Added lines 1-49:
!!!Purpose

In the [[http://www.cs.cofc.edu/~manaris/index.php/Fall2006/CSIS672Homework4 | last assignment]], we explored the question:

'''What will the task of programming computers look like in 10-20 years from now?'''

For the final project, we will continue exploring thought-provoking ideas about the future of HCI and computer programming found in the seminal paper:

Kay, A. "[[http://www.metaobject.com/papers/Smallhistory.pdf | The Early History of Smalltalk]]", ACM SIGPLAN Notices, Volume 28, Number 3, March 1993.

Again, here a few of Alan Kay's quotes to provide context (from [[http://en.wikipedia.org/wiki/Alan_Kay | Wikipedia]]):

* "The real romance is out ahead and yet to come. The computer revolution hasn't started yet. Don't be misled by the enormous flow of money into bad defacto standards for unsophisticated buyers using poor adaptations of incomplete ideas."

* "I invented the term Object-Oriented, and I can tell you I did not have C++ in mind."

* "OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things. It can be done in Smalltalk and in LISP. There are possibly other systems in which this is possible, but I'm not aware of them."

!!!Specification

Design a new programming paradigm/language for regular programmers (like you and me).

* Implement a Paper Prototype
* Define using the Language Model (conceptual, semantic, syntactic, lexical levels)
* Provide a hierarchical task analysis
* Define general user tasks - assume users are "us"
* Define user task scenarios (e.i. write a "hello world" program) to compare your new approach with today's standard (possible metrics: error rate, completion rate, new concepts/"nonobvious ideas"...).

* At the top of your report, include a certificate of authenticity using this format:


Certification of Authenticity:

I certify that this submission is entirely our own work,
as per course collaboration policy.


Names: ________________________ Date: ___________


* Include '''references''' on materials (other than the textbooks and handouts) you consulted to do the assignment.

!!!Grading

Grading will be based on your ability to carefully and succinctly provide the required information.

!!!Submissions

Submit your solution by editing your page: [[http://www.cs.cofc.edu/~manaris/notes/pmwiki.php/CSIS672Fall2006/FinalProject_TylerBennett | Tyler Bennett]], [[http://www.cs.cofc.edu/~manaris/notes/pmwiki.php/CSIS672Fall2006/FinalProject_ThomasDion| Thomas Dion]], [[http://www.cs.cofc.edu/~manaris/notes/pmwiki.php/CSIS672Fall2006/FinalProject_JohnathanHeh| Johnathan Heh]], [[http://www.cs.cofc.edu/~manaris/notes/pmwiki.php/CSIS672Fall2006/FinalProject_RobertKeisler| Robert Keisler]], [[http://www.cs.cofc.edu/~manaris/notes/pmwiki.php/CSIS672Fall2006/FinalProject_MarkMixson| Mark Mixson]], [[http://www.cs.cofc.edu/~manaris/notes/pmwiki.php/CSIS672Fall2006/FinalProject_LucaPellicoro| Luca Pellicoro]], [[http://www.cs.cofc.edu/~manaris/notes/pmwiki.php/CSIS672Fall2006/FinalProject_JeffreyShumard| Jeffrey Shumard]], and [[http://www.cs.cofc.edu/~manaris/notes/pmwiki.php/CSIS672Fall2006/FinalProject_BrianSmith| Brian Smith]].