Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Go Ahead, Mess With Texas Instruments (theatlantic.com)
165 points by awwstn on Aug 30, 2013 | hide | past | favorite | 122 comments


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.

It's a far cry from PRINT "HELLO WORLD"


> 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.


The difference with TI's calculator was there was a social motivation/aspect to programming them. Everyone had them and it was very easy to get started.There are programming environments for the iPad but it is a lot harder to share programs as not everyone has one and even if they do they need another level of indirection to get the program. The calculator is also much more prevalent/easy to use in the classroom.

My first program was a quadratic equation solver that everyone at my school used. I remember a couple people tried to imitate and improve on my program but I crushed them with new features and a better interface. I don't think I could do that with the iPad.

The technology is also a lot more complex and daunting with the iPad. You have the paradox of choice in choosing how you want to program it. You can't easily share programs with others and TIBasic, just due to its simplicity and the lack of design knowledge and effort for the user interface is a lot easier for a kid to pick up and start using.

One thing that isn't mentioned in the article is that if you wanted direct control over the screen you had to program in assembly; I don't even think they had programming language support for it at the time. It made it a lot harder to use than the regular TiBasic.


You also needed a special cable to upload software written in assembly onto the calculator. I started teaching myself Z80 assembly in order to program the TI-85, but I never got the cable, so I never got to try it.


>As others have demonstrated there are plenty of apps that allow programming the iPad in a way that is at least comparable to TIBASIC.

Although the power to program exists on the iPad, the chance of "just stumbling into it" is very low. The magic of programming on the TI was that although the device had some value with no custom programs, someone with no programming experience could greatly increase the capabilities of the device with a little bit of code. Everyone at some point made the basic quadratic equation program. Some people would make more complicated programs and maybe even start to write games. Programs were also extremely easy to run on the calculators.

The critical difference between the iPad and the TI-83 when it comes to programming is how much utility you get out of your first hour programming the device.


> Although the power to program exists on the iPad, the chance of "just stumbling into it" is very low

That would depend highly on what software is provided/required on the iPad by the school.


> 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 can't even imagine how I would go from having an iPad as a high school student to stumbling into programming.

Soulver, Pythonista, Pixie Scheme, Scheme Programming Language, Lisping.


That's right, it must be possible to install an app that enables to program from the iPad (I don't owe one, so I may be wrong on that), but unlike the calculator, the programming environment is not included with the device, so many students who were not exposed to programming before will not even think of installing it on the iPad.


If you don't want to install something new, there's a pre-installed app called Safari which has a full programming language rather fast runtime and extensive display capabilities.


Its also a program that people use everyday, where they don't even think of programming anything for it.


I kind of figured the tools were out there and selected the word stumbling carefully. Even so, those look pretty awesome.


I wrote my first code on a TI as well.


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.


Really? She can email her friends the project file or the code. Seems better than linking through some rare cable. And if she really rocks it and makes something people will pay for, she has a venue for it.


Sharing programs on an 83 was simplicity itself, and always worked, and cables were usually pretty easy to find.


I remember going to summer camp and getting my classmate's shooter game program ;)


The day I got the MirageOS app for my calculator was magical.


Ha, my cable for connecting HP-48s to a computer was... the CD-ROM to Soundcard cable that came in early "Multimedia Kits"

But at least it had IR to share files between calculators


The popular to share programs were probably downloads or copied out of books.

I set my high school up with lots of stuff without really ever writing anything...


Scratch? Squeak? Puredata?

As 'stuff' lives on the Web, perhaps the next generation of constructionists need programming tools that they can use to make 'stuff' for their friends and put on a server?


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.


That is incredibly great, Rob! Good on her.


> what the word "random" really means (as opposed to her previous definition for the word, from some Disney channel show)

I am morbidly curious for details.


I found this http://www.jstor.org/discover/10.2307/40378347?uid=3739840&u...

>A common misconception is that 'randomness' must involve continual change. Ask a group of early high school students to invent a series of 20 random numbers from the integers 1 to 6 and you will usually find some who deliberately never write the same number twice in a row. If you then draw the analogy to rolling a die 20 times, and point out that this process can give the same number twice in a row, some students may insist that this means the die isn't random!

