In Part 1 of this Back-to-School Guide, I helped you decide whether to buy a TI-83+, a TI-84+, a TI-Nspire, a Casio Prizm, or a TI-89. Part 2 of this Back-to-School Guide taught you how to download programs and games for your calculator of choice and load them onto your handheld. This third and final installment will briefly introduce a concept dear to the hearts of many of us here at Cemetech: learning to program, using graphing calculators as a springboard. In the modern work, programming is an increasingly vital skill, to the extent that some schools are even beginning to integrate programming classes into their curricula from an early age. Calculators are a great way to get started with programming:

1) They teach all of the problem-solving and critical thinking skills you need to program in any language.
2) They're portable, and in most cases you can write and test your programs directly on your calculator.
3) With immediately-visible results, like math programs that help you check your work or fun games to entertain you during breaks, calculator programming is rewarding.

Here at Cemetech, we have created, compiled, and curated a thorough collection of tools to learn calculator programming. Every calculator model is slightly different, but there's a great deal of overlap between each. The TI-83 Plus and TI-84 Plus series are programmable in TI-BASIC or z80 assembly, as well as some third party languages such as Axe. The Casio Prizm is programmable in Casio BASIC, Lua, C/C++, and SH4 ASM. The TI-89 can be programmed with a different TI-BASIC variant, C, and 68k ASM. The TI-Nspire is programmable (mostly) only in Lua. Some of the prime resources:

:: For the TI-83 Plus and TI-84 Plus, learn TI-BASIC with my just-released book, "Programming the TI-83 Plus/TI-84 Plus". It will be hitting stores in a week or two, and is already available for preorder on Amazon. The book introduces everything from the basics to advanced optimization, graphics, and data manipulation techniques, and provides a gateway to the larger world of programming. For additional advanced optimization tips, read the brief 1337 Guide to TI-BASIC.

:: Learn z80 ASM for the TI-83 Plus and TI-84 Plus via community member Sean McLaughlin's excellent "Learn TI-83 Plus Assembly in 28 Days" tutorial. However, we strongly recommend that instead of the outdated and hard-to-use TASM/DevPac8x toolchain the tutorial recommends, you try the Doors CS 7 SDK.

:: Casio Prizm BASIC doesn't yet have any complete tutorials, but Casio's electronic Prizm manual has a surprisingly complete command reference. For C and Lua programming, Cemetech's WikiPrizm has a Prizm Programming Portal with tutorials, reference materials, and the PrizmSDK for C programmers.

Other calculators have either more sparse or more obscure toolkits and toolchains for programmers to use and learn from, but even the TI-89, TI-Nspire, and older calculators like the TI-86 and fx-9860g have plenty of tutorials available to help you develop for those devices. If you have any questions, feel free to post in the attached thread, and we'll do our best to help you find what you need.
Hey Kerm, great article on programming!

For the ASM section, I suggest that you also add Hot Dog's TI-83 Plus ASM for the Absolute Beginner, which is designed for people who have no knowledge of ASM at all. The author recommended it as a prequel to "28 Days".
I have some problems with Hot Dog's tutorials, which is why I didn't mention it. One of my particular problems is that he doesn't introduce hex and binary as fundamental concepts to ASM programming, along with proper use of bitmath. I feel those are absolutely vital introductory skills to writing tight, fast ASM code, and SirCmpwn's horrendous "OS" code written after learning from Hot Dog's tutorials go to prove my general point. I admire Hot Dog's work, of course, but I've never found ASM in 28 Days particularly unapproachable or "hard".
You forgot programming in C for Nspire (ndless), which is IMAO a very important programming language?
aeTIos wrote:
You forgot programming in C for Nspire (ndless), which is IMAO a very important programming language?
I left it out because I don't feel it's a tenable option for budding programmers. I feel it would be frustrating for beginners to navigate the downgrading/jailbreaking process, not to mention the disappointment when other Nspire users can't run their programs without also installing Ndless.
[s]Not to mention that last time I checked I didn't find a downgrade/jailbreak method to go from the current 3.2 OS to 3.1 os[/s] [EDIT2] hmmm no strikethrough, see below the previous is incorrect [/EDIT2] which ndless can be installed and hence ASM/C/etc. become possible. (Or at least a downgrade option that the various nspire communities advertise, kind of like the er... "re-purposing" of some of the Casio/TI calc models... Very Happy )

Anyways not of much import to me any longer as my HP 50g finally shipped(yes the keyboard is better but build quality is nowhere near what it once was) and picked up a Prizm(now just to tinker with although not sure when I'll get around to it as my GCW Zero should be here any day now plus I picked up an rpi a while back which is much friendlier for hacking).

[EDIT]
NM
found this quite on omnimaga
Quote:
But apparently the downgrade protection only got set to 3.1.0 (and not 3.2.0 as expected)
so the post that I read must've been incorrect as this seems to imply that it is possible to downgrade 3.2 to 3.1 and hence use ndless 3.1...
[/EDIT]
About the Nspire, you didn't mention TI-Nspire Computer Link. It doesn't need any license and is a lot faster than the Teacher/Student Software. But as its name says, it is only for linking, there are no tools to try or write programs on PC with this software.
tysonlee wrote:
About the Nspire, you didn't mention TI-Nspire Computer Link. It doesn't need any license and is a lot faster than the Teacher/Student Software. But as its name says, it is only for linking, there are no tools to try or write programs on PC with this software.
Welcome to Cemetech, tysonlee; feel free to Introduce Yourself when you get a chance. Yes, I wasn't aware of that option when I wrote the article; I should probably update it now that I know about it. Are you an Nspire coder yourself?
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement