Jump to content

Recommended Posts

Posted

I'm thinking of creating some software to allow ICT (or other teachers) to create CAI or CAL programs easily. I was going to base the programming language on the very easy to learn PILOT language (it was used in education in the US for over 30 years). It will have turtle graphics, etc and should be very easy to learn. It will be able to create stand alone apps that will run on the PC.

 

 

Does anyone have any ideas, comments or suggestions before I start?

Posted
I'm thinking of creating some software to allow ICT (or other teachers) to create CAI or CAL programs easily.

 

You might be surprised as to how few teachers (ICT or otherwise) would know what to do with a programming language.

 

I was going to base the programming language on the very easy to learn PILOT language

 

You have experience using compiler generation tools, or were you planning to write your own parser / lexer?

 

It will have turtle graphics, etc and should be very easy to learn. It will be able to create stand alone apps that will run on the PC.

 

Make it cross-platform - web-based is the way to go.

 

Does anyone have any ideas, comments or suggestions before I start?

 

It sounds like you're hoping to achieve something like LOGO, Scratch, GreenFoot, etc, or some sort of tool to let teachers create their own learning resources. If the former then I'm intrigued as to what you hope to offer that the above solutions don't already, if the latter then I think your application might have a smaller audience than you might expect - a programming tool for teachers isn't going to get many users, they'll need a GUI of some kind.

 

--

David Hicks

Posted

Hi david,

 

You might be surprised as to how few teachers (ICT or otherwise) would know what to do with a programming language.

 

You have experience using compiler generation tools, or were you planning to write your own parser / lexer?

I have experience with compilers, etc This was going to be an interpreter though, it doesn't need to be fast - just easy to use and friendly.

 

Make it cross-platform - web-based is the way to go.

I was going to make the system capable of generating PC x86 and x64 executables, then (in the 'distant' future) add the ability to generate Mac and Linux executables from within the PC version. Eventually having 4 versions capable of cross-creating executables for the other formats.

 

It sounds like you're hoping to achieve something like LOGO, Scratch, GreenFoot, etc, or some sort of tool to let teachers create their own learning resources. If the former then I'm intrigued as to what you hope to offer that the above solutions don't already, if the latter then I think your application might have a smaller audience than you might expect - a programming tool for teachers isn't going to get many users, they'll need a GUI of some kind.

The PILOT language will be in there, it's not the same as LOGO (I think LOGO was mainly aimed at the helping the children learn how to program) though - it's more for Teacher to create scripts of text and graphics and easy input matching. I didn't want it to look like GreenFoot or Scratch at all. There will be a GUI though to add and manipulate graphic images. I hoped turtle graphics 'module' (like the one in LOGO) will make it easy for the teacher to create 'pretty' geometric patterns that could be used to help in classwork?

Posted
I hoped turtle graphics 'module' (like the one in LOGO) will make it easy for the teacher to create 'pretty' geometric patterns that could be used to help in classwork?

 

Sorry, I probably don't quite understand you - you'd have a turtle graphics style tool as a general teaching tool? I can see where something like that would useful for teachings maths, which obviously LOGO, The Geometer's Sketchpad, MatLab, etc, are already aimed at - see this TES article for a bit of further reading, maybe. I rather doubt your average teacher is going to have much use for a vector graphics programming tool in their general lesson preparation.

 

Like I say, I don't think I quite grasp what you're aiming at here - can you elaborate a bit? Is the idea that the teacher will be creating resources for use by individual children, groups of children working on one PC, or resources for display on a large screen at the front of a classroom? What role does a programming language play in all this, is it to control the learner's progress through the resource in some way - basic if/then branches, maybe, testing whether a student's answer is correct or if they have more than a given score at the end of a section?

 

--

David Hicks

Posted
I can see where something like that would useful for teachings maths, which obviously LOGO, The Geometer's Sketchpad, MatLab, etc, are already aimed at. I rather doubt your average teacher is going to have much use for a vector graphics programming tool in their general lesson preparation.

 

Like I say, I don't think I quite grasp what you're aiming at here - can you elaborate a bit?

 

The teacher could write a program that shows the student a shape.

 

Instead of having to draw (in an art program) the shape a pentagon and a star, they could write a program like this:

 

R: is the start of a comment line, you can also use ; at the end of a line

G:Goto -40,0   ;  G is Graphics, then turtle, go to graph position -40,0
U:*Pentagon ;  U means Use - call or 'gosub' a subroutine

G:Goto 40,0
U:*Star