Though that doesn't sound like what OP meant.


Probably the informal "odd, unusual, or unexpected" rather than "made, done, happening, or chosen without method or conscious decision" (definitions from google)

See Disney show: http://en.wikipedia.org/wiki/So_Random!


This fits all the data known, and also makes sense and is plausible.


That's awesome! How old is she?


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.


http://en.wikipedia.org/wiki/Drugwars

I always knew it as Dope Wars, but I believe this is the game you were referencing.


I loved this game in high school. We played the Windows version in my networking class. I remember shouts of "Ahh yea, cocaine is super cheap in _____!" going across the room as we tried to outmatch each other's cash pool.


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.


I think it was called Drug Wars.


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.


It won't get you quite the same power as a proper RPN scientific, but Cabamap is great: http://www.ticalc.org/archives/files/fileinfo/323/32326.html

"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.


> plus a whole bunch of parentheses because calculators are dumb and everyone's paranoid about order of operations

Oh yeah.. and no paren matching either and iirc multiline editing was inconvenient enough that i never used it.


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.


The spirit of the article is compatible with explaining the virtues of general purpose computing.

There are plenty of people who have drawn a distinction between devices that can be programmed and which encourage experimentation and creation as opposed to devices built for consuming or figuring out how to get a result within prescribed parameters.

However, it cannot be ignored that Texas Instruments graphing calculators are not great examples of general purpose computers. To the contrary, they have become a signature example of rot within education.

Students who would be sufficiently inspired to program a graphing calculator would also be sufficiently inspired to program on a Raspberry Pi which is orders of magnitude more capable, and at least $65 cheaper.

The TI-84 is BAD at its core functionality. It performs badly when it comes to acting as a mathematical tool, or as a preview of what tools students might ever potentially use professionally or in higher level math courses. Second, it is a bad general purpose computer. And finally, because it is terribly over-priced, it is unnecessary burden on high school students, at a price that is only supported by cooperation from testing agencies that acts counter to the interests of students and counter to education in general.

Is a TI graphing calculator a cute device, and does it inspire fetishization and nostalgia? Sure, why not. However, it is not acceptable that high school students in 2013 are compelled to buy technological relics that are not relevant to their education.


Sorry. Let me try to make it relevant:

(1) I think it’s great to give kids general-purpose tools for unstructured hacking. There’s enormous pedagogical value for every person in learning to think procedurally, break things down into parts, debug algorithms, and explore mathematical systems. Every teacher should read Mindstorms.

(2) General purpose computers are nowadays really great for this, if the proper programming environments get set up on them. They have awesome screens for displaying neat graphics. They have reasonable keyboards for quickly typing in code and numbers and symbols. They have amazing CPUs and GPUs which can crunch numbers like nobody’s business.

(3) I think we should start kids programming at age 5-8 with a tool like Scratch or Logo or I dunno what, but something designed and tested on children, with good sets of materials and curricula set up to teach them to do exploratory programming.

(4) I think at some point students should be given tools which give them low-level access to hardware, like I dunno an Arduino or something. These things are getting to be $20-30 now, and it’s possible to use them for all sorts of nifty stuff and learn how to operate on constrained systems and twiddle bits in memory and whatever supposed advantage a TI calculator would offer, if that’s the goal.

(5) Many people don’t use tablet computers (or other computers) in math courses in school in a very pedagogically sound way, and a lot of software used in schools is terrible. (Giving access to open-ended exploratory systems is much better than giving access to one-purpose constrained tools.) This is too bad, because big color multitouch displays are really nice input/output devices for many purposes.

(6) It’s all well and good that the original author and many other people had a nice experience programming a TI calculator as a way to stave off boredom in math class, or whatever. But TI graphing calculators were overpriced and outdated and frankly pretty crappy relative to other devices people used 10 years ago, as long as we get the right software on those devices. By now it’s just ridiculous. Making people type BASIC into a calculator using tiny buttons and a little monochrome screen is not the right way to introduce mathematics, or programming, or anything else.


