Date post: | 22-Dec-2015 |
Category: |
Documents |
View: | 217 times |
Download: | 0 times |
Motivation
•A development environment that supports the tasks of programmers should support the following:
Hierarchical designParallelismDirect manipulationAlgorithmic independenceObject-oriented designOpen/shared-sourceCommenting and design principles
Multiphase DesignPrior researchPrior research
Initial design Initial design documentdocument
PrototypePrototype
Beta I releaseBeta I release
Beta II (internal) Beta II (internal) releaserelease
Beta III releaseBeta III release
Prior ResearchPublication
Graphical Programming: A Vehicle for Teaching Computer Based Problem Solving (November 2003)
Prior researchPrior research
Initial design Initial design documentdocument
PrototypePrototype
Beta I releaseBeta I release
Beta II (internal) Beta II (internal) releaserelease
Beta III releaseBeta III release
Initial Design Document
Prior researchPrior research
Initial design Initial design documentdocument
PrototypePrototype
Beta I releaseBeta I release
Beta II (internal) Beta II (internal) releaserelease
Beta III releaseBeta III releaseApril 2003
PrototypeA “here’s what I’m thinking” demo for Dr. Harris and Dr. Dascalu (May 2003)
Prior researchPrior research
Initial design Initial design documentdocument
PrototypePrototype
Beta I releaseBeta I release
Beta II (internal) Beta II (internal) releaserelease
Beta III releaseBeta III release
Beta I ReleasePublications
Redwood: A Visual Environment for Software Design and Implementation (December 2003)
Snippets: Support for Drag-and-Drop Programming in the Redwood Environment (May 2004)
Prior researchPrior research
Initial design Initial design documentdocument
PrototypePrototype
Beta I releaseBeta I release
Beta II (internal) Beta II (internal) releaserelease
Beta III releaseBeta III release
Beta II (internal) Release
Publication
The Redwood Programming Environment (August 2004)
Prior researchPrior research
Initial design Initial design documentdocument
PrototypePrototype
Beta I releaseBeta I release
Beta II (internal) Beta II (internal) releaserelease
Beta III releaseBeta III release
Beta III ReleasePublication
(submitted for review)
The Redwood Programming Environment (March 2005)
Beta III will be published online in April 2005
Prior researchPrior research
Initial design Initial design documentdocument
PrototypePrototype
Beta I releaseBeta I release
Beta II (internal) Beta II (internal) releaserelease
Beta III releaseBeta III release
Results
•Redwood Beta III is the next release to be published online in April 2005
•Hosted on CSE web server
•Listed on freshmeat.net
Lessons
•The following pages contain a few of the “big picture” lessons I learned throughout developing Redwood
Lessons•Spending time to well-design your
product will save countless hours when it comes to implementing (and re-implementing) a project.
•Simplify, simplify, simplify - a little smart code makes up for a lot of dumb code.
•If a smaller part of a project can be made into a subproject, encapsulate it, unit test it, and remove it from the main project code.
Lessons
•If you’re unsure of how to use a key piece of technology required to implement your project, learn it ahead of time and work with it as a separate project for a while.
•Always think of better ways to do things, but evaluate the amount of resources it will take to implement any changes - it might not be worth implementing a “better way” if a working solution already exists.
Future Work•Online snippet browser integration
•Internationalization
•Increased platform and compiler compatibility
•GUI editor for developing snippets
•Expanded set of core snippets
•Security