Comment by Sohcahtoa82

Comment by Sohcahtoa82 2 months ago

15 replies

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

xp84 2 months ago

My Trig teacher, which was the class where I got my cherished TI-83+, had the exact same opinion of my little TI-Basic programs which worked the same way as yours.

I got an A in that class both semesters, which was better than the B I often got in Math (and a C- once in AlgII) because I hated doing homework. But starting on the program as soon as I grasped the concept and usually blasting through the homework with it by the end of the period meant an A was easily in my grasp.

That teacher was the best damn math teacher ever. He would work hard to help every last student get it, he'd gladly spend his whole lunch helping a kid if they needed it.

PS. I did share some of my programs, mostly with one girl, but she's a successful nurse today so I guess I didn't ruin her future :D

  • a_bonobo 2 months ago

    You should send that teacher an email today! They don't hear often from their past students

shagie 2 months ago

One 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 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 2 months ago

    The 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 2 months ago

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

      • dan-robertson 2 months ago

        Was the instruction really much more complex than eg some byte-string comparison instruction? For string comparison you’re doing a simpler operation at each step, and the accumulation is much simpler, but maybe you have short-circuiting too. POLY corresponds to the following C, I think:

          float poly(int d, float x, float *c) {
            c+=d;
            float y = *c;
            while(d--)
              y = *c-- + y * x;
            return y;
          }
        
        I also don’t see why you consider this to be the CISCiest instruction from an architecture that includes a substring-search instruction, a vaguely printf-like instruction with its own mini instruction set for the pattern strings it takes, and an instruction to do polynomial division in the ring of polynomials over F_2 (ok this is just CRC)
wwweston 2 months ago

The adult educator figures in 1958's _Danny Dunn and the Homework Machine_ had a pretty similar conclusion regarding automation as a demonstration of domain knowledge. The interesting thing is that this view is pretty rare when it comes to business domains.

  • jqgatsby 2 months ago

    oh wow, haven't heard anyone mention Danny Dunn in many years. My local library had the whole series and I think I read most of them, way back in the early 90s. I still remember Danny Dunn Invisible Boy and some of the others.

j45 2 months ago

You both are my people, haha. Did anyone build the connection cable?

sandworm101 2 months ago

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

Lol. So naïve. Half the point of programing and testing the software is so that you can then forget how to do the task yourself. I'd say that 90+% of the task-specific code I've written was for that I no longer remember how to do myself. Once upon a time I wrote a thing to calculate some of the specifics re water hammer effects in pipes. I still have the code but, for the life of me, I have totally forgotten the actual math.

sneak 2 months ago

Was this before or after you chose that username? :D

  • Sohcahtoa82 2 months ago

    Before, but not that long before.

    I started using this username in...I think 2002? Well, actually, I started using just "Sohcahtoa" then. Then I tried signing up for some service a few years later and "Sohcahtoa" was already taken, so decided to just add my birth year to it, since that was a pretty common thing to do at the time, and now I'm Sohcahtoa82 everywhere except on EFnet, where nicks are limited to 9 letters. Still Sohcahtoa there.