I dropped out cause my teachers were atrocious. My algebra teacher couldn't explain why absolute value was a function, just that it was and we must learn it, period. Another teacher said "computers just use binary". When I pointed out I often saw hex, instead of pointing out why base 16 is a good fit for writing binary numbers, she just stammered that computers were just binary. Still my fault for giving up, but I had enough reason at the time.
All of the borderline-useless hazing you might have missed at a "top 50" school (one of the UC's):
- Java to MIPS asm compiler in both Java and C++
- Reimplement the major parts of OpenGL pipeline in C++
- Hack on MINIX 2.x kernel, reimplement some *NIX tools
- Gates up superscalar, pipelined, branch-predicting, microcoded integer CPU in VHDL and its own microcode language
- Caching HTTP/1.0 proxy server
- Interface various hardware to PICs, FPGAs and PALs
- Problem sets upon problem sets, ad infinitum
- Coed dorms where the doors are always open, but you won't have time for more than just hooking up
- Sleepless all-nighters (2-5 per week) and all the junk food your meal plan can afford (because you won't have time to cook)Those things you list seem relatively good, no? Making a microprocessor from gates while " just hooking up " sounds pretty near idyllic.
I suppose that's what happens when you have general teachers that don't really know maths or science, don't really feel that it's interesting and offers amazing ways to look at the world. In fact, I'd be surprised if she actually knew beyond what she was teaching. It's not like middle grade teachers have to take advanced courses, and they do have a wide workload.
A more modern notion of a function only really came about after the discovery of the fourier transform, where it turns out that functions like absolute value (and sillier things like the dirac delta) have a fourier transform, and, worse, some perfectly ordinary functions like sin have fourier transforms that come out as these weird things. Eventually (and, I suspect, partially because the tools of fourier analysis were so useful) people started treating "something that can be fourier transformed" almost as the definition of a function.
(The present set-theoretic definition of a function is even more recent; I would assume it comes from Russell/Hilbert/etc.'s efforts to give mathematics a formal foundation by expressing everything in terms of set theory)