The 83 calculator was rugged, had great battery life, was programmable even in the simplest of ways, and basically kicked ass at its niche--remaining useful even through senior year of mechanical engineering at my college.

I'm sorry it's not sexy and shiny, but the thing represents an excellent optimization for price, durability, speed, and utility. The fact is that the 83 is basically the AK47 of the calculator world--ugly, old, outdated, and utterly fantastic at what it sets out to do.

You seem to overlook the fact that while we've got these great general-purpose tools for doing computation, the 83 is first and foremost a graphing calculator. It handles basic statistics quite well, handles graphing and intercepts okay, and as a bonus has a very simple and robust programming interface.

Raspberry Pis and Arduinos and OLPCs are cool and all, but in terms of just giving kids the basic tools they need to solve adult problems soonest, they fail.

EDIT:

I'm not saying I think they still need to be $100 a pop--a design refresh to get them down to more modest prices wouldn't hurt, but still.


(2) General purpose computers are nowadays really great for this, if the proper programming environments get set up on them. They have awesome screens for displaying neat graphics. They have reasonable keyboards for quickly typing in code and numbers and symbols. They have amazing CPUs and GPUs which can crunch numbers like nobody’s business.

This has never really not been the case. The merits of calculator programming have always been despite (or arguably, because) of their technical inferiority.


In response to point six, TI made it so you didn't have to type out "if" or "end" over and over; there are tokens for each of those calls, and remembering the number shortcuts in the menu is fairly easy. It is painful to only be able to read seven lines of code, sixteen characters apiece, at the same time, and the scrolling is horrible, but it does a pretty good job at what it's supposed to do. And there are plenty ways to extend or change the functionality of the calculator to make it easier to use and more customisable.


Regarding your 3), I think Python would be really good for this. Then they could graduate to C and lisp.

Also, I strongly agree with your 6). A small, monochrome screen was very painful to look at on my TI-83 when I was in school. I hated it (I also programmed it, but didn't have nearly as much fun as the author..I didn't think it was that cool).


Hacker News patriotism is out of place here.

There's nothing in the guidelines about what constitutes legitimate top comments. Hacker News uses a democratic system, where those who choose to vote dictate what the most visible comment is.

Your expectation is narrow and doesn't reflect what the vocal majority want to see, evidently. It would appear most people appreciated his comment, in which case, who are you to dictate that should and should not be the top comment?

If you want to read salient points about the article, make an excellent comment so it will be upvoted, or scroll down and read them. They're there.

EDIT: I'd ask that if you downvote me, you at least comment on why you disagree. It's not like my opinion is just going to go away, guys.


> I'd ask that if you downvote me, you at least comment on why you disagree. It's not like my opinion is just going to go away, guys.

I guess the democratic voting system you so valiantly defended bites back.


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.


Through 6 semester courses of high school mathematics, 10–11 semester courses of college pure/applied mathematics, 5 semester courses of college physics, and lots of other numerical problem solving, I never ran into a case where punching some complicated formulas or numbers into a graphing calculator during a lecture would have been useful, and never ran into a time when I wished I had a graphing calculator instead of a regular $10 scientific calculator or a laptop. YMMV.


I guess you never took Nuclear & Particle and had to type the SEMF into a calculator :)

I have my TI-89 Titanium next to me on my desk as I speak.

I used it a lot in Applied Physics. I used it during thermo, I used it during optics lab, I used it during electronics exams, I occasionally it during Linear Algebra, I used it during Physical Chemistry. I used it a lot during undergraduate lab.

I didn't use it in senior year Classical or E&M.

Sometimes I used my laptop (when I finally bought one 2 years in) for those things, but I'd end up remotely logging into another computer on campus and punching stuff in Maple when that was the case.

It was a speed thing. It's faster (and more explicit) than a scientific calculator, and accurate for what it is.


I'm a computer engineering student. I've taken physics, thermodynamics, electronics, linear algebra, etc.

