I too wrote my first code on a TI-81. Though I had been making games for a while with various tools (e.g. TGF), it was nice to finally close the loop and write in a programming language, even if it was only BASIC. That pushed me to take a programming course in high school the following year. I was writing pong and asteroid clones and ray casting engines in class.
The author's points about the iPad seem pretty accurate. I can't even imagine how I would go from having an iPad as a high school student to stumbling into programming.
I haven't developed in iOS, but I did play around with Android and the thing that really frustrated me was that the sample games were several files and ~1,000 LOC. We're talking really simple games and the amount of boilerplate crap was mind boggling. To even get to that point, of course, you have to screw around with an IDE, plugins, an emulator, etc.
> The author's points about the iPad seem pretty accurate. I can't even imagine how I would go from having an iPad as a high school student to stumbling into programming.
Funny, I thought the exact opposite; I agreed on the general point, but found the arguments against iPad bit weak. First of all they were factually incorrect. As others have demonstrated there are plenty of apps that allow programming the iPad in a way that is at least comparable to TIBASIC. You don't need developer accounts or review processes to use those apps.
More importantly the author missed the part that iPad is essentially just a platform, a tabula rasa if I may say so. As it does not provide any educational features on its own (afaik) some apps need to be provided by the school. And those apps provide the discoverability aspect that is missing from a vanilla iPad. It is reasonable to think that school would provide/require an app (or a collection of apps) that would be an equal or surpass the features of a graphing calc, including the programming features.
Of course I'm not really sure what educational apps are currently available, if they are adequate. But if not, then that would actually be something that HNers could do something about.
> I can't even imagine how I would go from having an iPad as a high school student to stumbling into programming.
I'm not so sure. I remember programming in high school. I wrote one or two programs for my TI calculator but mostly stayed away from it because the experience was so bad, and I wasn't that sad when it was lost/stolen (I preferred the HP anyway).
On the other hand, you could do a lot on a computer, share source code on floppy disks, use a nice debugger, use a nice language like C or Pascal. It took a bunch of code to set up a window and a proper event loop but you could type that in from a book or (later) a web page. It's been getting easier every year.
Graphing calculators are little more than terrible computers these days. Given how irrelevant they are now, imagine how irrelevant they will be when today's high school students finish their MSEEs and enter the workforce.
I'm not really commenting on the viability of iPads here, just on the (non-)viability of graphing calculators.
I'm accustomed to popular blog blowhards repeating the "you can't write code on an iPad" mantra, but I expect better here. We all know you can write code on an iPad, right? Off the top of my head, I can think of free/cheap apps in the app store for JavaScript, Python, Scheme, Perl.
Or Lua... my kids have my hand-me-down iPads. Each has Codea installed. Codea is a gorgeous Lua development environment with a great on-device editor and great libraries for sprites, sound, touch, accelerometer, and physics.
For some things, the Codea editor is better than what I use at work. For instance, if a function takes a color value as an argument, when the cursor is in that character position, a color picker pops up. Likewise, when using the sprite command, instead of typing in a name you can open a popover that displays a list of sprites on the device. It pulls assets from your photo library or links to your dropbox, so you can easily get assets in and out of the device.
My daughter decided to make a program to implement the sorting hat from Harry Potter. She googled for images of the sorting hat and other harry potter things, saved them to the device, and spent an hour obsessively re-writing her draw function so that things appeared where she wanted them to. She was stumped by randomness, so I helped her look in the built-in reference for math.random() and, with another assist on how to write an if-else block, she figured out how to use it. Keyboard input was rougher (Codea lacks the common UI widgets) but she got something working to her satisfaction.
So, after a few hours of playing around, she had a fun little sorting hat toy. She understands variables, incrementing variables every frame to create animation, what the word "random" really means (as opposed to her previous definition for the word, from some Disney channel show), and how to do some basic if-else flow control. Now when people ask her about her iPad, she says she knows Lua and shows them her sorting hat.
Codea can export directly to an Xcode project, so next weekend we're going to turn her sorting hat game into an app and install it on her iPad. I think that's when she'll be fully converted into a mobile app developing geek.
So, the article... there's a fun walk down memory lane (I, too, goofed off in school writing games for a programmable calculator) but it's unfortunate that he framed it with a TI-verus-iPad. Plus, his conclusion is just plain wrong.
That's where the story ends though. I never owned a TI-83 but I remember class-mates linking their TI and sharing programs. Here you have to export to Xcode, pay Apple $99 and fill a bunch of forms, wait for app-store approval.
The author said that the ipads they gave students are restricted to a few apps approved by administrators.
EDIT: Another thing he mentioned was teachers seeing kids playing games or messing around with their calculators as a bad thing. So I doubt they would support white-listing apps that let them run their own code.
However they probably come with an web browser, so it defeats the purpose as they can still play games and stuff (unless I'm wrong and they don't.) They could also code with it if they wanted, in javascript or something. I don't think the safari app allows that, but you could find a website that executes user inputted code. I've played with some of those before.
Anyone ever play "Dope Hunter"? Actually I forgot what it was called exactly, but it was like a Legend of the Red Dragon type game, except you were a drug dealer, and it worked on TI-81s.
I agree with the OP that iPads currently restrict most users to being consumers, rather than programmers...but I'll admit, I didn't know many people who finagled around with creating or modifying TI programs...we mostly just distributed programs, downloaded from the Internet (or BBSes) among ourselves. However, the interface of a calculator was (understandably) pretty painful, so I think some of the more industrious of us did hack our own routines for common calculations. Even that kind of rudimentary programming/problem-solving isn't possible from the iPad or its more popular educational apps.
I really like Microsoft's TouchDevelop suite, a Microsoft Research project that tries to bring programming into a touch-friendly IDE. It's not insanely powerful, but then again neither is a TI calculator. I know Android has some IDEs for various languages, I haven't heard of Apple allowing for a scripting language to be both written and run on the device. I think doing that would allow for some of these fears to be mitigated.
I played similar type games on my TI-86 calc and modded them some as well when I was in high school. They were basically stock buying/selling games, only with the stocks renamed as drugs to better appeal to teens.
In high school my friends and I decided that once we understood the concept of, say, the Pythagorean Theorem, making us solve it over and over again was busywork. So we made programs to solve things, and then an application called AMATH to collect all those programs.
At one point the teachers caught wind of this app everyone was using, and made everyone start showing their work. So I reprogrammed my modules to show their work, line by line. I soon forgot about all of this and went into an unrelated area of study at university; I think I only ever took one college-level comp sci class. Today I make my living in mobile apps.
Let me tell you why I hate TI's shitty calculators.
Mainly because they are marketed so aggressively to educators.
Back in 1990, I was given a TI scientific calculator, and some exercises to practice. I was to enter the UIL contest titled "Calculator Math" or something like that. It was a speed contest. My school (small rural public school), having the smartest and best-prepared students won at the first level of competition beating everyone. We punched our buttons furiously, we were punching buttons as fast as is possible without having registration errors. We figured nobody could beat us, since we made few errors. At the next level we competed, something went wrong. The test went as usual, we finished most of the exam in the allotted time, but did not score well enough to advance. The thing is, after about two-thirds of the allotted time had passed, students from other schools started getting up and leaving. During the exam, I smugly assumed they were giving up because I _knew_ that nobody was a significantly faster button-pusher than me, not by that large an amount. I was puzzled. Later I learned what an RPN calculator was, and began to understand what happened. I am a college instructor today, and I have yet to meet a student who knows what an RPN calculator is. Nearly every teacher's supply catalog that gets crammed into my mail sells TI exclusively.
"Cabamap is a flash application for the 83+/SE that performs arbitrary-precision integer calculations. Simply stated, it can do things like calculate the exact value of 2000! or 2^1024. It uses RPN (Reverse Polish Notation) as the user interface, and is intended as a complete system for long integer calculations. The only limit is available memory (roughly 24000 digits)."
Partway through college I bought an old HP-48 and suddenly had this realization. The TI system encourages you to enter exactly what you see on the page, plus a whole bunch of parentheses because calculators are dumb and everyone's paranoid about order of operations. With RPN, you just do the math.
I still have my TI-92+, it was the pinnacle of graphing calculators, basically running Mathematica on the equivalent of a Sun-1 workstation in your hand. And of course TI-Basic.
While the article suffers a bit from nostalgia, the central message that young people develop learning skills from 'constructable' activities (be it programming a calculator or building things in shop class) is something we have put at risk. In many ways "art" is the most important class you can take in High School since it can challenge your thinking in ways that no amount of rote memorization can.
The bottom line for me was that its great that some folks can see the benefit, but not a whole lot of ideas about keeping that spirit alive in the school system.
Graphing calculators are entirely unnecessary for learning high school/college mathematics/physics/etc. (though they might be useful for engineering students working on-site where access to a full computer is impractical – I don't have such experience with that, so can’t comment).
There is no good pedagogical reason for assigning problems to students which use numbers that can’t be worked out easily on paper or with a regular scientific calculator. Forcing students to expend effort on keeping track of many-digit numbers is in general an unnecessary mental load which distracts from the concepts being taught. Including "how to use your calculator" sections as part of mathematics instruction, and assigning "calculator problems" which include e.g. unreasonably complex symbolic integration problems or unreasonably precise numbers, for the sake of giving students practice with a graphing calculator interface is a waste of teacher and student effort.
Additionally, Because Texas Instruments has so effectively lobbied textbook authors and test writers and school administrations to get their calculators on the list of approved/official devices, many students are prompted to spend an unreasonable amount of money on calculators which they do not need. It’s something like a tax on those students.
TI graphing calculators have awful, obtuse interfaces. Their programming and debugging tools are rudimentary and outdated. Their graphics capabilities are limited, and graphics made with them can’t be used for any other purpose or easily shared. Students would be much better served by lessons/mentoring on the use of regular general-purpose computers and programming languages, whether for mathematics or whatever else. If they need symbolic integration or graphing capabilities for solving some concrete engineering problem, or for exploring, they would be much better served by a tool such as Mathematica or Maple [or heck, Python] than by a TI calculator. Full computers are much better for inputting and interacting with data and mathematical structures.
It's been 9 years since I was in high school. But on principle, I never bought a graphing calculator, and I never found it to be any disadvantage in any course I encountered in high school or college [except, briefly, on the AP Calculus test, where I had to familiarize myself with the TI83's awful UI on a borrowed calculator during the test; it didn’t end up hurting my score]. However, I found programming in Maple, and later Python, to be invaluable in solving all sorts of problems.
Comments like this are why hacker news is so frustrating now. It's a rant about TI calculators which doesn't address any of the points made in the article itself, yet is sitting at the top of the comments.
If you want to talk about TI calculators in general, write a blog post and post it here or something, but I don't see why this mostly-unrelated comment needs to dominate any discussion about the actual points being discussed in the article.
While I agree that most graphing calculators are overpriced and too limited in functionality, I disagree that students should only be given problems that can be nicely worked out on pencil and paper.
There were occasional problems I was given in my high-school calculus class where the goal was to find the area under a curve of a function that was difficult or impossible to integrate by hand. The calculator does it numerically so we were forced to recognize which types of problems could be solved exactly and which could not. Intersections of curves can also easily be solved with a graphing calculator.
Other things like systems of linear equations, probability distributions, statistics, combinatorics, and rapid data entry and processing can also be done really easily on a graphing calculator. These are all tedious to do by hand, and all make an appearance in upper level high-school math classes.
Part of taking a math class should be learning tools to solve your problems efficiently, and exact solutions are often not the most efficient way to do that. Things like Excel, Python, and Maple are all nice but they assume access to a computer and would require significant disruption to lecture flow. With a graphing calculator it's easy for students to do these things themselves (at their desks) without having to give them each a portable computer (which causes other problems with keeping the students attentive) and teach them a programming language.
Things I used a calculator for in high school that were great times to use a calculator:
-solving systems of equations for physics
-doing anything in AP statistics
-plotting functions in calculus so that I could visualize them
Now that I'm in college I either use Mathematica or Python's scientific stack for all of these things, but I didn't own a laptop during high school and can definitely understand why high schools would buy graphing calculators for their classes. They have a relatively high educational utility for their cost.
On the other hand, I agree that curriculum's shouldn't be catered around calculators. A good high school math curriculum would let people know what can be done numerically, what can't, and spend a small amount of time teaching people how to do the numerical things on their calculators (or whatever the tool of choice is).
I personally loved using my graphing calculator especially in classes where it was not required. Statistics and accounting, for example, were classes were we were expected to memorize formulas that I found to be difficult to learn. Come test day, though, I had programmed those formulas into a note on my TI 86.
The teachers always gave their reasons why they were forcing us to memorize these equations that in the real world we would have written down (or use software to solve for us), but I never bought into it. And they never forced me to erase my calculator's memory before the exam.
Counterpoint: graphing calculators are great for entry-level programming. That is how I got started.
Since graphing calculators have a privileged place in schools, kids can play games on them during class instead of pay attention. Their TI-BASIC language is trivial to pick up (and is meant to be briefly taught in classrooms) but under-powered for games. However once you get to the point where you are limited by TI-BASIC's interpretation speed, you have a good foundation from which to learn assembly language.
My first two programming languages, learned in 6th and 7th grade respectively, were TI-BASIC (83/84 series version) and Zilog Z80 assembly.
I wouldn't be where I am right now if it were not for those overpriced and simultaneously over and under-powered devices.
It may not be strictly necessary, but it's a great educational and exploratory toy.
The main draw for me was unsupervised exploration. The calculator is simple enough that you can figure out how to program yourself (with the manual), and you can know 'everything' there is to know about it. You don't have to ask a teacher for anything, you get to do whatever interests you, and show your friends. That makes it more exciting somehow.
Like the author of the article, I (and my friends) spent a lot of time programming in BASIC on it. I also feel I spent a lot of time simply plotting functions, just to see how they behaved. EG, looking at the 'beats' produced by adding up sine functions. As a scientist today I frequently do that kind of exploratory analysis, but in python or mathematica.
I think the author's point was more that there is value in an educational tool that encourages kids to hack on it in an unsupervised, unstructured way. Of course there are better interfaces than TI. But the replacement educational tools (iPads in particular) don't really have that same freedom to hack (or at least the barrier to entry is much higher).
It is dramatically more portable than a laptop, the battery lasts forever, and you'd be surprised how powerful it is. Sure, it takes a while to learn how to use it, but once you learn how, you can perform tasks with it extremely quickly. Obviously it isn't as powerful as Mathematica or Maple, but for many things I would argue it is both easier and faster to use.
I will agree with you that older TI calculators have bad interfaces, but I think the TI-89 has an interface is quite usable and intuitive.
>Graphing calculators are entirely unnecessary for learning high school/college mathematics/physics/etc.
Maybe not necessary, but the TI-nspire I got for school was absolutely amazing. Seeing functions graphed out was very helpful. And it can quickly do stuff that is a pain to do on a regular calculator. I used it a lot in school and learned a lot with it.
The interface is a lot better too. It has a mouse, menus, color graphics, and you can just input functions how they are written.
in school we learned two ways. there were pencil-tests and calculator-tests. the calculator tests were considerably harder, and if you forgot your calculator that day - and it happened - you were out of luck. MAYBE the teacher had one you could borrow.
learning how to use a graphing calculator is important. it teaches kids how to use a highly technical tool to solve difficult problems in a fraction of the time it would take by hand.
AP Statistics needs a graphing calculator or a computer. I think a calculator is a more realistic option. At my school, you could buy a TI-83 or TI-84, or you could check it out from the library for the year, so it didn't have to cost you anything.
No, they aren't great at everything, but being the best at everything isn't what they're designed for. What they are designed for is to be functional tools, and like all good functional tools, they are designed to be durable and reliable, relatively maintenance-free, and to do most of what people need them to do. I know a guy who's been using his TI-83 for a decade, and it still works fine. I bought mine from a pawn shop for $40 three years ago, I use it nearly every day, and it works fine. The batteries in mine last... months. Actually, I think mine might be going on a year now. They're not pretty, and they aren't going to be able to do vector calculations in 3D, but as a tool, they're actually pretty goddamn awesome. And once you learn the UI, it's not that bad at all.
> It wasn't until 1990, when Texas Instruments released the TI-81 graphing calculator, that the medium became a feasible platform for game design
Nonsense. People were writing calculator games long before graphing calculators were introduced. There were lunar lander games for HP and TI calculators in the late '70s and early '80s, for example. HP had a "Game Pac" for the HP-67 that included blackjack, craps, a slot machine game, a sub hunt game, an artillery firing game, a space war game, a game based on "Mastermind", Nim, and more.
The HP-41C, introduced in 1979, and (amusingly) discontinued in 1990 (the year the author says game design became feasible on calculators) had an alphanumeric display so it could do word-based games, and Hangman and an an Adventure-like game were available.
I much preferred programming the HP-28 (and later the HP-48G) to the TI-8x series. An RPN language is a natural extension of the calculator interface, while a BASIC interpreter always felt like a weird bolt-on.
Great article. I used to ask girls for phone numbers and such by borrowing their calculators and writing a small program. For my biggest crush I wrote her a program that spit out nice quotes whenever she ran it, what a blast.
My response to the article though is that kids today have iPads and other tablets and they will delve into those they way we embraced the TI-83.
I used to have a Palm device. It had a black and white 320x320 screen, slow CPU, low memory, and no Wi-Fi. But I could run PocketC on it and work on a hobby game project, either on a computer or the device itself.
A few years later I got an iPhone 3GS. It had a much faster CPU, better screen, wifi and 3G Internet with a browser that could display desktop websites. It was leaps and bounds more powerful and capable than the Palm device, except I couldn't actually develop any pet game project on the device itself (in a C-like language; I suppose JS dev is possible).
I agree with the author that the iPad could definitely be a more approachable platform. However, I think that the comparison to a TI-83 is also a little bit naive. The TI has a 64 x 96 pixel greyscale display. The iPad's resolution 2048 x 1536 in full color with a quad-core dedicated graphics processor. In order to work with that, we have huge APIs implementing complex abstractions. And all that extra complexity must be dealt with using an antiquated programming language with horrible syntax.
Yes, we could create some kind of simple emulator that makes it possible to write simple things as easily as they could be done in TI-BASIC. But what kid wants to write a nibbles or mario clone when they can with a few finger taps be playing a 3D shooter or racing game. The simple reality is that we are no longer in the frontier days of computing, and I would argue that our languages and abstractions haven't kept pace with other advancements. The easy things have all been done. And the interesting things that haven't been done are hard. That has a significant role in what the author is talking about.
There are also other forces at play--such as the very large economic interests that exist around programming iOS--that weren't a factor for TI back in the day. So while I'm all for the author's thesis that things should be more explorable, I think he's ignoring the fact that a significant amount of essential complexity has made that a much more difficult proposition than it used to be.
I don't see any competition at programmable calculator's market.
Why noone gets a modern SoC, connects it to a modern OLED display (but keep hardware keyboard, please), burns in basic DirectFB-based GNU userland with tons of readily available free science (not only math) and programming tools, designs an basic UI over the thing (most hard part), keeps the POSIX shell available and device completely unlocked, and starts selling the product? I do believe there are parents who would like their kid to have a good calculator to aid in the school, but don't want them to have an iOS/Android tablet (as it's more likely the kid will end up playing or using it for social networks).
I mean, replace everything that sucks about graphing calculators - outdated (and seriously overpriced) hardware and limited programming and debugging functionality (if you're about to argue - please compare TI calculator to your development workstation to see what I mean), but keep the device feel generally science- rather than entertainment-oriented?
In short: a handheld device with a general feel of modern programmable calculator, with (preinstalled) Maxima, Octave, PHYSICA, R, Python, Racket and so on under the hood, and without any [readily available] "app store" full of games.
Or such products do exist, but I just haven't stumbled on anything like this?
The author has a grasp of education that probably wouldn't have occurred to me. I love the sentence "It may be tempting to see convention and subversion as incompatible, but education thrives in the healthy tension between the two."
I personally learned to program nearly 20 years ago, when I was 13. I was fortunate enough to have a computer around the house and was pretty familiar with MS-DOS and the various conventional memory incantations required to run Games, and I'd played around with GW-BASIC but my family was visiting some relatives' house where I found and picked up what I consider to be one of the most formative books of my life: C for Dummies. For some time, we'd had a copy of Borland C lying around the house, and a copy of K&R, but I could not get into it, though I'd made a few stalled attempts. But this book... it brought the computer alive for me.
Fast forward to today, I am technically self employed, though most of my work is a full-time contract with a single company, and I make a low six figure income. All because I learned to play and experiment with that beautiful thing called programming, because of C for Dummies. Dan Gookin (the author) changed my life, in much the same way that the article's author was changed by the discovery of the programming tools for the graphing calculator.
I am a high school dropout, and very nearly failed out of two universities before completing my bachelor's in Comp Sci after 8 years of attempts. I have historically had a tough time of conventional learning, though I believe I've matured enough for this to have changed over the last few years. Programming taught me discovery, experimentation, a whole, whole lot of getting shit wrong, how to figure out solutions to poorly defined problems (which usually first requires coming up with a proper definition of the problem), and so much more.
Programming is a beautiful thing. My friends just had a baby girl and at their baby shower they had a little 'time capsule' where people could leave notes for the baby to read in the coming years. Mine said that I would be happy to teach her how to program.
For me, programming is a big part of life!
Finally, I love the fact that a non-professional programmer embraces and sees the value in this.
I'm going to have a hard time with this when the school district mandates that my son use a calculator that has an "Equals" key.
We've always been an HP family. RPN all the way. I literally am unable to use a TI calculator (well, they may well have Enter keys now -- I know the newer HP calcs have Equals keys of a sort, which you can ignore). My son will not be using a scientific calculator as broken as the TI ones.
You think I'm joking. I'm not. (I'll probably have to relent and let him use a TI, but I'm going to show him RPN first...)
What if that liberty, that sense of discovering how to change it was not an intended side effect, and the more controlled ipad environment is?
agree that exposure to that "primitive" environment and the desire to create something great would force the user to make use of ingenuity.
agreed that incredibly constrained tools and no very high level language is included, yet still reducing high level problems to low level instructions can allow to discover and see something that could have been hidden by better tools.
My kid just got a school-issued iPad in 5th grade. Awesome!
But he's also required to buy a lame-o TI calculator as well?! Why?! Oh, because the standardized testing companies are freaked out by iPads.
TI has a stranglehold because of a lack of wifi???
How can we get iPads accepted as legit devices to use while taking tests? I'm getting flashbacks to all the open vs closed book debates about testing that I went through in high school and college...
When I read about the language TI-BASIC in the above article, it reminded me of my old TI-99/4A computer[0], which I got from my dad to learn programming. This computer also included a TI-BASIC language, I wonder if they are in any way related, except of course from being a BASIC language created by Texas Instruments. It would be cool if old TI-99/4A games would be playable on "modern" TI graphic calculators.
I still have two TI-99/4A computers in my cellar, for nostalgic reasons :)
Holy crap, I played Desolate, that game was seriously amazing for a calculator. The graphics rivaled the original Game Boy (a decade later, but still). It was seriously smooth and well made.
You could run circles around it with a Nintendo DS with homebrew, Sony hand held consoles and of course the Ipad, Iphone or Android.
But don't expect to convince your 50-60 year old teachers in University to let you use it. In spite of showing the apps that I had done for structural analysis in my Nintendo DS, they could not let me use it, I had to buy one of those stupid, overpriced, obsolete graphic calculators.
[+] [-] jere|12 years ago|reply
The author's points about the iPad seem pretty accurate. I can't even imagine how I would go from having an iPad as a high school student to stumbling into programming.
I haven't developed in iOS, but I did play around with Android and the thing that really frustrated me was that the sample games were several files and ~1,000 LOC. We're talking really simple games and the amount of boilerplate crap was mind boggling. To even get to that point, of course, you have to screw around with an IDE, plugins, an emulator, etc.
It's a far cry from PRINT "HELLO WORLD"
[+] [-] zokier|12 years ago|reply
Funny, I thought the exact opposite; I agreed on the general point, but found the arguments against iPad bit weak. First of all they were factually incorrect. As others have demonstrated there are plenty of apps that allow programming the iPad in a way that is at least comparable to TIBASIC. You don't need developer accounts or review processes to use those apps.
More importantly the author missed the part that iPad is essentially just a platform, a tabula rasa if I may say so. As it does not provide any educational features on its own (afaik) some apps need to be provided by the school. And those apps provide the discoverability aspect that is missing from a vanilla iPad. It is reasonable to think that school would provide/require an app (or a collection of apps) that would be an equal or surpass the features of a graphing calc, including the programming features.
Of course I'm not really sure what educational apps are currently available, if they are adequate. But if not, then that would actually be something that HNers could do something about.
[+] [-] klodolph|12 years ago|reply
I'm not so sure. I remember programming in high school. I wrote one or two programs for my TI calculator but mostly stayed away from it because the experience was so bad, and I wasn't that sad when it was lost/stolen (I preferred the HP anyway).
On the other hand, you could do a lot on a computer, share source code on floppy disks, use a nice debugger, use a nice language like C or Pascal. It took a bunch of code to set up a window and a proper event loop but you could type that in from a book or (later) a web page. It's been getting easier every year.
Graphing calculators are little more than terrible computers these days. Given how irrelevant they are now, imagine how irrelevant they will be when today's high school students finish their MSEEs and enter the workforce.
I'm not really commenting on the viability of iPads here, just on the (non-)viability of graphing calculators.
[+] [-] MaysonL|12 years ago|reply
Soulver, Pythonista, Pixie Scheme, Scheme Programming Language, Lisping.
[+] [-] wehadfun|12 years ago|reply
[+] [-] robterrell|12 years ago|reply
Or Lua... my kids have my hand-me-down iPads. Each has Codea installed. Codea is a gorgeous Lua development environment with a great on-device editor and great libraries for sprites, sound, touch, accelerometer, and physics.
For some things, the Codea editor is better than what I use at work. For instance, if a function takes a color value as an argument, when the cursor is in that character position, a color picker pops up. Likewise, when using the sprite command, instead of typing in a name you can open a popover that displays a list of sprites on the device. It pulls assets from your photo library or links to your dropbox, so you can easily get assets in and out of the device.
My daughter decided to make a program to implement the sorting hat from Harry Potter. She googled for images of the sorting hat and other harry potter things, saved them to the device, and spent an hour obsessively re-writing her draw function so that things appeared where she wanted them to. She was stumped by randomness, so I helped her look in the built-in reference for math.random() and, with another assist on how to write an if-else block, she figured out how to use it. Keyboard input was rougher (Codea lacks the common UI widgets) but she got something working to her satisfaction.
So, after a few hours of playing around, she had a fun little sorting hat toy. She understands variables, incrementing variables every frame to create animation, what the word "random" really means (as opposed to her previous definition for the word, from some Disney channel show), and how to do some basic if-else flow control. Now when people ask her about her iPad, she says she knows Lua and shows them her sorting hat.
Codea can export directly to an Xcode project, so next weekend we're going to turn her sorting hat game into an app and install it on her iPad. I think that's when she'll be fully converted into a mobile app developing geek.
So, the article... there's a fun walk down memory lane (I, too, goofed off in school writing games for a programmable calculator) but it's unfortunate that he framed it with a TI-verus-iPad. Plus, his conclusion is just plain wrong.
[+] [-] zimbatm|12 years ago|reply
[+] [-] Houshalter|12 years ago|reply
EDIT: Another thing he mentioned was teachers seeing kids playing games or messing around with their calculators as a bad thing. So I doubt they would support white-listing apps that let them run their own code.
However they probably come with an web browser, so it defeats the purpose as they can still play games and stuff (unless I'm wrong and they don't.) They could also code with it if they wanted, in javascript or something. I don't think the safari app allows that, but you could find a website that executes user inputted code. I've played with some of those before.
[+] [-] marbletiles|12 years ago|reply
[+] [-] saraid216|12 years ago|reply
I am morbidly curious for details.
[+] [-] sillysaurus2|12 years ago|reply
[+] [-] danso|12 years ago|reply
I agree with the OP that iPads currently restrict most users to being consumers, rather than programmers...but I'll admit, I didn't know many people who finagled around with creating or modifying TI programs...we mostly just distributed programs, downloaded from the Internet (or BBSes) among ourselves. However, the interface of a calculator was (understandably) pretty painful, so I think some of the more industrious of us did hack our own routines for common calculations. Even that kind of rudimentary programming/problem-solving isn't possible from the iPad or its more popular educational apps.
[+] [-] chch|12 years ago|reply
I always knew it as Dope Wars, but I believe this is the game you were referencing.
[+] [-] freehunter|12 years ago|reply
[+] [-] yareally|12 years ago|reply
[+] [-] wikyd|12 years ago|reply
[+] [-] josecastillo|12 years ago|reply
At one point the teachers caught wind of this app everyone was using, and made everyone start showing their work. So I reprogrammed my modules to show their work, line by line. I soon forgot about all of this and went into an unrelated area of study at university; I think I only ever took one college-level comp sci class. Today I make my living in mobile apps.
[+] [-] fnordfnordfnord|12 years ago|reply
Mainly because they are marketed so aggressively to educators.
Back in 1990, I was given a TI scientific calculator, and some exercises to practice. I was to enter the UIL contest titled "Calculator Math" or something like that. It was a speed contest. My school (small rural public school), having the smartest and best-prepared students won at the first level of competition beating everyone. We punched our buttons furiously, we were punching buttons as fast as is possible without having registration errors. We figured nobody could beat us, since we made few errors. At the next level we competed, something went wrong. The test went as usual, we finished most of the exam in the allotted time, but did not score well enough to advance. The thing is, after about two-thirds of the allotted time had passed, students from other schools started getting up and leaving. During the exam, I smugly assumed they were giving up because I _knew_ that nobody was a significantly faster button-pusher than me, not by that large an amount. I was puzzled. Later I learned what an RPN calculator was, and began to understand what happened. I am a college instructor today, and I have yet to meet a student who knows what an RPN calculator is. Nearly every teacher's supply catalog that gets crammed into my mail sells TI exclusively.
[+] [-] jlgreco|12 years ago|reply
"Cabamap is a flash application for the 83+/SE that performs arbitrary-precision integer calculations. Simply stated, it can do things like calculate the exact value of 2000! or 2^1024. It uses RPN (Reverse Polish Notation) as the user interface, and is intended as a complete system for long integer calculations. The only limit is available memory (roughly 24000 digits)."
[+] [-] jff|12 years ago|reply
[+] [-] ChuckMcM|12 years ago|reply
While the article suffers a bit from nostalgia, the central message that young people develop learning skills from 'constructable' activities (be it programming a calculator or building things in shop class) is something we have put at risk. In many ways "art" is the most important class you can take in High School since it can challenge your thinking in ways that no amount of rote memorization can.
The bottom line for me was that its great that some folks can see the benefit, but not a whole lot of ideas about keeping that spirit alive in the school system.
[+] [-] jacobolus|12 years ago|reply
There is no good pedagogical reason for assigning problems to students which use numbers that can’t be worked out easily on paper or with a regular scientific calculator. Forcing students to expend effort on keeping track of many-digit numbers is in general an unnecessary mental load which distracts from the concepts being taught. Including "how to use your calculator" sections as part of mathematics instruction, and assigning "calculator problems" which include e.g. unreasonably complex symbolic integration problems or unreasonably precise numbers, for the sake of giving students practice with a graphing calculator interface is a waste of teacher and student effort.
Additionally, Because Texas Instruments has so effectively lobbied textbook authors and test writers and school administrations to get their calculators on the list of approved/official devices, many students are prompted to spend an unreasonable amount of money on calculators which they do not need. It’s something like a tax on those students.
TI graphing calculators have awful, obtuse interfaces. Their programming and debugging tools are rudimentary and outdated. Their graphics capabilities are limited, and graphics made with them can’t be used for any other purpose or easily shared. Students would be much better served by lessons/mentoring on the use of regular general-purpose computers and programming languages, whether for mathematics or whatever else. If they need symbolic integration or graphing capabilities for solving some concrete engineering problem, or for exploring, they would be much better served by a tool such as Mathematica or Maple [or heck, Python] than by a TI calculator. Full computers are much better for inputting and interacting with data and mathematical structures.
It's been 9 years since I was in high school. But on principle, I never bought a graphing calculator, and I never found it to be any disadvantage in any course I encountered in high school or college [except, briefly, on the AP Calculus test, where I had to familiarize myself with the TI83's awful UI on a borrowed calculator during the test; it didn’t end up hurting my score]. However, I found programming in Maple, and later Python, to be invaluable in solving all sorts of problems.
[+] [-] bpodgursky|12 years ago|reply
If you want to talk about TI calculators in general, write a blog post and post it here or something, but I don't see why this mostly-unrelated comment needs to dominate any discussion about the actual points being discussed in the article.
[+] [-] vault_|12 years ago|reply
There were occasional problems I was given in my high-school calculus class where the goal was to find the area under a curve of a function that was difficult or impossible to integrate by hand. The calculator does it numerically so we were forced to recognize which types of problems could be solved exactly and which could not. Intersections of curves can also easily be solved with a graphing calculator.
Other things like systems of linear equations, probability distributions, statistics, combinatorics, and rapid data entry and processing can also be done really easily on a graphing calculator. These are all tedious to do by hand, and all make an appearance in upper level high-school math classes.
Part of taking a math class should be learning tools to solve your problems efficiently, and exact solutions are often not the most efficient way to do that. Things like Excel, Python, and Maple are all nice but they assume access to a computer and would require significant disruption to lecture flow. With a graphing calculator it's easy for students to do these things themselves (at their desks) without having to give them each a portable computer (which causes other problems with keeping the students attentive) and teach them a programming language.
[+] [-] lightcatcher|12 years ago|reply
-solving systems of equations for physics
-doing anything in AP statistics
-plotting functions in calculus so that I could visualize them
Now that I'm in college I either use Mathematica or Python's scientific stack for all of these things, but I didn't own a laptop during high school and can definitely understand why high schools would buy graphing calculators for their classes. They have a relatively high educational utility for their cost.
On the other hand, I agree that curriculum's shouldn't be catered around calculators. A good high school math curriculum would let people know what can be done numerically, what can't, and spend a small amount of time teaching people how to do the numerical things on their calculators (or whatever the tool of choice is).
[+] [-] freehunter|12 years ago|reply
The teachers always gave their reasons why they were forcing us to memorize these equations that in the real world we would have written down (or use software to solve for us), but I never bought into it. And they never forced me to erase my calculator's memory before the exam.
[+] [-] jlgreco|12 years ago|reply
Since graphing calculators have a privileged place in schools, kids can play games on them during class instead of pay attention. Their TI-BASIC language is trivial to pick up (and is meant to be briefly taught in classrooms) but under-powered for games. However once you get to the point where you are limited by TI-BASIC's interpretation speed, you have a good foundation from which to learn assembly language.
My first two programming languages, learned in 6th and 7th grade respectively, were TI-BASIC (83/84 series version) and Zilog Z80 assembly.
I wouldn't be where I am right now if it were not for those overpriced and simultaneously over and under-powered devices.
[+] [-] ealloc|12 years ago|reply
The main draw for me was unsupervised exploration. The calculator is simple enough that you can figure out how to program yourself (with the manual), and you can know 'everything' there is to know about it. You don't have to ask a teacher for anything, you get to do whatever interests you, and show your friends. That makes it more exciting somehow.
Like the author of the article, I (and my friends) spent a lot of time programming in BASIC on it. I also feel I spent a lot of time simply plotting functions, just to see how they behaved. EG, looking at the 'beats' produced by adding up sine functions. As a scientist today I frequently do that kind of exploratory analysis, but in python or mathematica.
[+] [-] jpwright|12 years ago|reply
[+] [-] fuzionmonkey|12 years ago|reply
It is dramatically more portable than a laptop, the battery lasts forever, and you'd be surprised how powerful it is. Sure, it takes a while to learn how to use it, but once you learn how, you can perform tasks with it extremely quickly. Obviously it isn't as powerful as Mathematica or Maple, but for many things I would argue it is both easier and faster to use.
I will agree with you that older TI calculators have bad interfaces, but I think the TI-89 has an interface is quite usable and intuitive.
[+] [-] Houshalter|12 years ago|reply
Maybe not necessary, but the TI-nspire I got for school was absolutely amazing. Seeing functions graphed out was very helpful. And it can quickly do stuff that is a pain to do on a regular calculator. I used it a lot in school and learned a lot with it.
The interface is a lot better too. It has a mouse, menus, color graphics, and you can just input functions how they are written.
http://education.ti.com/kbase/C21770SS7.JPG
http://mathbits.com/MathBits/TINSection/PreCalc/piece4.gif
[+] [-] beachstartup|12 years ago|reply
in school we learned two ways. there were pencil-tests and calculator-tests. the calculator tests were considerably harder, and if you forgot your calculator that day - and it happened - you were out of luck. MAYBE the teacher had one you could borrow.
learning how to use a graphing calculator is important. it teaches kids how to use a highly technical tool to solve difficult problems in a fraction of the time it would take by hand.
[+] [-] russellsprouts|12 years ago|reply
[+] [-] notdrunkatall|12 years ago|reply
[+] [-] tzs|12 years ago|reply
Nonsense. People were writing calculator games long before graphing calculators were introduced. There were lunar lander games for HP and TI calculators in the late '70s and early '80s, for example. HP had a "Game Pac" for the HP-67 that included blackjack, craps, a slot machine game, a sub hunt game, an artillery firing game, a space war game, a game based on "Mastermind", Nim, and more.
The HP-41C, introduced in 1979, and (amusingly) discontinued in 1990 (the year the author says game design became feasible on calculators) had an alphanumeric display so it could do word-based games, and Hangman and an an Adventure-like game were available.
[+] [-] sigil|12 years ago|reply
http://en.wikipedia.org/wiki/HP-28C
I much preferred programming the HP-28 (and later the HP-48G) to the TI-8x series. An RPN language is a natural extension of the calculator interface, while a BASIC interpreter always felt like a weird bolt-on.
[+] [-] rickdale|12 years ago|reply
My response to the article though is that kids today have iPads and other tablets and they will delve into those they way we embraced the TI-83.
[+] [-] shurcooL|12 years ago|reply
I used to have a Palm device. It had a black and white 320x320 screen, slow CPU, low memory, and no Wi-Fi. But I could run PocketC on it and work on a hobby game project, either on a computer or the device itself.
A few years later I got an iPhone 3GS. It had a much faster CPU, better screen, wifi and 3G Internet with a browser that could display desktop websites. It was leaps and bounds more powerful and capable than the Palm device, except I couldn't actually develop any pet game project on the device itself (in a C-like language; I suppose JS dev is possible).
[+] [-] mightybyte|12 years ago|reply
Yes, we could create some kind of simple emulator that makes it possible to write simple things as easily as they could be done in TI-BASIC. But what kid wants to write a nibbles or mario clone when they can with a few finger taps be playing a 3D shooter or racing game. The simple reality is that we are no longer in the frontier days of computing, and I would argue that our languages and abstractions haven't kept pace with other advancements. The easy things have all been done. And the interesting things that haven't been done are hard. That has a significant role in what the author is talking about.
There are also other forces at play--such as the very large economic interests that exist around programming iOS--that weren't a factor for TI back in the day. So while I'm all for the author's thesis that things should be more explorable, I think he's ignoring the fact that a significant amount of essential complexity has made that a much more difficult proposition than it used to be.
[+] [-] drdaeman|12 years ago|reply
Why noone gets a modern SoC, connects it to a modern OLED display (but keep hardware keyboard, please), burns in basic DirectFB-based GNU userland with tons of readily available free science (not only math) and programming tools, designs an basic UI over the thing (most hard part), keeps the POSIX shell available and device completely unlocked, and starts selling the product? I do believe there are parents who would like their kid to have a good calculator to aid in the school, but don't want them to have an iOS/Android tablet (as it's more likely the kid will end up playing or using it for social networks).
I mean, replace everything that sucks about graphing calculators - outdated (and seriously overpriced) hardware and limited programming and debugging functionality (if you're about to argue - please compare TI calculator to your development workstation to see what I mean), but keep the device feel generally science- rather than entertainment-oriented?
In short: a handheld device with a general feel of modern programmable calculator, with (preinstalled) Maxima, Octave, PHYSICA, R, Python, Racket and so on under the hood, and without any [readily available] "app store" full of games.
Or such products do exist, but I just haven't stumbled on anything like this?
[+] [-] canadev|12 years ago|reply
The author has a grasp of education that probably wouldn't have occurred to me. I love the sentence "It may be tempting to see convention and subversion as incompatible, but education thrives in the healthy tension between the two."
I personally learned to program nearly 20 years ago, when I was 13. I was fortunate enough to have a computer around the house and was pretty familiar with MS-DOS and the various conventional memory incantations required to run Games, and I'd played around with GW-BASIC but my family was visiting some relatives' house where I found and picked up what I consider to be one of the most formative books of my life: C for Dummies. For some time, we'd had a copy of Borland C lying around the house, and a copy of K&R, but I could not get into it, though I'd made a few stalled attempts. But this book... it brought the computer alive for me.
Fast forward to today, I am technically self employed, though most of my work is a full-time contract with a single company, and I make a low six figure income. All because I learned to play and experiment with that beautiful thing called programming, because of C for Dummies. Dan Gookin (the author) changed my life, in much the same way that the article's author was changed by the discovery of the programming tools for the graphing calculator.
I am a high school dropout, and very nearly failed out of two universities before completing my bachelor's in Comp Sci after 8 years of attempts. I have historically had a tough time of conventional learning, though I believe I've matured enough for this to have changed over the last few years. Programming taught me discovery, experimentation, a whole, whole lot of getting shit wrong, how to figure out solutions to poorly defined problems (which usually first requires coming up with a proper definition of the problem), and so much more.
Programming is a beautiful thing. My friends just had a baby girl and at their baby shower they had a little 'time capsule' where people could leave notes for the baby to read in the coming years. Mine said that I would be happy to teach her how to program.
For me, programming is a big part of life!
Finally, I love the fact that a non-professional programmer embraces and sees the value in this.
[+] [-] lunixbochs|12 years ago|reply
It lacks advanced math tokens and graph screen IO, but it's incredibly easy to extend and emulates much of the language's quirky behavior.
(-> terminates the token stack, end quotes are optional, you can use "If; End", order of operations, matrices, lists, menus)
There's a VT100 terminal output module which allows you to play home screen games like Mofrog, but I haven't implemented a graph screen IO module yet.
You can run arbitrary .BAS files found on the internet.
[+] [-] kabdib|12 years ago|reply
We've always been an HP family. RPN all the way. I literally am unable to use a TI calculator (well, they may well have Enter keys now -- I know the newer HP calcs have Equals keys of a sort, which you can ignore). My son will not be using a scientific calculator as broken as the TI ones.
You think I'm joking. I'm not. (I'll probably have to relent and let him use a TI, but I'm going to show him RPN first...)
[+] [-] xlayn|12 years ago|reply
agree that exposure to that "primitive" environment and the desire to create something great would force the user to make use of ingenuity. agreed that incredibly constrained tools and no very high level language is included, yet still reducing high level problems to low level instructions can allow to discover and see something that could have been hidden by better tools.
or can it be just nostalgia?
[+] [-] egb|12 years ago|reply
But he's also required to buy a lame-o TI calculator as well?! Why?! Oh, because the standardized testing companies are freaked out by iPads.
TI has a stranglehold because of a lack of wifi???
How can we get iPads accepted as legit devices to use while taking tests? I'm getting flashbacks to all the open vs closed book debates about testing that I went through in high school and college...
[+] [-] fnordfnordfnord|12 years ago|reply
Remove the ability to communicate, boot it to a standard image that doesn't allow cheats.
[+] [-] wsc981|12 years ago|reply
I still have two TI-99/4A computers in my cellar, for nostalgic reasons :)
[0]: http://en.wikipedia.org/wiki/Texas_Instruments_TI-99/4A
[+] [-] ibrahima|12 years ago|reply
[+] [-] forgottenpaswrd|12 years ago|reply
You could run circles around it with a Nintendo DS with homebrew, Sony hand held consoles and of course the Ipad, Iphone or Android.
But don't expect to convince your 50-60 year old teachers in University to let you use it. In spite of showing the apps that I had done for structural analysis in my Nintendo DS, they could not let me use it, I had to buy one of those stupid, overpriced, obsolete graphic calculators.