Return To:

About This Site

 Contents
 Support
 Philosophy
 Links
 Overview
 

Overview

PrimaryPaths provides interactive learning tools for teachers and tutors to use in helping others learn basic arithmetic and the fundamentals of word processing and electronic spreadsheets.

The Transfer Modes

Each of these three 'paths' provides a setup component and a learning component presented in the following three transfer modes:

In Demonstration mode the setup and learning components appear simultaneously on the same screen enabling the demonstrator to immediately see the effect of setup options.

In Tutor/Trainee mode the setup component appears on a screen accessed by clicking the Tutor button on the PrimaryPaths title page. After setup the learning component is available by clicking the Trainee button. Setup and learning are performed on the same computer for one-on-one interaction.

In Teacher/Student mode the setup component appears on a screen accessed by clicking the Teacher button. Teachers can setup multiple lessons for assignment to multiple students. After setup the learning component is available by clicking the Student button. Setup and learning are normally performed on separate internet-connected computers.

The Paths

All three transfer modes can operate with any or all of the primarypaths: arithmetic, typing and spreadsheet. (A database path is planned for the future.)

The Arithmetic path provides a computerized learning process for grade school youngsters that partly replaces the paper-based learning process of modern schools. It utilizes the Internet computer's interactive and calculating capabilities to remove a layer of tedium from the learning and teaching process without trying to make it a game.

The Typing path provides a simplified word processor designed for those new to the concept. It can serve as a stepping stone to full fledged word processing by allowing the user to focus on the development of generic skills. It offers basic typing practice without the tricky features and complicated screen images which can make learning frustrating and sometimes overwhelming for beginners.

The Spreadsheet path provides a simplified electronic spreadsheet. It can serve as a stepping stone to a full fledged spreadsheet by allowing the user to focus on the development of generic skills. It offers the basics without overwhelming the learner with choices and mysteriously responding to unintended input.

Note

This system is based on Java and JavaScript. The Java code is 100% pure Sun Java (Java 1.1). This system runs best using Internet Explorer or FireFox on the Windows operating system. See Platforms Tested on the  Support  page for more details.

What Does it Cost to Use this Site?

PrimaryPaths is currently completely free of change and without any advertising. This is possible because the owner and developer is fortunate enough to have the free time and resources to do this without need of compensation. There are no plans to ever include advertising on the site. There are no plans to ever charge for access to the Demonstration, Trainee or Tutor facilities of this site.

Currently the Student and Teacher facilities are also free for a day's use and for a month's use if you provide an email address. Teacher databases obviously require data storage on the server used by PrimaryPaths (Kattare Internet Services). If the volume of database use approaches a level requiring resources beyond the minimum provided by Kattare then an annual charge will be implemented. It will probably be about $40 per year for one teacher and up to 50 students.

Until further notice the service will remain free of charge on a month-to-month basis. In the interim--teachers, schools or other organizations desiring to utilize the service on a regular basis can apply for 12 months of free service by sending an email to David Dee (dee@primarypaths.org) specifying what the use is for, how many students, type of organization and contact personnel. You will also be asked to be responsive to occasional email inquiries from David regarding how the system is working for you. The 12-month free period will continue irrespective of any decision to begin charging new users.

 

 




Technical details for those who are interested:

How Does this Site Work?

What follows is a bit of rambling for any of you who are curious about the technical side of this site. I'll start with some basic information and get more technical as I go.

The Basics

 

HTML

All the sites you see on the World Wide Web are composed of pages of coded text called HyperText Markup Language (HTML). This site is no exception. You can look at a page's HTML code by selecting menu item "View" and then "Source" or "Page Source" from your browser's menu. HTML code is composed of ordinary text and "tags" which look like this: < BODY>.

 

JavaScript

Many sites utilize a type of scripting language to add features not possible with plain HTML. For example, this site like many others uses JavaScript to store "cookies" of data on your hard drive. Cookies are small and restricted so they cannot be used to spread viruses. PrimaryMath uses a cookie to store the results of the student's assignments. Often you can identify script in the HTML because it's enclosed in < SCRIPT> tags. Much of my script code is in a separate file that you can't see from your browser. Sometimes the script code is actually composing the page your viewing so you see the results of the script not the actual script.

 

Java Applets

Some sites contain Java applets (little applications) which are modules of Java programming code running on your computer. You can always see if your HTML contains an applet because the commands to call the applet are enclosed in < APPLET> tags. Applets on other sites are used to liven up pages with little animations. This site uses applets in a bigger way than most. For example the Answer Room is a single applet. The applet will trigger other modules of Java code as needed. All of the java code is automatically downloaded from the primarymath.org server onto your computer.

