What the Next Generation Needs Is Math, Not Programming
statspotting.com
statspotting.com
Then we can focus on what area the person can best contribute in. Not everyone is going to suited for a job in programming or mathematics, or STEM as a whole.
There is this huge realization that computers and by extension reality does not care about what's in your head only what is. You can argue that Math has similar levels of precision, but once people start getting partial credit some of that harshness is lost.
That said, I don't think school should overly focus on directly useful skills or even what people studied in the past. How many lifetimes of highschool sudents where wasted learning how to identify and name Regular Polyhedra?
Don't get me wrong I think we could just teach LOGO or other pure educational language for a few months. The goal IMO should be critical thought not jobs. https://en.wikipedia.org/wiki/Logo_(programming_language)
She had a BA in Chemistry, not because she was good at it, but precisely because it wasn't a strength of hers. Her teachers had the opinion that if she "tough enough to major in her weakest subject, she'd be tough enough to weather whatever life threw at her". Considering her achievements later in life, I think there's some merit to those thoughts.
The ability to question everything you read, hear and learn in search of the truth (what is), or, most likely, of more accurate or useful representations of it, is not dependent of your math or even science knowledge.
At the end of the day, intellectual curiosity and a willingness to understand things are what you need to get ahead.
Math and science are, like it or not, the most effective tools we've cooked up to understand the world.
I'm a huge fan of "Your Money or Your Life" and by extension the Financial Integrity program, which advocates for people to rethink their relationship with money as well teaches people how to make income regardless of employment status.
What I don't think works so well is teaching everyone to be good at money management. Ignoring the other possible contributors to being very poor (culture, prejudice, whatever), there is undeniably a component due to intelligence. We should thus expect some portion of these very poor to be incapable of managing money, no matter how much they have, and a better policy would be to manage their money for them. This already happens for some mental hospital patients that are out in the real world but need support for medication and housing and food, and if you give them too much unrestricted money instead they'll just buy a PS4 or something else that's shiny and the money will be gone, they'll have to sell their PS4 in a few months to keep paying the rent, and then a while later they'll be evicted due to non-payment. Better to give them a smaller amount of unrestricted money on top of the other aid, but in my experience the same spending patterns emerge (that is, spending it all), very few save, or save beyond what is necessary for a particular shiny toy. There is also a disincentive from getting a job that pays too much income, because their benefits are based on income-received and can be taken away very quickly, but that's another issue. My point is that such individuality-invading money-management could probably be beneficial for more than just the mentally ill, but it will be immediately dismissed by people intelligent enough to manage their own money and who wouldn't be affected by this as nanny-statism.
I don't have any data on this, but it's my hunch about why there's so much economic resentment these days.
Depends if they work in a unionized industry.
"If you break your arm, what percentage of your income will be consumed by medical costs?"
In most industrial countries, including the US after the ACA, very little, because of health insurance.
"there's so much economic resentment these days."
That's inequality. When everyone around you is poor, except for a few rich folks you don't see often, it's not as big a deal. When you're constantly exposed to the things you don't/can't have, that can lead to resentment.
This goes back to your first sentence: "Although almost everyone is better off in material terms than they were two generations ago, I fear that the level of wealth required to live a "comfortable" life may have outpaced that increase."
In the US, Median Income peaked in the 1970's and has been flat. https://en.wikipedia.org/wiki/Household_income_in_the_United...
The poor (in the U.S. anyway) are relatively worse off than they were 2 generations ago - the bottom 50% have seen very little growth in income in 50 years, while the top 50% have grown a lot more. http://www.russellsage.org/sites/all/files/chartbook/Income%...
Not all countries are as bad as the US, particularly Canada or Europe, because they have strong redistribution systems (health and social insurance, etc.). But the trends aren't great.
Not if all your resources are sucked by insane rent / housing prices.
Work has never been easier in the US than it currently is. Record number of office workers, minimal number of farmers, factory workers, and manual labor in general.
If you're ok getting about the minimal wage for some gardening, or house cleaning, or trash removal, you probably have good chances (e.g. you'll outcompete an illegal Mexican immigrant by just knowing the language well).
Machines increasingly obviate jobs that don't require qualification. On one hand it is nice because humans need to do less and less dirty, mind-numbing jobs. OTOH being a traveling beatnik sucks more and more.
Several years ago I worked on a farm for a few months helping out a relative. It was exhausting work, but I found it much easier than some of the programming work I do as a living.
As for the people in the poor countries, they're getting richer because of this process, to an extent that the capitalists have to move their cheap labour manufacturing further and further - just see the trends in textile, for example. So it's all levelling, I would not worry about this particular aspect.
It will happen over time. Levelling is an unavoidable consequence of the globalisation.
> new types of software-enabled currency and exchange
Yes, this can be quite a game changer, may even remove the banks from the picture entirely, but, again, it all will need time.
Do other countries teach much about personal finance in High School or even College? I think this is one area that is lacking in US curriculum, at least when I graduated high school a decade ago. Sure I could budget a project but was I able to make informed and responsible financial decisions in my early/mid 20s?
Students need to know the burdens that student loans are going to put on them after school ends. Parents may not know or remember what it was like to be a college kid trying to make ends meet. I saw many kids take heavy loans to live somewhat comfortably. Once they got "adult jobs" they still cant make ends meet after graduation due to loan repayments.
Even the Silicon Valley startup crew tend to pivot wildly away from their "any one can make it" mentality once they start growing to "well, I want someone with a degree".
Hell, my current company is hiring a nightshift person and the main requirement seems to be "Linux knowledge, has a degree". This is a job which basically burns people out after a year guaranteed.
Student A:
Spends high school getting good grades and receiving an allowance from his parents.
Attends an expensive private school.
Takes out hefty loans to pay for school and the same standard of living he enjoyed with his parents.
Has little financial help from his parents who figure that the student loans cover everything.
Graduates with $70,000 in debt, unrealistic ideas about the standard of living he "needs", little understanding of how to manage his finances and plenty of fear to make him avoid the problem, and is unable to afford either that standard of living or his debt repayments.
Spirals into deep debt for many years.
Student B:
Works part time through high school and has money saved for tuition.
Takes out a small student loan to cover remaining expenses.
Continues to work weekends so has a small amount of cash flow.
Goes to a cheaper state university and gets used to the idea of living on rice and beans and keeping their clothes in milk crates.
Graduates with perhaps $10,000 in debt, a good handle on their finances, an inexpensive lifestyle, and a solid plan for paying off the debt within a few years.
Continues to wealth and prosperity.
How much poverty and bad decisions could be prevented if more students took route B instead of route A? Do you still think it doesn't matter if we teach them financial independence or not?
Pray to god that you and your children have long lives. Whatever comes afterwards , we can endure.
It's always been a mistake to believe math is somehow more noble than programming. Best explanation as to why comes from the preface of SICP by Abelson and Sussmann:
"Underlying our approach to this subject is our conviction that ``computer science'' is not a science and that its significance has little to do with computers. The computer revolution is a revolution in the way we think and in the way we express what we think. The essence of this change is the emergence of what might best be called procedural epistemology -- the study of the structure of knowledge from an imperative point of view, as opposed to the more declarative point of view taken by classical mathematical subjects. Mathematics provides a framework for dealing precisely with notions of ``what is.'' Computation provides a framework for dealing precisely with notions of ``how to.''"
Regarding the quote, it is a best a great oversimplification. Mathematicians have been interested in computation for a long time. See the Euclidean algorithm for example. Interestingly its computational complexity was worked out a hundred years before computer science was even considered a subject. Many great mathematicians like Gauss also had a keen interest in computation. A description of the fast Fourier transform was found in his notes after he died.
It is true that mathematical theorems have historically not been written from a computational point of view. But many many theorems can easily be turned into an algorithm (anything based on induction for example). Mathematics has many different subfields and the number of such constructive theorems varies based on the area. However, constructive arguments in mathematics are so pervasive that I think it is silly to even try and separate computation and mathematics as separate ways of thinking.
Sorry, that's at best an opinion, and at worst, bullshit. There little evidence of this. This article makes an assertion, provides a few anecdotes.
That's a very 1960's attitude. Change 'ditch digging' to 'mining', or 'engineering geology', and I'd agree.
"Besides, math literally is at the core of all of our advancements as humans, and is probably going to be the differentiator for people in the future--kind of like degreed versus not degreed today."
This is rather hilarious to me, considering I've taken a BMath program, which has had zero bearing on my work prospects. Helped me to think & learn, yes.
Math is certainly a component of many areas of advancement, and I believe a certain level of mathematical knowledge is required to be a productive knowledge worker. But to single it out as the core of our advancements is false.
For example, the greatest source of our improved economic equality and growth globally is improved productivity in managed industrial processes brought to light in various phases by Henry Ford, Fredrick Taylor, Taiichi Ohno & Sheigo Shingo, and Edwards Deming. Math, particularly statistical analysis, queuing theory, etc. is a part of all of that, but not the core insight, and not even required to understand and apply the approaches, methods.
Similarly, our greatest achievements in understanding macroeconomic systems come from fairly basic models like IS-LM that have stood the test of time. Advanced mathematical models of the economy, like Real Business Cycle theory have tried to fit reality to their maths, with disastrous policy results. Blind faith in advanced maths placed at the heart of the shadow banking system is what almost destroyed the world economy in 2008.
"It is far more universal than programming"
Philosophy is more universal than all of these topics, but I don't necessarily see it as requiring primary importance.
Math is traditionally one of several liberal arts, and not particularly central. There's also language & literature, history, psychology, science (in various sub-forms), art, music. I'd add systems engineering to this list as another key subject area that's been necessary for our advancement. All of which interact with each other, and all of which are are core to our advancement as humans.
Part of the advancement of technology is that fewer and fewer people actually understand how stuff works. What percentage of the population has any notion of how a computer works under the hood? How many people understand how our national power grid works? Our sewage system? Our cars? As our world gets more sophisticated, we specialize; we have to. Sure, there will be people who will have to know about eigenvectors tomorrow - but do we all? Not by a long shot.
Today we have enough technology that an engineer can build a soldier or a merchant (or a farmer or a sailor). We are all familiar with drones and vending machines.
It is important that an engineer not constrain his thinking though. Neither of these replacements does everything a human can do. Sometimes a soldier takes a bullet for a civilian and sometimes a merchant haggles and gives discounts to needy.
Even though these replacements are not perfect they still compete with humans for jobs. We are still a long way from creating a robot engineer. If you want a job that won't be replaced quickly think like an engineer.
We are also closer than ever but still a long way from having a robot doctor or lawyer and will likely be requiring humans for anything resembling a bedside manner or sympathy. Hopefully there will be jobs alongside these artificial replacements for human experts for some time.
In a world where very few know how some ubiquitous technology works, it's easy and cheap for some corp or govt to get a monopoly on that knowledge (just hire everyone). And with a monopoly on it, you can modify it to your liking and suddenly we're in a dystopian novel and nobody knows about it.
Yes, yes, tinfoil and all that. It's theoretical, but is it really that far off?
It was a dark and stormy night. The rain was coming down hard, and there was a good bit of wind. It was not a night you would want to be outside in. As I sat in my dry, warm, lighted apartment I got to thinking about how different life was compared to my distant cave dwelling ancestors.
If they wanted a drink of water, they had to leave their cave and go find running water. On a night like this, they would have to choose between thirst and going out in terrible weather.
In my apartment, I simply turn the handle on a faucet, and as much water as I want is instantly available. No need to leave the apartment when I get thirsty.
If I want to be in rain for some reason, such as to wash, I simply step into the shower and it will rain on my command, at whatever intensity I want, at whatever temperature I want. My ancestors would have to wait for rain, and accept whatever intensity and temperature that it happened to be.
If I get cold, I turn the thermostat up, and minutes later the temperature is to my liking. My ancestors would have to move around in their cave and hope to find a warmer spot, or build a fire and trade away clean air for some warmth.
If I want to do something that needs light and it is night out, I flip a switch and I have light. I can adjust the brightness to anything from just enough to get around to enough to do anything I can do in full sunlight. My cave dwelling ancestors would have to use fire for light at night, messing up the air of their cave and only partly lighting their home.
If I want to enjoy a gentle breeze, I turn on a fan. They had to go outside.
I then got to thinking about how if my ancestors could see me, they might think I was some kind of god as I summon running water, rain, wind, light at will, and control the temperature.
Then I realized that if they were put in my apartment and I in their cave, they would be able to do all that I can do after a couple minutes instruction...and I would have no idea how to actually make a fire.
I'm not a god compared to them. I just found a better cave.
Moral of the story: make sure understanding of relied-upon technologies is prioritized, lest they bite you in the rear later.
Tangential, but I'm starting to ask that question about developers. And it does get rather important when you have to debug their code because they can't.
For me Maths is boring. It's abstract and you don't have any interaction whereas programming is more fun for me. I never truly understood some of the physical and mathematical concepts I was taught in school and uni until I came across programming/software development problems that are solved with those and only then I realised how useful they can be.
After experiencing that I saw Math in a new light. I simply wish that my K-12 education was more directed to the applicability of many of the concepts we learned as I believe it would have made the subject not only much more approachable but enjoyable.
On my case, the tools provided by abstract math and CS (algorithms, data structures, calculus) allow me to think outside of the box and quickly adapt to any programming language.
I guess this is like understanding something better by explaining it to others. Just that this "other person" is a machine. It is also well-known that it even helps to explain it to your own, by writing it down. For example, PG noted that in the introduction of http://paulgraham.com/writing44.html
If children gain those skills by the time they are adults, they can correct any faults in their educational paths.
In my university, this is what separates the good CS grads from the bad. You have no idea how many students expect the professor to hold their hand through a lab or project and are unable/refuse to learn on their own through Google, the textbook, or the official documentation.
While mathematics is important to computer programming, for most practical purposes it is of limited utility unless you are inventing new computer science. Knowing how to use a relational databases correctly requires no formal set theory. Understanding how to build a massively parallel relational databases requires understanding the topological equivalents of relational operators, which is much more mathematical, but very few programmers design or build parallel databases.
As far as better languages for math, you'll enjoy this article + HN discussion: https://news.ycombinator.com/item?id=9572426
Mathematics is not unencumbered by the real world. It's just highly focused on specific classes of encumbrance. (If I put two marbles in an empty sack and poured out three, you can bet mathematicians would be interested in this new kind of arithmetical behavior, and try to model and explain it. Though talking to mathematicians, I get the impression they are so far up in the ivory tower, they think it isn't connected to the ground at the bottom!)
Our programs are not easily factorable. It is hard to separate different interactions across different problem domains. That's a problem of the language, not of the 'purity' of the program. Well, arguably. You could see it the other way, too, I guess.
Very true, I guess. But the other way around, someone who has used relational databases, will immediately understand formal set theory and find it absolutely trivial. Another example would be regular expressions. Anybody who has ever used them will immediately recognize what Kleene's closure is about and effortlessly deal with it. I think that this is generally the case. If you first solve problems with tools that embody a particular theorem, and if later on you read up on that theorem, you will find that theorem trivially simple. In other words, math and computer science are only hard, when you have never used them. Since formal education does things systematically in the wrong order, students tend to consider math and computer science to be hard.
To then try and teach students first from the most "pulled away" concept possible to only in the very end try and meet them in the real world - I just never understood that approach. Like you said, the government curricula prescribe an approach that is backwards to what makes sense.
In Plato's Meno dialog, Socrates teaches a kid the abstraction called "irrational numbers" by having the kid draw triangles on the sand and then try and find the square root of 2. By playing with a concrete example (sqrt(2)) the kid learned the abstraction (that there are numbers that can't be shown as a fraction).
This backwards way of thinking we're stuck with today is so pervasive that one approach I was developing to teach monads - by first writing each instance separately and then later "pulling away" to try and see the bigger picture - was recently excoriated in the Haskell IRC channel for not teaching the actual abstraction.
The path is not the destination. You can't pull away (abstract) from nothing.
This is simply not true, you may understand the very basics of it, but by no means you will understand set theory and much less find it trval by just using relational databases.
However, formal methods and semantically formal languages are rarely used to arrive at the solution. Our mainstream programming languages are difficult to reason about semantically. The formality is mostly relegated to the grammar/syntax. Formal languages and methods might be used in rare cases to validate a solution after it was specified by other means. But those other means are usually a combination of art, engineering and a high-level imperative language.
Any programming language that ever existed is a formal language. No matter how clumsy it is, it is always formal, otherwise it won't be possible to execute it. Even those stochastic languages are formal as well.
Programming languages involved both syntax and semantics. Formal languages are concerned predominantly with syntax. Most programming languages do not have complete formal semantics grounded in logic. Pieces, sure. Most programming languages are a goulash of various formalisms mixed up with notions of aesthetics and mechanism.
Also, we're confusing code (which I agree is a mathematical construct, among other things), and a practice, programming. Almost no one programming is thinking purely in terms of mathematical logic. They're thinking about aesthetics, engineering constraints, user experience, timelines, procedures, libraries, version control, type systems, etc.
No. I'm using a broader notion of a formal language. Algebra, for example, is a formal language. One of the ways of defining a formal language is: "anything that can be strictly defined as a term rewriting system", and all the programming languages are fitting.
> Most programming languages do not have complete formal semantics grounded in logic.
They always do, otherwise their execution won't be deterministic.
A programming language implementation + semantics of the hardware and runtime library = semantics of a formal language.
> They're thinking about aesthetics, engineering constraints, user experience, timelines, procedures, libraries, version control, type systems, etc.
This is exactly how problems are solved in mathematics too.
I didn't know SQL allows for infinite sets. In fact, most commonly used subset of SQL is non-Turing complete and decidable, while ZF is not decidable.
This is not true. Only a subset is stated by Curry-Howard correspondence.
tl;dr of my point: we know dangerously more about technology than about people, their needs as individuals and their needs as a society. Somewhere along the line we should stop throwing technology at people just because we can, and start to focus on the right solutions - technological or not - to real problems.
Regarding the need for a good grasp of statistics in social scientists, I fully agree. But I think it's something that already exists, up to a point at least. I work in software development with many software engineers around, but I also did a PhD with a strong social sciences background. You would be amazed with how much the guys with psychology backgrounds know about stats and methodology (and how much the common STEM guy doesn't).
Currently "social studies" in school is a bit of a trash bucket into which gets thrown every personal ideology and pet project that some teacher got her feminism or social work or grievance-studies BA in. It's the worst subject in most curricula, even worse than English. The problem is there's plenty of those nonsense degree holders and far too few college graduates who have studied the humanities.
Those are, despite the "social studies" stigma they might carry, real substantive disciplines which should not only contribute but predominantly shape the technological products and services we build.
Race/ethnic/gender/subculture (what you seem to call "grievance") studies are humanities (academic disciplines that study human culture) not sciences (soft or otherwise.)
History, Philosophy and Civics are still in their pristine condition.
However, psychology, sociology, economics, anthropology and especially communication have been systematically taken over, and have demanded self-censorship of those fields. When a field self-censors it can no longer be considered to be doing intellectually honest work. So they are dismissed as not Science.
You don't consider sociologists to be the least bit concerned about human cultures and experiences?
The most interesting and potentially enlightening experiments are also probably illegal.
That's why it's hard.
And you ALSO need a branch of mathematics, called statistics, and probably many more. You can't simply pour lots of money into it without any hard science and expect useful results.
tl;dr: it's not about quantity, it's about quality and the political landmine of social sciences.
I fully agree with your points. However, regarding this one in particular, I would like to add that this shouldn't stop the harnessing of already existing knowledge in the social sciences to better shape the products we build.
I mean, you're totally right; there's a lot of knowledge "locked" in the difficulties related to studying humans. However, we know some stuff about people and their behaviour. A relevant amount of stuff I would say. And that stuff isn't being applied when we create a technical solution to a human problem; the solution is almost solely defined by technical aspects. We don't know much, but we know enough to do better than what we do with technology today, human-wise.
(At least, better than defining "UX work" as pixel-pushing in Photoshop or Illustrator)
It did not used to be that way. It started to change after WW2 and even stronger after 1967. Social "sciences" were made political because a group of radical influential thinkers were interested in furthering studies that would disprove the role of genetics, biology and darwinism in social studies. Before this shift, social studies were not politicized.
Management thinks that they're the real movers and shakers , having to take all the risk , make all the tough decisions , while having to deliver results while being saddled with sometimes recalcitrant and inefficient teams.
Mathematicians feel that they are the ones at the vanguard of progress and are angered by the fact that people have the temerity to say that they don't "get" math or have any use for it in real life.
Though Delmania's comment skirts dangerously close to what pg might call a "middlebrow dismissal" , he makes a very important point. Our increasingly unequal economy and limited opportunities are forcing us to increasingly push ourselves harder and into a fierce cycle of competition that is destroying us.
Some lessons in Humility , Resilience and Self acceptance would do us a world of good.
It is by far easier to imagine something than it is to make that imagination real.
It is by far easier to tell someone what to do then it is to do it.
Management is by far easier than engineering.
Management, however, is still a dramatically different skill than engineering, and it is a skill that is important.
Only if you don't care whether it gets done, and if it gets done well. Otherwise, it's far easier to just do it, and not rely on the known unreliable "other people".
Problem is that a big share of management in fact don't care about those things, and only manage the political game. But don't let that mislead you, actual management is hard, quite on par with engineering.
> [I]ntelligent analysis of large scale data is the future. And for that future, what you need is Math, not Programming.
I don't agree; intelligent analysis of data probably requires the combination of a large number of cases, stitched together with some hacks. And a principal Eigenvector or two buried in there in some supporting role.
:)
I can't see programming education faring better, especially considering that the emphasis is on "code". This is a horrible thing to put at the forefront, because it limits your view to the particular set of language constructs you use as opposed to broader properties of computer systems and computation. It is best to start by a rundown of high-level computer architecture (von Neumann and Harvard) so as to understand basic machine instructions and types, progressing into OS fundamentals (something like The Design and Implementation of the FreeBSD Operating System, though condensed), then briefly into compiler construction and language VMs, onto practical usage of a CLI shell, the various ways of representing resources and IPC, data structures and how to use them in forming basic services (like a message/event broker bus or publish-subscribe with named pipes and the file system under a standard interface/toolkit), build systems and so forth. Ideas and concepts with code on the side.
Obviously these are rushed examples, but the point is that code-centric computing education in public schools will probably backfire by creating people with just enough knowledge to have extremely warped views of software. Unless your goal is to turn kids into ALGOL monkeys who can't see beyond the mnemonics, I suppose.
You might say this would be too complex for public schools to implement. I agree, which is why it should stay out. Do it right or don't at all. Bashing out Java code alone is nowhere near as relevant as some people seem to think it is.
John Carmack's 2012 QuakeCon speech is almost a direct rebuke: https://blogs.uw.edu/ajko/2012/08/22/john-carmack-discusses-...
In reality in computer science, just about the only thing that’s really science is when you’re talking about algorithms. And optimization is an engineering. But those don’t actually occupy that much of the total time spent programming. You know, we have a few programmers that spend a lot of time on optimizing and some of the selecting of algorithms on there, but 90% of the programmers are doing programming work to make things happen. And when I start to look at what’s really happening in all of these, there really is no science and engineering and objectivity to most of these tasks. You know, one of the programmers actually says that he does a lot of monkey programming—you know beating on things and making stuff happen. And I, you know we like to think that we can be smart engineers about this, that there are objective ways to make good software, but as I’ve been looking at this more and more, it’s been striking to me how much that really isn’t the case.
Aside from these that we can measure, that we can measure and reproduce, which is the essence of science to be able to measure something, reproduce it, make an estimation and test that, and we get that on optimization and algorithms there, but everything else that we do, really has nothing to do with that. It’s about social interactions between the programmers or even between yourself spread over time.
"Conventional programming languages are growing ever more enormous, but not stronger. Inherent defects at the most basic level cause them to be both fat and weak [...] inability to effectively use powerful combining forms [...] lack of useful mathematical properties for reasoning about programs." [0]
It goes without saying that mathematics is at the root of computer science, but we've gotten so far away from those roots, which is why we're reaching the upper bounds of complexity that can be foisted upon our old, broken way of thinking. Time to go back to basics.
[0] https://web.stanford.edu/class/cs242/readings/backus.pdf
There is great advantage in re-using the work of others, but in order to advance the frontiers of knowledge people truly need to understand the underlying assumptions and mathematics.
In traditional Computer Science there is already a focus on both of these areas. The question I wonder is more, "Does the degree prepare us for either of these areas?"
In the area of programming I believe the answer is a resounding NO. Most students coming out of a 4 year CS program aren't ready to be programmers. They've been taught a bunch of theory and fundamentals, but they haven't spent time applying them on real problems at scale. Within the classroom setting the fundamentals are applied to trivial problems that can fit into the constraints of a classroom setting.
Like many programmers, my career path (until recently), has kept me pretty far away from the math; so I don't think I can say for sure that the same is true here, but I suspect it is.
I have argued for a long time that much like a doctor goes through a residency program, something similar should be required of computer science degrees. At least a couple of years of the program should include students working together with experienced professionals building real systems that are attempting to solve difficult problems.
Sure, but like I said, with a Mathematics degree you can self-study and get an intro-level position pretty quickly.
Otherwise, I guess you can go to grad school or become a teacher? Or, certain types of software developers get to do interesting math as well.
> Or, certain types of software developers get to do interesting math as well.
Yes! But sadly, those type of positions are rarely advertised - well, you could say that Quants and Data Scientists are some kind of software developers as well, but the maths needed in other fields are kept very secret.
Now, I am not looking for a job at the moment - I graduated in 2006 and am working on my own thing now (maths related) - but I was just lamenting that people complain that more mathematicians are needed without providing concrete jobs for them.
From 50,000 feet up, we take in data, maybe already have some other data, manipulate all that data, and get results we want to be powerful, valuable, etc.
This little process is more important now because computers let us do much more in the data manipulations.
That said, there is a remaining question: What manipulations should we have the computers do?
Shockingly often in the past, we understood the manipulations well enough to program them because we were largely just programming what we had done or in principle knew how to do just manually.
But, as we have programmed more of what we knew how to do manually, we will want more powerful, valuable manipulations.
Well, often the best approach to more powerful, valuable manipulations will be via mathematics. There, we can look at reality, see some situations or properties that appear to hold, let those be assumptions for some mathematics, that is, hypotheses for some theorems, proceed with theorems and proofs, get some mathematical results, and use those to say what manipulations to do.
E.g.: (1) Statistical hypothesis tests. (2) Systems of ordinary differential equations as growth models. E.g., what would happen if we released 1000 healthy US bobcats into the outback of Australia? (3) For real time local delivery, which vehicle takes the next order that comes in so that we can meet promises to customers and minimize expected delivery cost? (4) Pick a part of the ocean, drill a lot of oil wells; now, what should the sea floor oil pipeline network look like to carry the oil to where we want it meeting safety standards and minimizing cost, e.g., expected net present value over the life of the oil wells? There are many more such.
For such problems, data manipulations from theorems and proofs, sometimes new, can knock the socks off any other approach, e.g., intuitive heuristics.
That's some of the future of math, especially in what gets programmed.
In the same way that students were offered home-ec and shop in previous generations, to learn the real-world applications of their "cerebral" subjects, are we not teaching programming today as the real world application of mathematics?
Eigenvectors, great. But what can I do with them? Now, software that uses those eigenvectors to control the motions of a robot, that's something kids can get excited about, and can turn into a career (not to suggest pure math can't lead to careers, but the combination of the two opens up more careers).
I don't mean to say that practical applications are not inspiring, rather that the good intentions are misguided when they imply that very young students aren't capable of abstract thought or ever motivated by purely intellectual subjects. Becoming an engaging teacher of theory may not even be attainable to as many people as who are able to encourage a student through a practical demonstration, but that is different from children not being receptive to both.
This is total BS. Even in the present day, most programmers can survive their entire career without knowing this.
The focus should be making sure everybody can understand the math, and especially statistics, they are presented with everyday.