TI-84 Plus CE Python Graphing Calculator
education.ti.com
education.ti.com
On the other hand, getting a text-based REPL that I can quickly enter some commands on is great - that was why I really loved TI-BASIC on my TI-83. In college it made it easy to write a small program, roughly when I needed that program. In one extreme example, my girlfriend and I took ours to the grocery store every week, and used a BASIC app I wrote for meal planning for the week (this was pre-smartphone era).
I'd hope that this is _something_ of an answer to the concern that computing is getting too complicated and detached. Just thinking about the near-ubiquity of the TI-83 when I was in high school, giving kids the ability to code out of their pockets without having to worry about UI mechanics, publishing to an app store, or _threads_ even (AFAIK Android throws exceptions if you do certain things on the main thread), sounds pretty powerful.
(In fact a bare-membrane keyboard, that was only ever used on extremely-low-specced home computers where only trivial programs would ever be written, arguably provides a better feel than what you'd get from a touchscreen.)
Especially considering the topic of a Python IDE, that seems like an application where predictive text and/or contextual menus could be a huge benefit for many users.
Now, if you could attach a USB keyboard to the calculator, that would be perfect.
I'm making a big assumption that the Python implementation is similar. I don't know this, but where this is a big feature of TI-BASIC, I'd hope it carried forward.
Ironically, in the smartphone era, devices aren't even supposed to be programmable anymore (to the end user). They're simply means of consuming content (and a way to be surveilled). The idea that a computer is a programmable machine has all but disappeared from the mainstream.
The reason why you don't see this advertised for mobile devices is for much the same reason that you don't see programmability advertised for modern computers: it is a feature that only appeals to a tiny subset of the market. The reason why you see programmability advertised in a calculator is due to its utility for the target market (e.g. programming is often introduced in math class).
That's long gone. There's no such tools (that I'm aware of) in the mainstream for smartphones or even computers. You say two things: "they support so much more than TI-basic", well yes and that's the problem. They are developer's tools, not user-programmer tools. If you want to write a quick program to help you in some task you don't have a quick BASIC-like tool to do that. And you also say "a feature that appeals only to a tiny subset of the market", again a self-fulfilling prophecy. There are no tools for non-technical users to program their devices, so only a minority of users do want to program their devices (or even realise that they can do so!)
Do they expose everything? No.
Are they good enough for learning purposes and basic coding on the go?
More than enough.
Some examples that I can think of: Automator, AppleScript, Swift Playgrounds are all intended to be accessible to end users. Spreadsheets typically provide programming-like constructs (without resorting to lower level scripting). There are versions of BASIC for most platforms (including Android and the Nintendo Switch). The last time I looked into it Smalltalk (via Squeak) was still being maintained for computers and it looks like there are Smalltalk implementations available for Android.
While it can legitimately be pointed out that most of these options have to be sought out, they are a subset of what is available. While I agree that people not realizing that their devices can be programmed is a hurdle, a large number of people do realize that it is actually software that controls the operation of their devices yet have very little interest in writing their own programs.
I believe that devices are at least as accessible today as they were in 1981. Today's systems are phenomenally complicated, but you can start making them do stuff with virtually no extra parts. The web browsers are free. Tutorials online are free. Way better resources these days.
Okay, so where are the options that only support basic math and graphics?
Surely any 10 year old is savvy enough to find them.
Maybe Pocket Code fits your idea.
And it ended up helping me choose Computer Science as my college degree and put me on the career path I'm on now. TI has its faults, but I'll be ever thankful for their roll in my job satisfaction.
(Honestly, what everyone’s saying about programming with the TI calculators sounds amazing… I wasn’t alive then, and it’s a pity I never got to have that experience.)
[0] https://tutorials.eeems.ca/ASMin28Days/welcome.html [1] https://www.cemetech.net/
Good points — I’ll save those articles for future reference. Thanks for the recommendations!
Note also that assembly code is different for each CPU architecture. The TI calculator I had contained a z80 chip, so it was z80 assembler (Motorola assembler?). The x86 assembly language is a more complicated, but probably more useful to learn (can look at any program on your computer). Or maybe you could learn ARM assembly (e.g. this would allow you to write simple programs that blink lights on a Raspberri PI).
> [...] can you recommend anything?
I looked through my bookmarks and found some links you might want to check out:
1. Example of Comparing C to x86 assembly: https://www.youtube.com/watch?v=yOyaJXpAYZQ
2. The assembler project part of nand2tetris computing-from-first-principles course: https://www.nand2tetris.org/project04 I haven't gone thought this course, but I've heard many things about it.
> Note also that assembly code is different for each CPU architecture. The TI calculator I had contained a z80 chip, so it was z80 assembler (Motorola assembler?). The x86 assembly language is a more complicated, but probably more useful to learn (can look at any program on your computer). Or maybe you could learn ARM assembly (e.g. this would allow you to write simple programs that blink lights on a Raspberri PI).
Sure, I understand all this already. I suspect that x86 assembly might be most useful for me, but I also have access to an Arduino, so I might try writing assembly for that as well.
> 1. Example of Comparing C to x86 assembly: https://www.youtube.com/watch?v=yOyaJXpAYZQ
Thank you! Added to my reading list.
> 2. The assembler project part of nand2tetris computing-from-first-principles course: https://www.nand2tetris.org/project04 I haven't gone thought this course, but I've heard many things about it.
As it happens, I’ve already gone through nand2tetris. I can’t say it helped me that much: sure, it’s good for getting a conceptual understanding of how assembly works generally, but it doesn’t give me any idea about e.g. how to write a program for x86 or ARM.
> Linux, where you can actually write programs entirely in assembly because the system call API is stable
I didn’t know this — is it not stable on Windows?
There are several other languages as well, including .NET.
https://www.cemetech.net/forum/viewtopic.php?p=285843#285843 for more information on the Python performance
Are they just lazy monopolists or am I missing something crucial?
I got one, so great. Statistical Student's T at the lab bench for advanced freshman chemistry. In 1987.
However, all US textbooks contain examples specifically for TI calculators, all teachers get TI calculators for free and thus they don't recommend getting anything else but a TI calc.
What _is_ inexcusable to me is that the calculator still costs as much as it does. I'd bet the bill of materials for a TI-84 is cheaper than that of a Raspberry Pi at this point. A few years ago I had to take apart my -83 and discovered from references online that there were revisions A through at least K of the hardware, with many cost cutting measures made along the way. And while there's something to be said for the supply chain for a 20+ year old device probably having dried up several times over, none of those cost savings seem to have been passed onto the consumer.
they did _what?!_ I recall TI-Basic programs running at a snail's pace on my TI-8whatever, without assembly nothing of any scale can be done, even numerical analysis.
Just recently some folks managed to make an LLVM backend for the eZ80 processors in the TI-84 Plus CE [0], and I was able to create a snake game in C that I could send to my high school friends [1]. I don't know of any examples, but C++ and Rust should be possible in theory too. It seemed like the possibilities were endless with such powerful compiled languages being available to these calculators, but I guess TI had other ideas in mind. At the very least, those of us who haven't updated our calculators' OS will still have assembly support available.
[0] https://github.com/CE-Programming/toolchain [1] https://github.com/caseyavila/calculator
Used, they do cost a fraction of what these fancy revisions of the TI-84 do.
Being powered by anything more than a few AAA batteries should be an obvious red flag.
There's not really any good solution to this either without completely overhauling the system (i.e. making things worse for a few years until things stabalize and the kinks are worked out in primary school math education 2.0), so we're at a local maximum.
I don't get your point about batteries though. Calculators are heavily used by the students, so are the perfect place to have a rechargeable. It looks like it's even replaceable too. Throw in usb-c charging, and you've got something that can be charged pretty much anywhere that a phone can.
Also there are some IR networking libraries http://sami.ticalc.org/irlink/
They require additional hardware, for IR.
TI-89 does not have an IR interface built in.
From https://thehustle.co/graphing-calculators-expensive/:
> The company campaigned against devices with touchscreens, internet connection, and QWERTY keyboards. In one instance, it even lobbied the Texas legislature to make it mandatory for all students to take Algebra II — a course that often requires the use of a TI graphing calculator.
> “A lot of [TI’s] graphing calculator success was due to really aggressive lobbying for certain policies,” a source in the education space told The Hustle. “They made it so that that the types of things you were allowed to bring into a test were essentially limited to their devices.”
There's free alternatives that others are increasingly turning to, like an app-based graphing calculator through https://www.desmos.com/
I dislike touch screen, and I would prefer to use wired rather than wireless connections when possible, although I do want a QWERTY keyboard.
(I also would prefer a different programming language than Python, such as Forth, and would prefer access to the machine codes too.)
Yet HP and Casio alternatives aren't much different, because of the same education reasons.
https://github.com/duskwuff/v200
And I did a quick and dirty Emscripten port to make it work in the browser:
Not the usual calculator app. An actual mode where the device is just a calculator. No distractions. Locked in that mode for a duration or needing a code. Kind of like family locking but not that. Wifi etc is off. Maybe even a setting to ensure the phone is disabled. Another setting to present a blank slate so no notes. No ability to swap to different apps. No notifications. Maybe even have a configuration code that is easy to type in and verify so exam operators can easily confirm.
Perfect for the ipod touch. It could easily beat any of the scientific calculators out there, eg battery life.
Bonus points if it logs all activity for exam purposes.
Because it's quite a lot of work to support and provides very limited value over what a graphing calculator app provides especially taking into account the idea that now teachers have to check people's phones somehow.
Personally I’m quite happy with my HP Prime.
HPPL is certainly not my ideal programming language, but I’ll take it over TI-BASIC any day until the Python support matures.
This is fine if you're a kid who likes/understands/cares about calculators, but if you're not and you don't like math or find learning a specific UI with no guidance annoying it can be bad. I knew kids of both varieties in HS.
In most other countries, students complete university undergraduate courses, let alone high schools with only needing a cheap non-programmable calculator, while some courses like an undergraduate course in Computer Science wouldn't require any calculator at all.
[1] although my TI-92 was a close second after it came out a few years later as it could do symbolic integration unlike the HP48
You could even make your own simple GUIs, I wrote a few that I used a lot in school. A resistor color calculator and some statistics-related ones.
I had a 48G that was destroyed and a 48GX that was stolen from an autorepair shop, while the car was in for service.
But I will never not use this calculator in one form or another as my primary calculation device, it's just too familiar.
Computer latency is terrible, and the calculator is optimized to make the 80% faster rather than the 20% possible.
I guess Python is definitely the new BASIC.
I aced every test in numerical methods in like 15 minutes.
This was the first time I bumped into the phenomenon @pg describes in his “Beating the Averages” essay.
During high school I got a fx 4500p, and during university the dream of most university students in computing, the last model of the BASIC programming models, FX 880p.
HP-48GX was also very appealing, but only wealthy students used got it.
Contrary to US, TI was almost nowhere to be seen.
... Is this a thing on calculators nowadays, or just a dig at smartphones, laptops, and desktops? Haven't had to use a graphing calculator since high school, the TI-84 Plus was a great device.
So you’re saying I can debug the 50 lines of matplotlib it takes to get a half-decent graph, but now with a tiny screen and no keyboard? Sign me up!
Probably nostalgia, but I think that was the best learning I've ever done.
I have this recollection that variable names were capped at 2 letters, so all my variables were named AA, AB, etc. Also a lot of goto usage.
Good times!
I do like that it doesn't have wireless; I generally prefer to use wired connections when possible. (If it has RS-232, then that would be good, I think.)
I've been telling all my students to use https://live.sympy.org/ but having that available offline will be even better.
[1] For anyone not-familiar, check this printable tutorial https://minireference.com/static/tutorials/sympy_tutorial.pd...
Question; besides your books - which I have just discovered - would there be any intro to math and engineering books that use Sympy / Python that you'd recommend? I posted that question earlier a while back but didn't get a lot responses.
Here are some links to the best computer-based-science stuff I was able to find in my bookmarks:
[ The official docs] tutorial https://docs.sympy.org/latest/tutorial/index.html + other docs https://docs.sympy.org/latest/index.html + SymPy links from the wiki https://github.com/sympy/sympy/wiki/External-SymPy-Media%2C-...
[ Reference of equations from advanced physics in a very condensed manner ] https://www.theoretical-physics.net/dev/index.html == https://www.theoretical-physics.net/dev/theoretical-physics.... It's mostly equations, but there are snippets of SymPy interspersed in there (written by Ondřej Čertík, who started SymPy)
And now for something in the other extreme—instead of exact equations, you can do physics with simulations:
[ Modelica ] Imagine you had an ODE (ordinary differential equations) solver with pre-defined "modules" for electrical, mechanical, thermal, and other systems. Modelica is not Python-based, but has its own language for describing variables, differential equations, and initial conditions. https://marcobonvini.com/modelica/2020/06/29/all-about-model... via https://news.ycombinator.com/item?id=23690788 Intro talk https://www.youtube.com/watch?v=-mvEUuc-sWE and a Modelica book https://mbe.modelica.university/
I got a serial to TI cable and was able to install all kinds of fun games. A racing game. Dopewars. Those were the days.
I just downloaded Desmos on my phone and it’s what I think students should be using. Apple should make an education version of the iPod touch that just includes Desmos. That would be fun for TI ;)
Edit: The downvotes are well deserved, so I won't dispute them. Thinking about it more, programming in Python without an alphabetic keyboard would be a chore.
This not only helped math but this was also my first basic experience and I still love coding on limited systems to this day.
Ergo: get your kids a TI84
The source is MIT-licensed, but the required credit is missing from the docs and distribution image.
I got my TI84 as used from eBay and I sold mine to a freshman when I graduate HS.
These calculators are expensive to buy new for many students.
A search for "TI-83 games" brings up a bunch of them.
Edit: Sadly TI seems to have discontinued C/ASM support on newer versions of their calculator OS/firmware, presumably to discourage exam cheating apps and remain eligible for use on standardized tests. ;-( So if you have an older calculator, don't "upgrade" your firmware I guess!
Who else would use it instead of smartphone app?