I've never had a need for a TI-89. I inherited one from my brother and I've never used it. If I'm doing anything complicated I'll just use my laptop.


Well, I can remember the coefficients of the Fourier series being a real pain to calculate...


That'd be more salient argument if graphing calculators were used outside educational environments.


With a graphing calculator it's easy for students to do these things themselves without having to give them each a portable computer

Oh, the irony...


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.


My high school roommate bought a TI calculator keyboard to efficiently type in formulas/notes before exams - probably the best investment he made.

I remember programming a basic quadratic equation solver at the end of a math exam sophomore year, because I had extra time and had already checked the test once. I didn't find any mistakes, but I wrote out the code on the back of the test and got an extra credit point :).

I'm torn, because although TI calculators are pretty undeniably a sinkhole of innovation and unnecessary to most students, I loved (still love) mine so damn much. I'd rather have them update the system and their prices (which if anything have risen on the same models since I was in high school) than get them out of schools entirely. But maybe that's just nostalgia thinking for me.


>Come test day, though, I had programmed those formulas into a note on my TI 86.

So you cheated?


Yes. I comforted myself in saying I had come up with a creative solution for problem solving and that I was justified in rebelling against the teacher who assumed everyone was a finance major. But in essence, yeah. I cheated. And I passed.


Of course memorizing not sensible. That's why we have cheat sheets and/or standardized reference booklets. Practical, and more importantly fair to all students because they all have the same material available.


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).


Throw Codea on there and it's pretty good to play with.


You can take my TI-89 from my cold, dead hands.

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.

http://education.ti.com/kbase/C21770SS7.JPG

http://mathbits.com/MathBits/TINSection/PreCalc/piece4.gif


i don't agree with you.

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.


Then point them at a real CAS on a regular computer. As long as we're trying to teach them real-life math skills (we're talking about STEM people here, right?), a CAS is closer to what they'll need.


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.


The article also makes it sound like TI released the first graphing calculator in 1990. In fact, HP did that a full 3 years earlier.

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.


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.


The article talks about the difficulty in that. With the TI-8x series you could work directly on the device. With today's tablets you need a computer and developer licenses.


Then again we are talking about a device called a 'programmable calculator', you can't really compare it to an iPad.

It's funny how the barrier of entry to programming is higher now in some cases, but lower in others.

In the old days computers booted to BASIC. C compilers etc cost hundreds of dollars. Today's devices don't boot into BASIC but you can get a ton of programming environments and tools for nothing other than the cost of a download or copying a disk. Even to work with Apple devices you're only looking at $99/year (not counting $1,000 for the necessary Mac)

Maybe Apple should make some sort of student license where you can work with 1-5 devices but you can't publish on the store?


The first device that I wrote a program for was a TI-57, this was a couple of years before I learned BASIC, the idea that you can make something follow your instructions is important.


There's a pretty good IDE that runs directly on Android[1], though I still find programming much too painful to do on anything other than a PC (screen size, etc). For a kid that's just getting interested in stuff, something like that might be useful (or for anyone else doing small modifications). Might be a bit more difficult to find something equivalent for native development on iOS though.

I guess the difference is that one has to seek out the tools versus them coming preloaded on graphing calculators.

[1] https://play.google.com/store/apps/details?id=com.aide.ui&hl...


Or something like this: http://pythonforios.com

Which nicely replicates the feeling of laboriously typing in code you acquired from who-knows-where.


> With today's tablets you need a computer and developer licenses.

In a way, yes, but that depends on what level of meta you're thinking of. You couldn't "work directly" on the TI in the sense of altering or adding to the programming app itself (if we think of it in the sense of an app). In that sense, how hard would it be to create a TI-equivalent coding app (GoTo Labels and all!) that could run on today's tablets?


I miss this.

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?


IMO, this is a beautiful article.

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.


For anyone nostalgic about TI-BASIC, I implemented the 83/84 variant a while back: https://github.com/lunixbochs/pitybas

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.


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...)


So he thinks his Pop is on top of the stack?


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.

or can it be just nostalgia?


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...


How can we get iPads accepted as legit devices to use while taking tests?

