6 ms·
I have super fond memories of high school math classes. That calculator was my first introduction to programming. I’d take the time to write programs for each u
by cloin 2y ago
I have super fond memories of high school math classes. That calculator was my first introduction to programming. I’d take the time to write programs for each unit we covered so that I could just input the variables and quickly solve. I had to understand the concept before I could program it so I didn’t really think it was cheating. I did get nervous when SATs came up because I knew my calcs memory would be cleared. I remember my solution was to painstakingly recreate the memory cleared screen and pulled it up before the proctor came around in hopes that they’d assume they already cleared mine.
My programming didn’t improve much after high school but I’m still kind of proud of my not-totally-cheating cheating.
- bearjaws 2y agoI am in the same boat, I actually learned Pascal and Java in parallel to Algebra. Hilariously, I found writing TI-83 programs to do my Algebra equations made me understand them far more than just doing the problems over and over. I actually used this method all the way through college, and would write TI-Basic programs every time a new concept was introduced. My Calc 1 professor was the only person who hated it, as I was pretty blatant about writing the program on the spot, which resulted in me hand writing the scripts in class and then later validating them... Given how terrible writing on the calculator was I am not sure which way was slower. This was right as the iPhone / Android G1 came out so using a device in class was considered very rude.
- kjellsbells 2y agoI think this is essentially the same reasoning that Sussman et al give for using a computer to explain classical mechanics in their famous textbook (see [0]). By insisting that the student compute with the concepts, they assert that they will get a deeper understanding than if they just read a bunch of formulas. Hard to argue with that, to my mind, although the choice of Scheme as the language is a bit of a mind bender for newbies. [0] https://mitp-content-server.mit.edu/books/content/sectbyfn/books_pres_0/9579/sicm_edition_2.zip/book.html https://mitp-content-server.mit.edu/books/content/sectbyfn/b...)
- bearjaws 2y agoI learned from a friend that it's more defined now as Computational Thinking. I wish schools did more teaching in this way than what we have today. https://en.wikipedia.org/wiki/Computational_thinking https://en.wikipedia.org/wiki/Computational_thinking
- focusedone 2y agoSame! Also recreated the clear memory screen to protect all of that hard work. Initially I was giving the programs to friends. Math teacher caught me and I thought I was getting in trouble for it. Nope! She said 'Never give away your work like that. Make them pay for it.' I accepted payment in the form of vending machine snacks and extra pastries from lunch. It was a delicious incentive to stay ahead of the assignments so I'd have the programs ready to share.
- tomcam 2y agoNot exaggerating when I say your math teacher is one of the most enlightened I ever heard of. Fantastic story.
- ta1243 2y agoYet you are posting this on stacks and stacks of code written by people who gave their work away
- deleted 2y ago[deleted]
- recursive 2y agoThe math teacher didn't say "never use free stuff".
- actionfromafar 2y agoOn a money-making-machine-social-network, you mean.
- ta1243 2y agoLinux? Nginx/apache/whatever? libc? Firefox?
- actionfromafar 2y ago
- Sohcahtoa82 2y agoBack in my Algebra II class, while learning polynomial expansion, I write a program on my TI-85 that would not only solve the problem, but it would show the work, so I literally just had to copy its output verbatim and I got full credit. I showed it to my teacher and asked it if it would be considered cheating to use it on the test, and she said that if I knew the material so well that I could write a program that didn't just solve it, but showed the work, then clearly I knew the material so well that I'd ace the test even without the program, so I could go ahead and use it, just as long as I didn't share the program with my friends. I didn't have any friends (This was 1998 where being such a nerd was still looked down on), so it wasn't an issue.
- shagie 2y agoOne of the people I went to school with (several years ahead, his assembly class was on VAX rather than MIPS) had to write a program that solved a polynomial. As he was going through the tome that represented the CISC instruction set of a VAX system (long before easy search engines), he found POLY ( https://www.ece.lsu.edu/ee4720/doc/vax.pdf https://www.ece.lsu.edu/ee4720/doc/vax.pdf page 9-118). So, his program, instead of doing all the calculations was setting up a few registers, a large comment block that explained it, a call to POLY, and reading out the registers. He claimed to have gotten full credit and within a handful of semesters later the course was switched from CISC architectures to RISC.
- dan-robertson 2y agoThe instruction you refer to is for evaluating polynomials, not solving them, so I’m a bit confused by your claims. It is pretty common to evaluate polynomials as part of solving them (if you’re aiming for numeric solutions), but solving tends to also require: - some kind of root finding (note that methods like Newton–Raphson don’t work when zeros have multiplicity) - dividing polynomials by (X - a) after finding one root to find the next root
- PopePompus 2y agoThe POLY instruction was the CISCiest of the VAX instructions. One machine instruction could evaluate a polynomial. I think it could even handle the situation where fetching one of the coefficients caused a page fault. If you knew the VAX instruction set well, writing code in VAX assembly was almost as easy as using a higher level language.
- latexr 2y ago> I remember my solution was to painstakingly recreate the memory cleared screen and pulled it up before the proctor came around in hopes that they’d assume they already cleared mine. Did it work?
- Rhapso 2y agoIf you "archived" the program it wouldn't get wiped by a memory clear. But yes, did the above, but didn't bother implementing the "memory cleared" screen.
- Izkata 2y agoThere was also "group", I think it was called? You could select multiple things, including programs, to copy into archive memory - that way the original would still be there so they could see they deleted something, then you ungroup it later to restore it.
- macNchz 2y agoI did the same thing, implementing formulas we learned as interactive programs in TI-BASIC. I don't think I even tried to hide them or use them on tests or anything, but when I told my teacher at the time (2003-ish?) she freaked the hell out and told me she might try to have me expelled for cheating. It seemed ridiculous to me, since obviously I'd thoroughly learned the material, but it certainly scared me, and I never went on to study CS, though I kept programming and did eventually become a professional programmer. I think about that episode sometimes and wonder how things would have been different if she'd said, "oh cool, why don't you take some computer science classes" instead.
- ActorNightly 2y agoWhat they don't teach you in school is that kind of ingenuity is actually the way to get ahead in life.
- girvo 2y agoGood schools/teachers absolutely do, though. Mine did!
- II2II 2y agoIt's difficult to teach ingenuity for a variety of reasons. To give you an idea of what I mean: I used to maintain the content filter for a school. Students being students, they found all sorts of ways to get around it. I never took much issue with the students who found ways around it. They were exploring and learning. The issue was with the other students. The ones who just followed someone's instructions, never exploring and never learning. I would imagine that calculators are much the same. Programming them to answer questions is a great way to reinforce concepts. Copying the program off of someone else and finding ways to hide thee program is just plain cheating (of the system and themselves).
- AdamJacobMuller 2y agoIn high school, after getting my TI-83+, I also started to learn to program things. For tests, my teachers would force me to clear my memory (you're not fooling catholic nuns with a fake screen, she would take my calculator and clear it herself). But I got good at programming. I was so fast that I would just spend the first 30 minutes of a 1-hour test re-writing the programs and then spend 5 minutes completing the test and be excused to go to the computer lab for the remainder. Eventually I got so annoyed of typing things out on the TI-83+ keyboard, and as I progressed the programs got more complex, that I bought a TI-92 with a qwerty keyboard and would be able to write solvers the test in 5-10 minutes and fully solve a test in 5-10 minutes. I mostly did it so I could have more time in the computer lab. I still have those calculators too, I should see if they still work some day :)
- xp84 2y agoabsolute legend. I love that you just rewrote the programs during the test!
- deleted 2y ago[deleted]
- Jerrrrrrry 2y agoKolmogorov, turing, and church would be proud of you, as with anyone that did similar :')
- thot_experiment 2y agoI absolutely did this as well, though for the most part you could hardly call them "solvers", just tools to help me more effectively check a stack of educated guesses. IIRC a lot of the problems could be bounded well enough to brute force on my TI-83+.
- johnsutor 2y agoI remember there being a way where you could stash in memory even if the memory was cleared (my calc teacher used to clear memory before exams but I was able to retain some functions)
- deleted 2y ago[deleted]
- Izkata 2y ago> I had to understand the concept before I could program it so I didn’t really think it was cheating. I showed mine to my Calculus teacher and she let me use it because she had this same viewpoint, on the condition I never shared it with the other students.
- chainingsolid 2y agoMy intro to programing was a TI-83, while bored in algebra 2 freshman year... I had no almost help so I was just figuring it out. Ended up making a 90% implementation of 2048, and about 1/2 of chess. While only knowing if, goto, matrix indexing, and drawling indvidual pixels. I learned Java later so I could mod Minecraft, and now can't stand the limitations of TI Basic.
- wildzzz 2y agoTI basic was pretty frustrating. The best thing I made was a program to calculate default WEP keys for Verizon routers based on the SSID. Converting bases was only possible by recreating all alphabet strings and then indexing those and doing all the modulo math as well (at least it had that!). I hadn't gotten into any real languages at that point but was messing around with qbasic on a Win98 laptop at home so I was just starting to get comfortable with programming. While frustrating sometimes, the challenge of doing complex things with crude tools is pretty refreshing compared to nowadays where you can build an artificial intelligence in like 3 lines of code. For some of my personal projects, I make a point of avoiding any imports outside of built-in libraries if I can implement it good enough in less than an hour, kind of like "showing my work".
- 2OEH8eoCRo0 2y agoI did this on my TI Voyage 200 and I think that it's one of the reasons I suck at math today.
- scudsworth 2y agoi learned to program on computers, spent my effort installing games on the ti-84s instead of cheating on high school math (lmao), and i did not need to get scared of the sat proctor because he might clear the memory on my calculator