Modules of Java code are called objects. PrimaryMath has over 60 different types of objects. A type of object is called a "class." An example of one of these is called MathFact. There is one of these objects for each problem on the screen. A MathFact object contains almost 30 functions (or methods) and about 10 variables (or fields). One of these methods, for example, randomly calculates the operands and the answer for the problem given the difficulty and operator. It also checks with the other MathFact objects to make sure it hasn't come up with exactly the same problem as another object. If it has, it computes another set of operands.

 

Java Servlets

Servlets are modules of Java programming code which run on the server that sends your browser the web pages it displays. Web pages can be static (names ending in .html or .htm) or dynamic (names ending in .jsp, .asp or in PrimaryMath, preceded by the word servlet). Static HTML pages can be typed on a word processor and loaded into a server's file system. When a browser requests to see a static web page, the server just sends the page.

Dynamic web pages are generated by a computer program that runs on the server. PrimaryMath uses servlets and JSP for dynamic pages. (The following topic discusses JSP.) Although you will seldom call a servlet by typing its name you can tell when your browser is requesting a servlet because the Address window will show the name of the servlet preceded by "servlet/servlets.". When your browser requests a servlet, the server runs the designated program and sends the output of that program to your browser.

This site uses servlets to compose and send out the pages used by the Teacher to create lessons and store student assignments. Students call up servlets to retrieve and hand in their assignments from their own computers. Servlets are necessary because the content of the web page returned to the browser must be figured out depending on things like the name and password and information related to only that individual which must be looked up in a database

 

JavaServer Pages- JSP

A JSP file is a means of creating a servlet without having to write a computer program. This site uses mostly JSP files instead of HTML files. Your browser sees only the HTML code even though it calls a file with a ".jsp" extension. The server converts the requested JSP file into an HTML file before sending it to your computer. A JSP file is more compact and with it the duplication of code required when HTML pages are similar can be avoided.

 

Server Database

The Java servlets communicate with a database of files located on the server's disk drives. This database contains the names and passwords of teachers and students as well as the specifications for the lessons created by the teachers and the results of student assignments. The server and the database must be able to handle many requests coming at the same time. The servlet issues commands to the database system (a set of computer programs) that responds by giving the servlet the specific items of data it requested. The servlet must then compose that data into a web page with all the text and HTML tags of a static page. The server then delivers that page to the client browser.

 

Java Use on this Site

All client programming at this web site is 100% Java (using Java 1.17) with JavaScript employed where necessary to access browser capabilities. Since this is a complex system of applets there was no initial attempt for multi-platform compatibility. Internet Explorer (4 & 5) on Windows computers was chosen as the target platform for obvious reasons. The other platforms seem significantly less capable of handling Java and even JavaScript. The initial system has been modified to play on other platforms as best it can.

 

Graphics

Unlike most of the Java applets used for animations on the web, almost no image files (GIFs or JPEGs) are used in these applets. All drawings are performed in Java code using primitive drawing functions in order to save download time. Since I'm no artist it was natural for me to try to avoid creating fancy images. I found that if I kept it simple I could get the point across visually and gain an added benefit of scalability. This eased development by allowing me to experiment with different sizes (not to mention colors) of the classroom, the walls, whiteboard, etc. by just changing parameters and rerunning.

 

Cookie Control

One of the more challenging tasks was to transfer assignment specifications from parent to child on the same computer allowing assignment creation to be independent of assignment performance and to be able to save assignment results. It was relatively easy to program an applet to read cookie data from the browser using the JSObject class code like this:
    JSObject window = JSObject.getWindow(applet);
    JSObject doc = (JSObject) window.getMember("document");
    cookie = (String) doc.getMember("cookie");
where "applet" is an applet object. This takes care of reading cookie data into an applet.

But writing cookie data out from within the applet was a problem. I solved the write problem by using the JavaScript command "onUnload()" in the tag which called a JavaScript function that called a Java method inside my applet that returned a String containing the text I wanted in the cookie. Here's the JavaScript function:

   function newCookie(){
      var cookieValue = document.Mathshop.getCookie();
      makeCookie('student', cookieValue);
   }
Where "Mathshop.getCookie()" is the Java method inside my applet and "makeCookie()" is a JavaScript function which formats and writes the cookie to the browser.

Of course, this only works if the browser recognizes JSObject. For browsers that do not, a servlet must be called to write the cookie. In those cases a delay and screen blank will be noticed.

 
  End  
Please click here to email your comments.