Remove the ability to communicate, boot it to a standard image that doesn't allow cheats.


Someone will find a way if given the will and the time. Finding a way around imposed restrictions is much more for fun and the challenge than the actual cheating (mainly because the amount of effort involved in doing it means you know or end up learning the material in the process). 5th graders may not be as much of a worry, but students approaching and in high school would be. It might detour some, but not those with a more "hacker mentality."

Just for comparison, all of my Computer Science Exams were given on paper and this was all within the last 5-6 years. Why? Because given the ability to use a computer, someone would have found a way to get an advantage, probably more for the challenge than the actual cheating. This was at one of the top 5 largest universities in the United States as well, so there was no shortage of money or brainpower.


It sucks that googling for something counts as cheating, when really it's a skill that applies to about 90% of real life :-)


Last year I caught two students IM'ing during a final.

Most of my exams are open book, open note; so I am not unsympathetic to the realities of how a real job is[1].

[1] source: I used to have a real job.


I agree that "asking a friend" is not legit and would be cheating, but using google to find something is more like open book testing.

The closest thing I could think of would be to set the iPad into Guided Access mode where you can't exit an app at all, but having teachers do that to every kid's iPad would take a while...


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 :)

[0]: http://en.wikipedia.org/wiki/Texas_Instruments_TI-99/4A


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.


Graphic calculators are totally obsolete now.

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.


Never really had a graphing calculator when I was in school. Bought 92 Plus years later just to have a ultraportable "computer" for field work. LCD screen is starting to decay after years of use, so I picked up another in "mint" condition for $40 at a used book store.

Would love to take the old one and replace the screen and processor with something more modern, keeping the keyboard.


Is a graphing calculator really the most obvious way that a young and impressionable mind will find an inroads to programming in this day and age? I find that idea laughable. Tinkering on the web is the obvious modern-day equivalent that is completely neglected when talking about how hostile the modern environment is towards the young creative spirit.


It is easier to lug a graphing calculator around than a laptop, particularly in schools. I spent countless hours programming on my calculator while sitting in cars, hiding in the back pews at church, inside of tents during camping trips, sitting in the back row of classrooms,...

It was something I could do that caught my attention while forced to be someplace I had no interest in being. I don't think web development gets you that.


Oh, it completely does. My niece this year is required to have a laptop for school. She has to have a PC with her. Now, she has no interest or aptitude for programming, but if any of her classmates do, they can easily fire up a web browser and get to hacking, even without an Internet connection.


