Shriram Krishnamurthi of Brown University already accomplished this and gave a great talk about the problems of creating a new course, when you can just shove it into the existing math classes without needing to hire thousands of specialist teachers or worry about yet another mandatory class where schools reduce the rigor, or worry about students not even being able to take the class because they are in remedial classes and never even make it to a computational elective https://youtu.be/5c0BvOlR5gs
> when you can just shove it into the existing math classes
This is how it's already done in the UK, and has been for decades. When I was in high-school (or rather the UK equivalent) about twenty years ago we did discrete maths, algorithms, and data structures in the regular maths classes. I don't think computers were even mentioned - it was all described as maths topics.
And this was a bog-standard state school.
So when I want to university interviews I was already able to describe for example how to implement a hash table.
I’m thankful every day for getting into programming early enough to know that the adults saying “programming is like math” were full of shit. No career could be less appealing than cranking arithmetic, polynomials, integrals, and derivatives for 8 hours day in and day out, which is of course what “math” means when you’re in K12. If it were introduced to me in that context and by teachers with that mindset, I wouldn’t be here.
> which is of course what “math” means when you’re in K12
But you have it backwards. When programming is introduced as maths people see how maths is more than ‘ arithmetic, polynomials, integrals, and derivatives’.
After well into getting programming, I finally started appreciating the phrase "programming is like math" - part of it was me learning more about programming and computer science, but most of it was because I realized that what we call "math" isn't all of math, and there's a wealth of interesting computational topics in math that doesn't fit the standard school curriculum thing.
Maybe it's just semantics, but I think our common perception of math is too narrow.
well the parent doesn't make programming be like math, but extends math into programming. i didn't have that experience in my school but i can imagine that it would make math actually more interesting for some. otherwise you are right of course. programming is very different from regular K12 math.
Within mathematics, the 'D' (e.g. D1) modules are 'discrete' at A level, and are mostly (basic) graph theory/algorithms.
Cf. 'S' (Statistics), 'M' (Mechanics, i.e. mathematics of physics), 'C' (Core), and 'FP' (Further Pure).
You're right that Computer Science/Computing is separate, but it's not a particularly common and certainly not a required choice for people pursuing CS, many view it as unworthwhile/a joke either in advance or retrospect.
Certainly when I went through they'd far rather you took as much mathematics as possible (which can be three full A levels - Mathematics/Further/Additional if you take all of the modules) followed by sciences. A faculty member at Cambridge expressed an explicit preference for Latin over Computing at A level.
I was required to take CS107 in school, you couldn't test out of it. It was taught by a chemistry professor.
He knew nothing about programming except that he thought it was cool, and often taught us a lot of incorrect information. Being a jackass 18-year-old, I corrected him on all of this. I got 100% on every lab, assignment, and exam... and got a B in the class ("participation!").
It was about this time that I realized college might not be the thing for me.
> It was about this time that I realized college might not be the thing for me.
Frequently, there are higher caliber instructors in colleges than high schools. If your goal is to learn something you don't know, you may have made the wrong choice.
I will also say that I went to a good high school (IMSA) and a mediocre university (UIC). High school prepared me to be very bored in college. I had already taken calculus through "multi-variable calculus", number theory, 4 years of Japanese (including living for a year in Japan), physics, organic chemistry, learned 4 programming languages, wrote a tiny OS, etc. Most of college was just rehashing all this again, and then in your fourth year you get to learn new stuff. I wasn't willing to be bored for 3 years so that I could spend one year learning new things, so just quit. It helped that I found a security vulnerability in the school's registration system as part of that MCS494 class (100% sanctioned by the professor) and they decided that was a violating of their computer use agreement, so I was no longer allowed to use any computer systems, including the registration system. I am sure I could have fought it, but I decided it was a waste of time and got a job instead.
15 years later... I wrote a book, I've taught classes, I worked at Google for 6 years... so I am not sure I missed out on much. I would never tell anyone else not to pursue higher education, but it wasn't my thing. If I'm interested in something, I can spend a week teaching it to myself. Not everyone is like that, so college is great for them.
Sounds like you were ready to start some graduate courses and research in those areas rather than rehashing undergraduate material that you had already mastered. Graduate courses and research can be pretty interesting and rewarding.
Or perhaps ready to investigate some other subjects. For me many of the most beneficial and interesting courses and learning experiences are far afield from my primary work areas.
It varies my first year Computing teacher at high school (15) was very good but she left and a maths teacher took over but by that point I was learning faster from books than he was.
But because I was in the lower stream CSE (the exams for those supposed to leave at 16) they wouldn't let me take Computing at A level - even though I scored the max level in computing and maths.
In college, commonly can encounter junk. The best in college can be terrific stuff, much more difficult to get elsewhere.
In college:
(1) You will be around people, both students and teachers, who are in college instead of a public high school. On average those people will be in intellectual maturity several steps up from public high school and will help you raise your game in intellectual maturity, e.g., develop a good sense of quality and direction in intellectual travels, how to read a road map of the intellectual landscape -- stay with the good stuff and avoid bad turns and swamps.
(2) From (1), you will meet such people, and they can change your life.
E.g., there was a guy in middle school who got a Christmas present of a simple radio receiver kit. His family knew nothing about elementary electronics, but next door was a retired radio engineer. In a few years, the guy had his first class commercial broadcasting license, a really good ham radio transmitter in a shack out back, and each summer was the part-time, fill-in transmitter engineer for local TV stations -- three summers, each of the three TV stations. He met a guy with a family fortune interested in the music business and wanted a recording studio. The radio guy helped out.
I met the radio guy in freshman physics in college. On the first test there were four questions, and I got all four. The best of anyone else in the class got was two. The prof called three right answers 100%, so I got 133%. Got 100% on the rest. So, I led the class. In particular, I beat the radio guy.
When I was out of college, Dad was working at the Pentagon, and I found a job near there in physics, applied math, and computing, and my career improved quickly. Soon my annual salary was six times the cost of a new, high end Camaro.
I got a phone call from the radio guy I'd known in college. He flew to DC, and we talked in vague, hush-hush terms about transportation. He wanted the name of a transportation consulting firm, and I gave him a name I'd heard but knew nothing more about.
A year to two later, he asked me to come to Memphis. He sent me an airline ticket. He met me at the Memphis airport; it turned that he had a pilot's license and had a private plane he shared with the recording studio guy, and he flew us to Little Rock, Arkansas and to an office in the First National Bank building there.
I learned about a startup to do US nationwide, over-night, high-priority, small package delivery. Long Lady Van de Geld could go shopping downtown, charge to her account, and ask for delivery. That evening UPS gathered all those packages from all those stores, did a central hub sort for the city, and the next day did the deliveries.
So, yes, there in Little Rock was the start of Federal Express, now known as FedEx. The recording studio guy was Frederick W. Smith, founder, CEO, COB. His idea was much like that of UPS but to use a 500 MPH truck and do the central hub sort for the US in Memphis. For his offices, airplane maintenance, and hub sort, he had leased some land on the Memphis airport with some old WWII aircraft hanger space.
For his 500 MPH trucks, Smith had started with a popular business jet, the Dassault Fanjet Falcon DA-20, maximum gross takeoff weight of 28,660 pounds and maximum cargo weight of 6000 pounds. The plane was from France, especially rugged, with US electronics and engines. Smith had worked out an FAA approved modification of the Falcon to carry cargo. Smith had several of the Falcons and buying more.
One afternoon, Smith tried scheduling his fleet, for an initial IIRC 11 planes but also for his planned 33 planes covering 90 major US cities. When the afternoon was over, he walked out of his office tired and frustrated and announced "we need a computer". The radio guy, then, called me. I got flown to Little Rock to see about scheduling the fleet.
I joined FedEx. I had been consulting in applied math and computing at Georgetown University and teaching computer science, gave up the consulting, continued the teaching, got a time-sharing terminal to an IBM VM/CMS (then CP67/CMS -- right, likely the first good virtual machine) system, and called the local IBM office for the full set of IBM manuals on PL/I (I'd been using there in DC). Soon an IBM Marketing Representative hand delivered the PL/I documentation and was all ears on what new company could want PL/I documentation? Six weeks later I was done with the teaching and the software for scheduling the fleet and drove my high end Camaro to Memphis. [Only for car guys -- 396 cubic inches and a 2.56:1 rear axle ratio, really good for fast travel on the Interstates from DC to Memphis.]
Some Members of the FedEx BoD had a lot of airline experience and were concerned about the fleet scheduling problem. Crucial funding was in question.
One evening another guy and I used my software to schedule the fleet for the full planned 33 planes and 90 US cities. Copies of the schedule were passed around, and two representatives of BoD Member General Dynamics went over the schedule in detail and announced "It's a little tight in a few places, but it's flyable." At a senior staff meeting, Smith's reaction was "Solved the most important problem facing the start of Federal Express.".
A few months later the BoD was concerned again, this time about revenue projections. We knew the current revenue and what we had in mind, call it b dollars a day, for the full service with 33 planes. So the projections were in a sense an interpolation between those two. I At each time t, in days, let the revenue be y(t) and assume the growth rate is directly proportional to the current number of customers (or revenue y(t)) using, and, hence, generating publicity about the service, and also directly proportional to the number of target customers (b - y(t)) not yet served but hearing about FedEx via the people already using the service, that is, word of mouth advertising (e.g., maybe receiving packages from FedEx, virality). Then for some constant of proportionality we have
d/dt y(t) = y'(t) = k y(t) (b - y(t))
a first order, linear, constant coefficient, ordinary differential equation initial value problem with a closed form solution essentially the classic lazy 'S' logistics curve. We picked a good looking value of k, and drew a graph. The BoD was happy again, and I was Director of Operations Research with my office next to Smith's.
The promised stock was late; my wife was still in DC in her Ph.D. program, and I wanted something for my financial security no one could take away from me, either stock in FedEx or a Ph.D. With the stock late and my wife in DC, I left FedEx and got a Ph.D.
Lesson: Even if know a lot of good, useful stuff, it STILL can be from important to crucial "who you know", and one of the best places to meet such people is in college.
(3) At times college can teach you useful stuff much more difficult to get elsewhere. And college can give you a good start, road map of the knowledge landscape, tough to get elsewhere, that can let you learn more WITHOUT lots of bad turns and wasted time from a poor road map.
From such a road map, I did quite a lot before my Ph.D.: I entered with a dissertation problem in mind and with a good, first intuitive solution. On the five Ph.D. qualifying exams, I did the best in the class on four of them, and for three of those the success was from what I'd learned on college or taught myself from the road map. In my first year in grad school, from some good coursework, SUPER tough to get otherwise, in the summer I was able independently to complete my research for my Ph.D. except for the illustrative computing. Later I did the computing, typed in the dissertation, stood for my oral exam, and graduated.
Lesson: A good road map for independent study can be crucial. Otherwise can waste much of a career in just bad turns in the landscape.
Summary: It can be (A) how you matured intellectually in the environment of college, (B) WHAT you know from college or independent study from following a road map you got in college, and (C) WHO you know, and maybe met in college.
Net, college is not always a nice place, but the best of it can be pretty good.