The project development process

How 2 GCSE students developed a Science Graphing app. With Help.

2 Bridlington GCSE Students have published BridPlot, a graphing app to help analyse the results of GCSE Science experiments.

BridPlotPromo

BridPlot has been developed by the students with help from 2 ex-IT professionals who had been retired for over 10 years. They were friends of the family, and had never used a mobile phone or seen a tablet. They were amazed that such technology was readily available. They had been actively involved in developing graphing tools for post-graduate Science and Engineering research workers in the 1970’s and 1980’s, and wanted to see how well modern software performed.  What the students found was surprisingly disappointing. The apps were either trivial and of little use to GCSE Science students, or so non-trivial as to be beyond the understanding of ordinary students.

They therefore decided to merge their skills and design an app specifically for use by GCSE Science students. They have met for 5 hours each Saturday since March 2013. They formed a Limited Company Buss Mk2 with a nominal capital base as a vehicle for managing the project.

The Team:

Heather McCall (b. 1998):

Heather was born on both the 16th and 17th of March 1998, giving her a head start. She is currently in her first year of sixth form studying Maths, Biology, Chemistry and Business. She attained 4 A’s, 3 B’s and 2 C’s at GCSE with a lot of hard work. She is now a director of Buss Mk2 Ltd. Her main responsibilities for software are developing the web site, designing the User Interface, and programming. She has now gained enough proficiency in Java to be able to develop a statistics module, which is used in BridPlot. She loves camping and was a member of the hyper-active 1st Bridlington Scout Group of which David Butland was the Group Scout Leader. In Scouts she tried lots of new experiences including caving, climbing, orienteering, parascending and kayaking. She is also very interested in DIY and decorating. She is currently looking into University courses in radiography and oncology in Sheffield Hallam, Cardiff and Bangor Universities, and is very excited to go to the open days in the next few months.

Examples of the computer programming she has done is the regression line equation we are currently working on to show the accuracy of the lines of best fit.  As shown below:

“public static double pmcc(double x[], double y[]) {
double sumsqx = sumSq(x);
double sumsqy = sumSq(y);
double sumxy = sumAB(x, y);
double sumx = sum(x);
double sumy = sum(y);
double sxy = sumxy – ((sumx * sumy) / x.length);
double sxx = sumsqx – ((sumx * sumx) / x.length);
double syy = sumsqy – ((sumy * sumy) / y.length);

return sxy / Math.sqrt(sxx * syy);”

Davey McCall (b. 2000):

Born on April 27th 2000, Davey is a year 10 student studying Biology, Chemistry, Physics, Maths, Geography, English, Philosophy and Ethics, French, PE and Drama. Knowing nothing about programming but a bit about phones and tablets he started working with the company at the age of 13. His main role was to test the java programs already prepared, and to make modifications. He now designs and develops test programs on his own. He has been actively involved in making BridPlot tutorials and presentations. He enjoys outdoor adventures and spent around seven years in the Scout organisation where he met David. In Scouts he enjoyed all sorts from sleeping in a cave and parascending. He now goes to army cadets and enjoys similar activities.

An example of Davey’s computer programming is the style XML files:

 

Judy and David Butland (b 1940 and 1943):

Judy Butland had developed The Simplified Graphing Routines to represent data for research workers in the Post Graduate School of Electronic and Electrical Engineering at the University of Bradford. The package was made freely available to other UK Universities. The demand for The Simplified Graphing Routines became so great that David Butland left his University job in the University Computer Centre to form the Company BUSS (Bradford University Software Services). Judy joined him full time a year later, and rewrote her Fortran library as Simpleplot. The Company became successful, and they led a lively team of IT specialists who enjoyed a happy 20 years of innovation and research.

In 2008, David Butland re-started the 1st Bridlington Cub Pack, and Heather was one of the first 6 Cubs to join. Davey joined as soon as he was old enough, and their mother became Assistant Leader. In 2012 the Group had become the largest and most active in Bridlington. after leaving the scount group this enabled him to devote his energies into organising IT teaching for young people.

What they already knew and did not know:

The students knew:

  • What they needed to draw from their GCSE course work
  • The strengths and weaknesses of PC packages
  • The strengths and weaknesses of the graphing apps for mobiles which they had found
  • How to find things out
  • Nothing about programming
  • Nothing about designing Help systems or making tutorials
  • Nothing about making Web sites

But, they were bright and willing to learn. They also had an amazing ability to guess solutions to problems.

The ex-professionals knew

  • How to run a software project
  • How to develop a system-independent general purpose graphing library
  • How to manage a successful mixed-ability team by letting everyone excel at the things they are good at
  • The importance of good design
  • The importance of rigorous testing
  • Nothing at all about mobiles. They could not even switch on a mobile phone without help.
  • Nothing at all about the programming language required to develop a mobile app
  • Nothing about Guess and Press design (about which they were very suspicious)

And they were old and way past their best, even if they had been good once. They lacked the ability to guess solutions to problems.

Project Scope

After discussing the limitations of available mobile tools, the following project objectives were drawn up. The app would:

  • Be clearly useful for use with GCSE Science experiments
  • Be simple to get started
  • Provide easy data input
  • Provide some analysis of the data
  • Manage data collected by several members of a team conducting the same experiment in parallel
  • Be translatable into other natural languages. Science is language-neutral, so what would be useful in Bridlington would be useful in Beijing.
  • Run on Android devices. These were the only ones the students could afford

These objectives were modified over time, but remained at the core of all subsequent development

Phases of the project:

A wholly unrealistic time table was drawn up, which anticipated that the app would be available for use in 3 months. However, the implementation was undertaken with a will:

Initial learning required:

  • How to design software using the Java Programming language. The project would be undertaken using a thorough object-oriented design to enable rapid prototyping. The ex-professionals undertook this task and started to learn Java
  • How to program at all. The students had never been taught to program.
  • How to design a good quality Web site. One of the students undertook the task of designing and maintaining the web site bussmk2.co.uk with initial help from a graphic designer in Devon
  • How to use a mobile phone. This was a real problem for the older members of the team who still do not use them for anything other than running BridPlot.

Initial Design

  • Separate graphing from Android specific programming.
  • Design using Object Oriented principles
  • Prepare documentation of all features as software was developed. The project used javaDoc extensively.
  • Enable independent testing of the graphing on a PC using PC based graphics. One of the students soon became competent at writing test programs in Java. The programs he developed were largely imitative at first, and entailed exercising test values for inputs into graphing methods. Each test run produces files containing images which could be automatically compared against reference images. The test programs continue to be invaluable in the project development cycle

Initial success

  • Learning the Java programming language for one of the older team members was a delight (but see below).
  • The separation of system dependent modules from general purpose graphing was relatively simple. Prototypes could be tested on a PC before the complexities of programming for a mobile were mastered.
  • The web project took off immediately
  • A system to test graphical output on a PC was quickly developed

Initial Problems

  • The oldest member of the team found she was physically unable to use the Java development environment. She has severe arthritis and cannot use a mouse. She discovered that she was unable to manage the elementary operations of tapping or long-pressing on a tablet. She has continued to encourage the project, and to provide mathematical assistance. Euclid is still her best friend. She is very unimpressed by arthritis-hostile modern hardware and software technology.
  • Programming for the Android environment was much more difficult than expected.

Refinement of project

It was decided rigorously to separate design from code. Much of the initial Android programming had consisted in copying and pasting example code without a thorough understanding of its functionality, and had let to a hap-hazard mixture of styles. All members of the team became familiar with structuring data using XML which they use extensively.

  • All text displayed was managed in an independent file which could later be translated into other natural languages
  • The students felt that the initial data input module was confusing and unnecessarily complicated. One of them defined a much simpler model. This was difficult to implement due to the limitations of the underlying Android environment. A satisfactory compromise was reached.
  • Clearer definition of Android models which would be supported. The design has been made unnecessarily complicated by an early commitment to support old technology. This may be reviewed.
  • A comprehensive Help system was designed by one of the students. She created and has maintained a family of Help files written using HTML. Help is available for each activity. It is immediately available by tapping a “?” symbol at the top of the screen. GraphHelp
  • A set of tutorials were designed by the students to introduce new users to underlying concepts. Some of these have been built-in to the app.
  • User interface objects were categorised by one of the students and standardised using a consistent format. She designed separate styles for objects that were for information only, and those which could be tapped, long-pressed, and into which data could be entered. This has led to clarity of function.
  • HelpColourHints
  • Web pages have been designed to enable non-English students to log in and to translate all the text used in the app into their native language.

Continuing development

  • Missing functionality:
  • Anomalies: The students identified the need to identify individual data points as anomalies, and to display them appropriately, omitting them from the data analysis.
  • Bar Charts One of the students needed to display data from a GCSE Geography project as bar charts. This feature had not been included in the initial specification.

    Pyramid Chart of life expectancy
    Life Expectancy
  • Repositioning components: Use of the app on different sized devices showed a need to be able to move objects dynamically if they over-drew each other.
  • Unnecessary functionality: The development of the underlying graphing library, BridLib was based on a package designed by Euclid’s friend for post graduate engineers. It included Polar Charts and Log and Normal Probability scales, none of which is required for GCSE Science experiments. It was decided to omit Polar Charts and Normal Probability scales, but to retain log scales in Y. It is possible to reintroduce the omitted features at a later data. The omitted features are still included in the PC based test procedures.

Current Development

At present the following refinements are under development:

  • Information from regression analysis. At present BridPlot displays the function values represented by regression lines. The students decided that it would be useful to display the regression coefficients instead, since the lines only approximate to the data, and a precise formula is misleading. One of the students is designing a statistics module which she will then integrate into the graphing module to provide the necessary information.
  • Extending the natural language base. BridPlot has been designed to be easily translated into other languages. The web site contains a series of pages for schools into which they can enter their own translations of the text and dialogues displayed by BridPlot. One of the students has developed and uses a procedure for inserting a machine language translation of text, which can be displayed on the web site, inviting corrections and enhancements.

 

What is now needed:

  • Feedback: We need thousands of students to use BridPlot and to feed back their experiences. Real feed-back from non-expert students is invaluable.
  • Coverage: All schools teaching GCSE Science could use BridPlot. Although both students are about to sit GCSE and A/S Level examinations (June 2015), they are committed to promoting what they have done to teachers and educationalists
  • Recognition: We wish to identify in the education system bodies which can promote the use of a graphing app for GCSE science
  • Identify requirements: None of the members of the team developing BridPlot is acquainted with bodies developing GCSE requirements. Development would be served much better if they could anticipate future changes
  • Promotion in other countries: A trial foreign language version of BridPlot has been developed with the assistance of students at Ysgol Glan Clwyd. This has resulted in the development of BridPlotCymru (in Welsh). We would like to identify schools in other countries who would be willing to help
  • Sample Welsh menu
    Input data menu translated into Welsh
  • Example output in Welsh
    Example output from BridPlotCwmru
  • Funding: One of the objectives in developing BridPlot is to provide a source of funding for the 2 students through University. They will be the first members of their family to go to University, and do not wish to end up impoverished.
  • Pricing: In spite of the previous statement, the development team would rather make the app freely available to all students who would benefit from it. They have prepared a useful free version – BridPlotStarter, and only charge a nominal fee for the full version. It would be advantageous if a funding body could be identified which would pay for the right to simplify distribution to State Schools in England and Wales. Of the 7 deadly sins they are relatively untouched by Avarice, but have more problems with Pride.