That is rather alien to me, but I am pretty certain it is not the norm (my old school-district, where my mother is still a teacher, certainly doesn't have anything like that). Even so, I doubt an English teacher would take kindly to her pulling out her laptop in the middle of class... I've had plenty of university professors that would freak out if you tried that.

(Also keep in mind, that for most of the time-periods when calculator hacking was popular, web development was also a thing (I was heavily into this stuff during the late 90s and very early 00's). I did that stuff in highschool but it simply didn't interest me in the same way. Calculators were limited, and that presented both a challenge and a goalpost. Doing the same stuff with webdev? That is mundane and discouraging because you know that, at an entry level, you are not exploring the bounds of the medium in any meaningful way..

It is like the difference between seeing how fast you can go down a hill on a skateboard, and how fast you can go on the highway with your mother's minivan. Rotate a few triangles with webgl... or optimize a trig table in z80 assembly....

When I came home at the end of the day, I would fire up my PC and started editing some z80 assembly on it instead of programming the computer itself. Hell, I would test on a calculator emulator running on the PC...)


Web development in the 90s and early 00s was not a practical substitute for learning how to program. Now, it is.

You make a claim that the low-level nature of the calculator programming was an enticement to you. That may be, but I would hestitate to generalize based on your own experiences. I would suspect that the ability to come up with something that actually does something conventionally interesting trumps the benefits of working close to the metal, ESPECIALLY with young, novice programmers. A few hours of hacking in assembler and you may get to hello world, whereas the same amount of effort in javascript might net you the ability to drag and drop objects around a UI. Which is more impressive to a kid?


> Web development in the 90s and early 00s was not a practical substitute for learning how to program.

Of course it was... many people did learn that way. If anything, it was more accessible then than now. Actually, 'substitute' nothing, something that is is not a substitute. That's not the point though, you could teach middle-schoolers to program with fucking Java if you wanted to, though of course you shouldn't.

Say you're a teenager and what to program "Snake". Are you going to get up off the ground with TI-BASIC or WebGL/whatever faster, and which is going to leave you more satisfied. On a calculator you have pushed something to its limits (in some limited way), with web-dev you have done nothing of the sort. Power and raw capability is not what you want from a teaching aid.

And to be clear, I am not arguing for a low-level next to the metal introduction to programming. (TI-BASIC is of course nothing of the sort.) I am arguing for giving children a pair of boots that fit, not a pair of boots suitable for industrial use. Something that they can properly fill out and master. Something with bounds that they can strive for and reach. Something that forces them to get clever when they reach those bounds.

If you think this is a bizarre concept, then look at Logo.


I bought the TI-85 dispite it being an older model because it had been hacked so I could program it in z80 assembler.


TI-86 can be programmed in asm without hacks (I had both 85 until it broke down and 86).


This must be an American thing.

All the exams I have ever written (grade 1 to post grad) specified graphing calculators are prohibited. Every last one. Graphing calculators tend to be programmable and/or can save text files & local educational institutions didn't want to go there.


Perhaps the author's arguments about the benefits of graphing calculators are legitimate, but there is no reason that this is specific to TI. TI 8* calculators seem to me to be particularly overpriced and lacking in modern features.


>> TI 8* calculators seem to me to be particularly overpriced and lacking in modern features.

It's something, which is better than nothing to a bored kid in math class. So many hours spent in study hall getting a dots to form patterns on the screen.


It was the first device I learned to program on. Part of that was probably the allure of how simple it was to get started on since the device did not give you a bunch of distracting features/apps by default. Amazing what you end up doing when you're bored in school and have the calculator manual with you (and a little "necessity is the mother of all invention" tossed in for apps related to solving equations and such for class).

Graphing calculators are nothing to scoff at, even if they're not considered "modern" by those that wished they had a fancy IPS LCD screen, 2GB of RAM and high powered ARM CPU.

Overpriced? Heck yeah. Overrated and obsolete? Only if one thinks they are.


I don't think he necessarily argued it is specific to TI, rather just used as an example. As someone who started first coding on a TI-83+, I have to agree. The ease of tinkering is not matched by lot of modern tech products.


Relevant XKCD: http://xkcd.com/768/


Do you know an alternative which is cheaper or has the missing features?


Perfect for the majority of student uses:

http://www.staples.com/Casio-FX-9750GII-Graphing-Calculator/...

Aside from playing Ti 8* games. I'm not sure what engineers need in a calculator so I can't comment on that, but in my use case (nearly a decade ago) I could have gotten one of these and been just fine. I got a TI83 because it was the standard issue.

In my own personal use (scientific calculators for hobbyist purposes) I've switched to Casios since they just have outright nicer displays than the selection of HPs and TIs at Fry's and they cost a bunch less.


Some random <$100 android device. Of course the software situation is not actually that great afaik, and the lack of hw keyboard bit sad. But you could add BT keyboard probably if you felt the need to.

http://www.pandawill.com/ippo-m8-a20-tablet-pc-8-inch-androi... just some example what you can get nowdays for 100 bucks


It's a shame that iPads are being pushed so heavily in the educational space. Apple products are built upon denying users access to learn about the hardware and software. Educators should be fighting against walled gardens.


For those interested www.ticalc.org is an incredible archive dedicated to these little computers.

I love TI calcs so much that the first app I install on a new phone are the TI calc emulators.


Shows how much we've declined. Kids nowadays use graphing calculators in JHS algebra. We had no calculators, and calculus in my JHS by the 10th grade.


What we really need is HyperCard for the iPad, ideally with a Parse-like service to let you easily write network code, not crappy TI-Basic.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: