Bootstrapping Forth
I am getting ready to author a series of tutorials on bootstrapping Forth starting with a "blank" microprocessor.
I am doing this as a microprocessor and programming fundamentals mini-course for my son's FRC [0] (FIRST Robotics Competition) club.
The intent is to teach basic digital logic and programming at the lowest possible level as a solid foundation for development at higher levels. Almost any modern language becomes easier to understand once armed with an understanding of low level concepts.
I am looking for input on how to approach it. I've done seminars for working engineers in the past. In this case I have to assume no prior knowledge of any of the material to be presented. At a basic level three approaches come to mind:
- Text based. You have to read it. Slides.
- Video lectures. I present on video while showing relevant slides.
- Interactive. Like video lectures. Uses a real-time recording of
terminal window much more so than pure text slides.
Of course, I'll design and build a little microprocessor board the students will use during the course. Not decided on architecture/processor yet. On simple 8 bit embedded projects I've tended to use various 8051 derivatives. This is one option. I've also used parts from Microchip, TI, Freescale, Cypress and others.Thanks!
[0] http://www.usfirst.org/roboticsprograms/frc
4 comments
[ 4.3 ms ] story [ 19.6 ms ] threadPart of me thinks that starting at a much lower level might actually be easier in some ways. Not sure at this point.
I have a number of ideas for the minimum I/O set to support initially. Of course, this could easily be enhanced through expansion ports.
I am trying hard to limit the scope of the project. It's far too easy to complicate the heck out of it.