Project SAIL:Student Authored Interactive Lessons


SAIL Project Team:

                                Steve Bradley: Developer

                                Chad Cable: Content Developer, Graphic Art Lead

                                Jessica Kuntz: Content Developer, Communications Lead

                                Ariela Steif: Content team Lead

                                Doug Tremblay: Developer, Test team Lead

                                Andrew Owens: Project lead, Dev team lead

Faculty Advisor:

A.                             David Kosbie ( )


Project Rational

The Pre Calculus textbook in our high school does not lend itself to a true and thorough understanding of the concept of linear regression. While the text teaches the application of linear regression, it provides no explanation of the process that occurs after you enter the data on the calculator. To the student, the calculator magically prints out the correct equation, but a thorough understanding of linear regression is lacking. We, as a group of six juniors under the guidance of a knowledgeable teacher, identified this deficiency and set out to create a tool that would better explain and illustrate the process of finding the line of best fit as opposed to focusing merely on the resulting equation. In pursuit of this goal we created SAIL, Student Authored Interactive Lessons. We are advocating that a more deeply rooted, fuller understanding can be achieved through a curriculum that emphasizes the means as opposed to the ends.We recommend that the curriculum focus on the process of achieving the desired result rather than focusing on the answer.


Project Objective

We set out to develop an interactive program that will supplement an appropriate text book in teaching students the process of, calculations behind, and general concept of linear regression. The final project is intended to be used in a classroom setting and will include homework and test features that will enable the teacher to check the studentís understanding while minimizing grading time.


Related Work

Prior to beginning the design of our own Linear Regression program, the students researched the kinds of similar programs that were available. Through searching the web, we compiled a list of websites that dealt with linear regression. From there, we created an extensive list of the different features included by each website and used this data to determine which were the most popular and least popular features. Armed with a basis of knowledge about competitorsí products, we sought to draw the best of each of the programs into one, extensive program. In pursuit of this goal, we proceeded to rate each individual feature on a scale of importance. In this manner, we began to develop an idea of what features we wanted to include in our own program and the best manner by which to implement them. In addition to drawing from the ideas of similar programs, we developed an ongoing process of brainstorming new ideas that would be unique to our website. While many of the ideas that we set forth did not make it to the next stage of feature selection and implementation, the value of better understanding what it was we were looking to create, as well as encouraging a high, innovative standard to be upheld throughout was essential.


Below is a selective list of other websites that we looked at in setting a foundation for our own program.














SAIL Project Team:

                                Steve Bradley: Developer

                                Chad Cable: Content Developer, Graphic Art Lead

                                Jessica Kuntz: Content Developer, Communications Lead

                                Ariela Steif: Content team Lead

                                Doug Tremblay: Developer, Test team Lead

                                Andrew Owens: Project lead, Dev team lead

Faculty Advisor:

B.                             David Kosbie ( )


The Content Team

The role of the Content team was to determine through discussion the layout. Responsibilities included:

  • organization and appearance of the site
  • general orientation and navigation of the site
  • writing of test questions
  • test and homework format


The Develop Team

The role of the Dev team was to take the idea of the ideas of the Content team and write programs that reflected them. Their work included:

        creation of feature specification

        creation of user interface specification

        design of system/class specification

        implementation of feature and user interface specification

        responding to content team's specifications

        testing and debugging the application






  1. Visual Design


The visual layout and design of the Ďteacher explorationí went through multiple stages of development. Beginning with the general orientation of the exploration and working towards specifics, we choose to separate the graph from the data and information by positioning the graph on the left side of the screen, and the information on the left.We further subdivided the different functions offered in the graph with the creation of three categorized tabs in the information panel. The next step of design was the color scheme.The line of best fit, which was originally displayed as a thin black line, was changed to a thick, red line for prominent visibility. The colors of the points, deviation lines, squares of deviations, and residuals were similarly chosen so as to visibly accent the differences of these features. The next step of graph design was highlighting and pop-up information boxes. We wanted a feature that, if the user moved his mouse over any item on the graph, the item would grow in size and a box would pop up displaying additional relevant information. In summary, visual design of the program fell into the categories of:

  • Basic set-up and organization
  • Division/grouping of functions
  • Color scheme
  • Responsive features


  1. Code Design


The project's code design detailed classes' relationships and responsibilities.We initially designed the program to be exclusively for instructional purposes by use of the teacher, so the design focused only on the graph, the table editor, the statistics display, and the settings manager as a way to visually illustrate linear regression. After reevaluating our project goals to include the student as part of our audience, we modified the design and separated the application into several discrete modes.This change, coupled with the decision to distribute the application as an applet, prompted us to redesign the application to accommodate several different "modes" unified by a single "selection mode" (HQ).This division into different components allowed us to divide the work as different members of the development team implemented different modes including tutorial mode, exploration mode, test mode and homework mode.




Link to operational student designed and written Linear Regression program


Field Test

Due to deadlines, we were unable to test the program to extent that we would have liked. We did however, secure a PreCalc teacher to test, evaluate, and give feedback on the program. Her responses were generally positive and supported its use in the classroom.

Link to response sheet and testerís answers.

While the feedback we got was very positive, we are aware that the opinions of one teacher by no means represent the majority. Nevertheless, it was of more benefit to out team to get one, as opposed to no testers.


Analysis and Conclusions

In evaluation of our final product, we can confidently conclude that a team of high school students are fully capable of designing, coding, and developing a project of this magnitude and complexity. With the right group of students, it is feasible that the school board or math (or any other) department could request a program and rely of a student lead team to create it. This opens up a wide variety of possible interactions between the districtís departments and the AP Computer Science classes and/or any future extensions of SAIL. At the close of the 2004-2005 school year, there has been no notable action following the initial expression of interest regarding the integration of the SAIL designed product into the classroom. However, through the creation of our Linear Regression Program we have proven the capability of students as computer programmers and the feasibility of students-teacher partnerships in the design of classroom programs.

In evaluating the process the SAIL team went through in the creation of the Linear Regression Program, there are inevitably aspects that could have been improved upon. These most notably included communication between the Dev Team and the Content Team, setting of deadlines, and establishment of priorities. Despite amassing several hundred e-mails between the 6 team members over the course of 2 months, there were several instances in which the Content Team was disillusioned as to the Dev Teamís status and the Dev Team, for its part, was unclear as to how the Content Team expected them to proceed. For instance, it came as an unpleasant surprise to the Content Team the day before our presentation to the math department to discover that the plans for the homework and tutorial modes had never been implemented. This connects with another problem we faced, the setting of priorities. While the Dev Team considered the Exploration mode to be the essence of the program and accordingly spent a majority of their time in the design of it, the Content Team thought that the Tutorial mode ought to be the foundation for teaching linear regression. Because the priorities of the team as a whole were not aligned from the beginning, our time management and planning was not as effective as they could have been. Lastly, like any project, we had deadlines that forced us to exclude certain aspects we would have liked to include. In response to these unavoidable time constraints, we drafted a list of features that we would include in a theoretical Version 2. V2 would include:

  • implementation of homework mode
  • implementation of tutorial mode
  • inclusion of word problems in homework and tests
  • student IDs
  • teacher IDs that would enable the teacher to design the program to his/her specific lesson plans
  • automatic grading and entering of grades into teacher grade book

Knowing what we do now, many of these problems could have been resolved if the position of project manager was a role in itself. As it was, our limited number of team members made it necessary for our Project Manager to also take on the role of Dev team lead. Ideally, a project manager ought to be less involved on one specific side of things but rather oversee the project as a whole and hold the team to a project plan.


Future Directions

Upon completing our Linear Regression program with our April 20th presentation to the Mt Lebanon Math department and our June presentation to the Mt Lebanon School District, the future of SAIL is indefinite. Upon the close of the school year, there has been discussion of pursuing a new project, possibility within the social studies department, over the summer. Conflicting schedules, however, make this option difficult. We would like to extent computer programming outside of the math department and into other departments that show interest in order to display that such technology is applicable across the academic spectrum.




Part 1: Link to Java Code

Link to final code written by the Dev team


Part 2: Complied e-mails

Link to all communications between team members in chronological order