W:10 ; W means Wait - wait 10 seconds
E: ; E means end, or 'return' if at the end of a subroutine

*Pentagon
G:TurnTo -18  ;  turtle,  turn to -18 degrees (default 0 is up)
G:5(Draw 20;Turn 72) ; turtle, draw 20 units (default=1 pixel), turn 72 degrees, repeat 5 times
E:

*Star
G:TurnTo 19
G:5(Draw 31,Turn 144)
E:

 

As you can see, it's *very* basic and pretty easy to code. PILOT's main strength is in matching user input to strings.

 

The main thing is that anyone will be able to write a program in a few minutes (like an interactive storybook) that could compete with the simple programs they normally have to buy. Because they will be able to generate a single file executable, they could give these programs to parents or teachers at other schools, or sell them if they like.

Posted

huh?

 

I've almost written the 'tokenizer' for the interpreter now. Don't forget, the actual PILOT language is not my own - see [ame=http://en.wikipedia.org/wiki/PILOT]PILOT - Wikipedia, the free encyclopedia[/ame]

 

PILOT lasted over 30 years until higher level languages (imho more difficult for non-programmers to use) became popular. If you take a look at it then you will see it's almost perfect for writing CAI/L apps - there's no need for anything more complex, just a little bit of updating.

Posted

Oh my god! My I never fail to be surprised! How on earth did you dig up/come across PILOT? Of all the obscure programming languages. I thought I was one of only a handful of people that'd even heard of it let alone coded in it!

 

I found this language on an Amstrad Action covertape back in the early 90's. Back when I had an Amiga ('96ish) I wrote an interpreter for PILOT in AMOS BASIC. If I remember correctly the language officially only has 5 commands which are all single letters followed by a colon.

 

T: display this text

 

for instance.

Posted
If I remember correctly the language officially only has 5 commands which are all single letters followed by a colon.

Yes, thats why I think it's ideal for teachers! lol. ;)

 

Imagine a PILOT interpreter with a bit of a GUI for setting up graphics and music playback. It could make a very rapid system for creating small apps for childred to play and learn from.

Posted (edited)
Am I missing something? Using your example who is going to to use that code to draw a shape they can get, for example, from the Smart notebook gallery .

 

That was just an example, in the system you could set it so you see the turtle following a path, creating the star. The example shows that drawing a pentagon is very similar to drawing a star.

 

With the extensions I was proposing you could also add bitmaps, etc and test the childs knowledge about the displayed image, etc...

 

When you have created your interactive 'program' you will be able to bundle it into an executable, put it on a website or distribute it to parents to let them use on home computers, etc

Edited by ComputingData
Posted
I've almost written the 'tokenizer' for the interpreter now.

 

I have a bad feeling about this. Are you writing the tokenizer using regular expressions or a compiler compiler (YACC, or whatever)?

 

PILOT lasted over 30 years until higher level languages (imho more difficult for non-programmers to use) became popular.

 

I think you're underestimating your market's technical capability. There must be a few dozen teachers who'll actually know what you're going on about. Teachers can handle GUI wizard-based stuff, but I doubt there'll be much interest in an imperative programming based paradigm.

 

--

David Hicks

Posted

PILOT is a 'column' based language - it's extremely simple to write an interpreter for it. The semi-tokenizer took about 30 minutes to write, including mundane setup code. I've put an auto translator in the code to parse the various PILOT dialects and 'fix' them to my token format (including BYTE magazines infamous 256 byte SEMI-PILOT interpreter 'WADUZITDO' - btw I'm also calling the system Waduzitdo? [with the question mark!]) :)

 

It takes no expertise to write a PILOT program. Anyone can do it, look up some examples on the net.

Posted

I think that instead of asking us, you really need to talk to some teachers.

 

To make a sweeping (if possibly accurate) generalisation: Teachers aren't willing to write code. It needs a full drag and drop gui that can be mastered in no more than 5 minutes or else you may never see it used.

 

I could be wrong, but after 5 years observing them I can say that all staff members have a much shorter attention span when it comes to learning computer applications than they used to.

Posted

I was planning to add some kind of 'wizard', template or drag/drop system (for beginners) eventually - but I wanted to get the 'code' side of the system right first - this is the core of the system.

 

I have spoken to a couple of teachers, they liked the idea of instead of trying to get new programs bought from the budget, they could simply (and easily) create similar programs themselves. The system would have to be easy to use and be masterable in a couple of minutes though - your right.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...