Corante

About this Author
DBL%20Hendrix%20small.png College chemistry, 1983

Derek Lowe The 2002 Model

Dbl%20new%20portrait%20B%26W.png After 10 years of blogging. . .

Derek Lowe, an Arkansan by birth, got his BA from Hendrix College and his PhD in organic chemistry from Duke before spending time in Germany on a Humboldt Fellowship on his post-doc. He's worked for several major pharmaceutical companies since 1989 on drug discovery projects against schizophrenia, Alzheimer's, diabetes, osteoporosis and other diseases. To contact Derek email him directly: derekb.lowe@gmail.com Twitter: Dereklowe

Chemistry and Drug Data: Drugbank
Emolecules
ChemSpider
Chempedia Lab
Synthetic Pages
Organic Chemistry Portal
PubChem
Not Voodoo
DailyMed
Druglib
Clinicaltrials.gov

Chemistry and Pharma Blogs:
Org Prep Daily
The Haystack
Kilomentor
A New Merck, Reviewed
Liberal Arts Chemistry
Electron Pusher
All Things Metathesis
C&E News Blogs
Chemiotics II
Chemical Space
Noel O'Blog
In Vivo Blog
Terra Sigilatta
BBSRC/Douglas Kell
ChemBark
Realizations in Biostatistics
Chemjobber
Pharmalot
ChemSpider Blog
Pharmagossip
Med-Chemist
Organic Chem - Education & Industry
Pharma Strategy Blog
No Name No Slogan
Practical Fragments
SimBioSys
The Curious Wavefunction
Natural Product Man
Fragment Literature
Chemistry World Blog
Synthetic Nature
Chemistry Blog
Synthesizing Ideas
Business|Bytes|Genes|Molecules
Eye on FDA
Chemical Forums
Depth-First
Symyx Blog
Sceptical Chymist
Lamentations on Chemistry
Computational Organic Chemistry
Mining Drugs
Henry Rzepa


Science Blogs and News:
Bad Science
The Loom
Uncertain Principles
Fierce Biotech
Blogs for Industry
Omics! Omics!
Young Female Scientist
Notional Slurry
Nobel Intent
SciTech Daily
Science Blog
FuturePundit
Aetiology
Gene Expression (I)
Gene Expression (II)
Sciencebase
Pharyngula
Adventures in Ethics and Science
Transterrestrial Musings
Slashdot Science
Cosmic Variance
Biology News Net


Medical Blogs
DB's Medical Rants
Science-Based Medicine
GruntDoc
Respectful Insolence
Diabetes Mine


Economics and Business
Marginal Revolution
The Volokh Conspiracy
Knowledge Problem


Politics / Current Events
Virginia Postrel
Instapundit
Belmont Club
Mickey Kaus


Belles Lettres
Uncouth Reflections
Arts and Letters Daily
In the Pipeline: Don't miss Derek Lowe's excellent commentary on drug discovery and the pharma industry in general at In the Pipeline

In the Pipeline

« Varieties of Scientific Deception | Main | The GSK-China Situation Gets Even Weirder »

June 30, 2014

Don't Learn to Science?

Email This Entry

Posted by Derek

In keeping with the discussions around here about STEM jobs and education, I wanted to pass along this link from Coding Horror: "Please Don't Learn to Code". It's written by a programmer, as you might guess, and here's his main point:

To those who argue programming is an essential skill we should be teaching our children, right up there with reading, writing, and arithmetic: can you explain to me how Michael Bloomberg would be better at his day to day job of leading the largest city in the USA if he woke up one morning as a crack Java coder? It is obvious to me how being a skilled reader, a skilled writer, and at least high school level math are fundamental to performing the job of a politician. Or at any job, for that matter. But understanding variables and functions, pointers and recursion? I can't see it.
Look, I love programming. I also believe programming is important … in the right context, for some people. But so are a lot of skills. I would no more urge everyone to learn programming than I would urge everyone to learn plumbing. That'd be ridiculous, right?

I see his point. He goes on to say that more code is not necessarily what we need in the world, and that coding is not the proper solution to many problems. On a less philosophic level, the learn-to-code movement also makes it seem as if this is the short path to a job, which is not quite aligned with reality, either.

I suppose I can support learning a tiny bit about programming just so you can recognize what code is, and when code might be an appropriate way to approach a problem you have. But I can also recognize plumbing problems when I see them without any particular training in the area. The general populace (and its political leadership) could probably benefit most of all from a basic understanding of how computers, and the Internet, work. Being able to get around on the Internet is becoming a basic life skill, and we should be worried about fixing that first and most of all, before we start jumping all the way into code.

Now let's apply that to learning about chemistry and biology. It's not going to be a very comfortable exercise, because I (and many of the people who read this site) have put a lot of time and effort into learning an awful lot of chemistry and biology. I've written before about the problem of how much science the "average" person should know, and the least controversial answer is "More than they do now". After that, the arguing starts.

It would be nice if everyone knew enough to make some of the ridiculous scams out there harder to work. "Eat whatever you want and still lose 10 pounds a week with this miracle fat-burning supplement!" would be greeted with "Hey, isn't that thermodynamically sort of impossible?". "New Super-Ionized Oxygenated Water Reverses Aging!" would meet with "How do you "super-ionize" water? And how much oxygen can it hold, anyway? And wouldn't that be, like, bleach?" It would be good if people had a slightly better idea of what causes cancer, how diabetes works, a bit better understanding of toxicology, and so on.

But then we're already supposed to be teaching everyone some of the basics, and it doesn't necessarily seem to be going all that well (evidence, both hopeful and not, can be found here and here). Everyone's supposedly exposed to some simple astronomy, but surveys always show a depressing amount of confusion, when it comes to the earth, moon, and sun, which one of them is going around which. Everyone's supposed to have been exposed to the idea of cells making up living organisms, to DNA, and so on, but you can still seemingly get away with all kinds of off-kilter claims about such things when talking to a lay audience.

Some readers will remember the "Why Are You Forcing My Son to Take Chemistry" guy from the Washington Post. I wish that I could argue that chemistry, and a good dose of it, is prima facie a requirement for any reasonably competent citizen, but I'm not quite there yet. But I'm also sure that being completely ignorant of chemistry is a good indicator of someone whose worldview is incomplete and could use some shoring up. You need some knowledge in these areas, but we could start with getting across the stuff we're trying to get across already.

What I am sure of, though, is that a certain amount of science and math really is necessary, and not just for the bare facts. My daughter, when she was learning the quadratic equation, asked me the classic question "Why am I learning this? When will I ever use it?" My response to her was that I, too, had rarely had recourse to the quadratic equation as it stood. But at the same time, learning these things was good for the mind. I told her that when I went to the gym, it wasn't because I was planning on having to do more repetitive squats with a weighted bar on my back any time soon. But strengthening my back and legs was a good thing in general, and helped out with a lot of other things in my day-to-day life, in both the short and long terms. The same with the mind. Memorized the quadratic formula was not a great deal of use in and of itself, but that realization she had, in one of those thrown-ball problems, that the height of the ball was at the origin at just two points (at the beginning and the end of its flight), and that was why solving for time at that height gave you two solutions - that flash of understanding, I told her, was the feeling of mental muscle being built up, capacity that she would need for more than just her math homework. Everyone could do with some of that exercise.

Comments (35) + TrackBacks (0) | Category: General Scientific News


COMMENTS

1. lol on June 30, 2014 8:38 AM writes...

One difference is there are tons of coding jobs with good-great salaries with only a BS in CompSci. This compared to the mess of the chem/bio job market.

Permalink to Comment

2. Wavefunction on June 30, 2014 8:41 AM writes...

I would still argue that programming is quite useful because it's a *general* skill that makes you flexible. Maybe not as essential as reading, writing and arithmetic, but the thing is that programming allows you to *build* things in a variety of fields ranging from medicine to accounting. At the very least it can thus open your way to many different careers, at least in principle. But I do agree that you cannot see it as a quick getaway or a cure-all.

Not the same case with chemistry and biology. From that perspective physics is actually better, since physicists also often develop the math and programming skills that allow them to thrive in other disciplines. That's the reason I sometimes wish statistics and programming classes were mandatory in a chemistry education.

Permalink to Comment

3. luysii on June 30, 2014 8:52 AM writes...

With respect to eat all you want and lose 10 pounds a week, caveat emptor is 2 millennia old.

Permalink to Comment

4. Jesse on June 30, 2014 9:17 AM writes...

While programming in the sense of being employable as a programmer is probably an unrealistic and unobtainable level, being familiar enough with computer logic and formulas to make an excel spreadsheet that can use sumif functions, etc is highly valuable for almost any occupation. The real value is not teaching people how to make a living with computers but teaching many more people how to make effective use of computers in their chosen professions.

Permalink to Comment

5. Samo on June 30, 2014 9:20 AM writes...

A lot of scamers (and anti-vaxers, climate change deniers, etc.) use some sort of logical fallacy to explain how their product/theory works. We should teach people what logical fallacy is and how to recognize it. I think that increasing capability of spotting a flaw in reasoning would do more good than more science education.

Permalink to Comment

6. Chris on June 30, 2014 9:23 AM writes...

Supposing the first quote read like this:
To those who argue reading is an essential skill we should be teaching our children, right up there with programming, writing, and arithmetic: can you explain to me how Michael Bloomberg would be better at his day to day job of leading the largest city in the USA if he woke up one morning as a crack reader? It is obvious to me how being a skilled programmer, a skilled writer, and at least high school level math are fundamental to performing the job of a politician. Or at any job, for that matter. But understanding grammar and syntax, spelling and punctuation? I can't see it.

Look, I love reading. I also believe reading is important … in the right context, for some people. But so are a lot of skills. I would no more urge everyone to learn reading than I would urge everyone to learn plumbing (how to unblock a toilet). That'd be ridiculous, right?

Permalink to Comment

7. Justin on June 30, 2014 9:25 AM writes...

Is learning to code fundamental to a good education? No. But I'd rather my grade-school girls learn to code than learn cursive writing.

Permalink to Comment

8. NJBiologist on June 30, 2014 9:25 AM writes...

@2, 4: If the class teaches algorithm development, great; that's helpful, as you both note. However, if the class devolves into the details of how to dimension an array in [language of instructor's choice] or a list of function tips and tricks in Excel, the class won't be so useful. My intro computer science class in college taught me a lot of Pascal, but not so much about problem-solving.

Permalink to Comment

9. dlib on June 30, 2014 9:59 AM writes...

statistics before code and before the quadratic equation.

Permalink to Comment

10. captaingraphene on June 30, 2014 10:25 AM writes...

"the learn-to-code movement also makes it seem as if this is the short path to a job, which is not quite aligned with reality"

I'm wondering if coding skills are future proof, or are they just another bubble? For some, it would be very convenient indeed if the available pool of skilled workers was expanded and downward pressure on the wages was exerted.

Permalink to Comment

11. Esteban on June 30, 2014 10:58 AM writes...

As with bench chemistry, fairly or not, coding is viewed as fungible and a lot of it has been offshored. Programming languages/concepts also evolve fairly quickly, so continuing education is critical. Long term one had probably better cultivate the other skills required to successfully manage software development projects.

Permalink to Comment

12. Anonymous on June 30, 2014 10:59 AM writes...

"Hey, isn't that thermodynamically sort of impossible?"
Not at all. Just look at 2,4-Dinitrophenol. That said if you take a bit too much, that fat burning suddenly becomes uncomfortably literal...

Permalink to Comment

13. Nekekami on June 30, 2014 11:03 AM writes...

The Learn-to-Code movement is first and foremost an attempt to flood the market with even more "software developers", to dump wages.

Aside from that, there are a fair few reasons for why it's not feasible:

Programming/software development rests on a basis of mathematics and logic, as well as the subject matter you are targetting with your application. So even if you teach them a programming language, without the other fundamentals, they just won't be something that you could honestly call a programmer.

Real-world programming also requires an engineering mindset, in that you work towards a real target, not an idealized structure, with all the complications that gives you. As we've seen over the years, there's a lack of security focus, and it's causing massive troubles, and that's from people with BSc's and PHD's. Now, if we hand out programming tools etc to all and sundry and encourage them to go out there and create, there's going to be a deluge of insecure programs out there.

Algorithm design? That's not something you should learn as part of programming per se, that's more for the Computational Sciences, which is a branch of mathematics, and the introductions to rudimentary algorithm design should be done in high school mathematics, if not earlier. Which gives us a nice recursion back to my first point...

Simply put, it's not something that can be taught properly to everyone. Just like you can't teach other forms of engineering or science to everyone.

Permalink to Comment

14. Semichemist on June 30, 2014 11:26 AM writes...

I'm with #5 Samo - Learning the basics of chemistry and biology would do wonders to discredit scams, but a basic understanding of logical fallacies would be invaluable in almost all areas of life. I'm a little disappointed we never were taught those in school; people with a good understanding of a straw man, ad hominem, etc. would be better equipped in debate, political issues, and life in general.

Permalink to Comment

15. SteveM on June 30, 2014 12:24 PM writes...

I studied algorithm development in graduate school, (Operations Research). Probably 95% of the OR people never write another algorithm in their entire career after they graduate. Like most quant studies, the value is in how the subjects train up the mind to think logically.

About coding specifically, learning Microsoft VBA to take control of Excel can provide tremendous utilitarian value for almost anyone who uses spreadsheets. Introduce that to kids in high school and kill two birds with one stone.

Permalink to Comment

16. Daniel Newby on June 30, 2014 12:49 PM writes...

A company with a few clever Excel macros and Peachtree (accounting software) reports has super powers. Likewise, hizzhonor Bloomberg can toss scammers out on their ear with a little number crunching.

Regarding chemistry, there are probably a lot of little manufacturing companies that could do MUCH better QA and troubleshooting if only they knew GC/FID exists. Ditto for x-ray fluorescence spectroscopy. So much waste and bankruptcy comes from unexpected reagent changes, mixing inaccuracy, etc.

Permalink to Comment

17. Daniel Newby on June 30, 2014 12:50 PM writes...

A company with a few clever Excel macros and Peachtree (accounting software) reports has super powers. Likewise, hizzhonor Bloomberg can toss scammers out on their ear with a little number crunching.

Regarding chemistry, there are probably a lot of little manufacturing companies that could do MUCH better QA and troubleshooting if only they knew GC/FID exists. Ditto for x-ray fluorescence spectroscopy. So much waste and bankruptcy comes from unexpected reagent changes, mixing inaccuracy, etc.

Permalink to Comment

18. davesnyd on June 30, 2014 1:14 PM writes...

As a physicist who writes software (for chemists): Michael Bloomberg (and pretty much anyone else) would be well served by learning to code for a handful of reasons.

Coding consists of three phases, really; and all of them help build good mental muscles in a general sense.

The first piece is to understand a problem, think your way through it, figure out what needs to be done and the best way to do it. You need to do that while keeping in mind the limitations of your environment and how you've painted yourself into a corner by other choices and previous problem solving. But it's also as much a human-interaction skill set as anything: how do you solve a person's problem in a way that is useful for them?

The second is translating the solution you've arrived at into a logical, usually rigid, framework in the software. That requires both being able to figure out how to arm-wrestle the computer into doing what you want it to do and being flexible enough to figure out alternative paths (when your first three don't work out).

The final is troubleshooting-- why didn't it work? Was it your fault (usually) or something else in the system? How do you isolate the problem? How do you find a fix that works around the needle that burst your first balloon? Furthermore-- again with the human interactions: is it not working because you've put in a workflow that just isn't the way people function?

I hear that coding involves a lot of math. That's just wrong. I don't know why people say that. If you're writing a mathematical or statistical applicaiton or a physical simulation, sure. Otherwise, it's all logic and thinking in an organized fashion.

Those are the skills you learn when you learn to code.

Also, you now have a skill you can use yourself for small tasks-- cleaning out a directory or finding a file or changing something on a website. Those are the *direct* benefits of learning to code.

Now-- on to chemistry. What are the skills you learn when you learn chemistry? It isn't about lighting a bunsen burner or mixing stuff in a flask.

It's understanding that things interact following pretty well defined rules. It's about understanding how different compounds can be used to make stuff or perform tasks. It's about understanding unintended consequences, and tradeoffs, and side effects.

It's also about understanding how the physical/chemical world interacts with *us*. It's about understanding what toxic means; doses; different types of exposures. Bordering on biology? Well, that's another discipline worth learning. And science isn't as cleanly divided as our categories would have us believe.

That's not to say that everyone needs to be able to synthesize their own chemotherapeutic agents from scratch.

But there's certainly value in understanding something about why they work, when they work, how they fail. Why they're toxic. How their toxicity can be reduced. How they may interact with other chemical entities in the body.

Permalink to Comment

19. pipetodevnull on June 30, 2014 1:24 PM writes...

Similar to post 16/17: a [fill in the occupation using data] with some coding skills can solve many problems in their job (also known as super powers). Offshoring has taken some of this work, but honestly, how many CSS templates does a company need? And how much of your data are you willing to hand off to anyone? If kids even understand the near-magic of a semi-sentient being that makes 4 billion decisions a second, some will want to go further.
Worth mentioning here is the current social/political climate where the elected and electively ignorant get air time for their “side” of the “debate”—a child might fairly ask, “why know anything at all?"

Permalink to Comment

20. Simon on June 30, 2014 1:55 PM writes...

Hi,

I'm a coder day to day. I read this blog generally because I like at least attempting to wrap my head around something that is completely new to me.

Should everyone learn to code, simple answer no. It's in no way a requirement. It takes a lot of work to get any good and unless you care about it your not going to want to do that. Some clue about the concepts might be useful though. Thinks like understanding that "the cloud" is just a stack of servers somewhere. In fact what the words client and server mean in the context of computing might be useful.

No for the science part. I had to say that sorry. I think probably the same as my previous paragraph. I'd like to think that some of the important bits get taught in (natural) history, but I think I'm hoping for a bit too much there.

There is however one massive caveat.

The scientific method.

Its probably one of the most significant things that you can teach a person. As a tool for doing many things. Its such a massively important meta idea that I think that it should be referred to in other subjects as often as possible. Its up there with maths as a tool for figuring things out, and is a lot quicker and easier to explain.

Permalink to Comment

21. Philip on June 30, 2014 3:52 PM writes...

@9 dlib and @20 Simon, I agree that having a working understanding of statistics and the scientific method is a great tool for almost any job and for understanding why the scams are scams and the politicians are wrong.

As for everybody knowing how to program I agree with one of the best, Linus Torvalds who said “I actually don’t believe that everybody should necessarily try to learn to code. I think it’s reasonably specialized, and nobody really expects most people to have to do it. It’s not like knowing how to read and write and do basic math.”

So please teach statistics so that when some talking head states that a drug (or anything) doubles the death rate or cure rate, they know they do not have any real information*. Nobody should get a high school diploma without knowing the difference between a hypothesis and a theory.

*People need to be able to spot pure bovine excrement such as spewed by Dr. Sidney Wolfe on the Diane Rehm Show "...Belviq was in clinical trials before it was approved there was an increase in heart valve damage not quite statistically significant but a big increase..."

Permalink to Comment

22. samadamsthedog on June 30, 2014 6:34 PM writes...

Well, I would say you take science and math (1) ...in order to find out whether you like it. If you do, you'll take more, and you will indeed use the basic stuff you learned; (2) ...as Derek implied, so you at least get the basic idea about what science is and isn't, and what its limitations as well as its strengths are. Including especially experimental work, and what can go wrong. These things are as important as the subject matter proper.

Finally, I have to comment on: "I would no more urge everyone to learn programming than I would urge everyone to learn plumbing." Certainly, though, the writer would agree that everyone should learn plumbing, wouldn't he?

Permalink to Comment

23. Joshua Cranmer on June 30, 2014 6:37 PM writes...

Disclaimer: I am a programmer.

Ask almost any programmer what is the most commonly used programming language, and they would almost certainly guess incorrectly, even after a dozen attempts. The correct answer is Excel spreadsheet formulas (I mean formulas, not macros)--most programmers won't think of those as programming languages (they're not Turing-complete, certainly), but if you think of a program as a structured transformation of inputs to outputs per some specification, then very many spreadsheets are actually programs. Excel is also just about the worst programming environment in existence, so much so that programmers are minded to not think of it as one. Yet it is probably used by more non-programmers alone than all of the programmers use all other languages.

We live in a world where literacy and numeracy are viewed as so important that the lack of these skills would make you dysfunctional. Yet there was a time where the same arguments that people could use for why you shouldn't learn X would have applied equally well to literacy and numeracy. Socrates, in fact, viewed writing as ultimately destructive to knowledge. Nowadays, most people would likely view writing not as destructive to knowledge but integral to it--or at least the communication of knowledge. The introduction of mass literacy, after all, does correlate with (and plausibly cause) massive increases in productivity. And I think that's the key litmus test for whether or not a subject should be mandatory: does it improve productivity?

For programming, I think the answer is yes. Sure, the programming that is taught in standard Intro CS courses isn't necessarily of the form that would be productivity-enhancing, but the argument that because coding is currently narrowly specialized it is generally useless is groundless. Enhancing productivity comes from recognizing that tasks can be automated, that there already exist tools that do steps of those tasks (e.g., I don't need to learn about RGB color theory and how to read and write the PNG file format to automate the task of "overlay this image on this other one"), knowing how to string these tools together so as to automate them, and then iteratively building up the final automation by doing it in steps and observing that the final output is correct (i.e., debugging).

Most (good?) programmers develop sophisticated sets of automated scripts for the tasks they do, and I don't think that this notion of automating repetitive tasks is common or even accessible to many non-programmers. Teaching the notion that automation is programming, along with very basic precepts of programming (like the concept of variables as stored memory), would be invaluable to most people, particularly in a world where data is increasingly prevalent and information increasingly requires knowing how to make sense of way too much information. That many programmers themselves don't recognize the productivity of automation or the utility of programming for basic automation of tasks is an indictment of the poor quality of our instruction.

To bring the topic more to the topic of the post, though, I don't think scientific literacy quite meets the litmus of test of improving productivity, as useful as it may be in other contexts. That said, scientific literacy is useful if it is even tangentially related to what you do. CEOs of pharma firms, for example, should probably be required to have received at least a B+ in Biology 101.

Permalink to Comment

24. gippgig on June 30, 2014 7:25 PM writes...

I don't think the learn to code movement has anything at all to do with jobs. I think it's about scientific literacy - and note that scientific literacy is just as useful for people who don't work as people who do.

Permalink to Comment

25. Another Kevin on June 30, 2014 8:18 PM writes...

Even more than the scientific method - any grounding in the sciences, mathematics or engineering teaches something more fundamental: that in many things, there is objective truth and it is discoverable. Politics may function according to what the majority believes. Nature does what she does whether you believe in it or not.

The idea that truth exists is something that's shockingly absent from our public discourse. It's not that people lie. It's the "well, my opinion is just as good as yours!" assertion, without any acknowledgment that there just might be checkable facts grounding one opinion or the other. It's the "he said, she said" journalism and "equal time to all views" editorial policies.

It's not that public claims go unproven. It's the denial of any agency of proof, of the idea of proof itself. Without that, arrant nonsense has equal validity with experimental science.

It's not that we fail to teach the scientific method. It's that we actively teach its negation.

Permalink to Comment

26. Garrett Wollman on June 30, 2014 9:29 PM writes...

I think many commenters (and Derek as well) have conflated two subjects of study that need to be understood separately. There is no great social value in teaching more people to "code". But programming -- which is distinct from coding -- is a different way of looking at the world, and teaching it is as valuable in its way as teaching an experimental science, or statistics, or the historical method, or literature.

Someone who understands programming --that is, has a meaningful understanding of what computation *is*, how it works, and what its fundamental limitations are -- is better equipped to understand a whole range of phenomena they will encounter no matter what their chosen profession. But few people ever make the jump from "coding" to programming without explicit instruction, any more than people make the leap from casino gambling to understanding the Monty Hall Problem without actually being taught probability. And programming (broadly understood) is the gateway to many fundamental results in computer science, from graph theory to zero-knowledge proofs to machine learning to systems biology to the likely (but stull unproven) falsity of the Efficient Markets Hypothesis.

Not everyone needs to know these things at a level of being able to apply them in any practical manner, it is true. But in today's world, everyone *does* need to know these things at the level of knowing when the computational view has something to offer, and what questions to ask of those who do choose it as their profession.

Permalink to Comment

27. Rob U on July 1, 2014 2:51 AM writes...

Derek,

Basic math and chemistry help teach you what facts look like. That's even more important than the mental weight lifting.

Permalink to Comment

28. simpl on July 1, 2014 4:36 AM writes...

One common ground of programing, statistics and chemistry is model-building, i.e. internalising the external world.

Permalink to Comment

29. Andrew Molitor on July 1, 2014 6:20 AM writes...

I'm a programmer too, and I'm with Derek.

Ideally a programmer does all those great things about breaking problems down etc etc, but in reality almost none of them do. Most programming is blind banging away at a problem that probably shouldn't exist in the first place (it was created by other programmers banging away blindly) and isn't worth solving.

Quite apart from that though, there's a pedagogical issue here. How do we get across what we're trying to get across already?

Part of the puzzle is that, I believe, you have to learn past the point you want to retain. That is, if you want to go into the world knowing 10th grade chemistry, you need to really learn 11th or 12th grade. You retain foundations, so you need to build an essentially disposable structure of knowledge on top of what you need to retain.

This argues for teaching more of everything.

Of course, it's only part of the puzzle.

Permalink to Comment

30. Anonymous on July 1, 2014 12:06 PM writes...

I think you're confusing the issue of "learning how to work as a programmer" and "knowledge gained by being in a programming class". Then again, it seems to be a problem most people have regarding schools and materials covered by schools.

I mean, generally, even the material in biology and chemistry you learn at high school isn't all that relevant to what a biochemist does on a daily job.

There are some exceptions such vocational schools, but I feel that the things you learn in school are what you learn to be educated- as defined by society- rather than what is "needed" (or liked by employers) to accomplish any given role/task. There is definitely some overlap, but neither is inclusive of the other.

Programming in class pushes at least a few things that are becoming more important in society- access to computers, basic knowledge of how to operate computers, basic understanding of abstraction/templating, a sense of understanding (and less mystification) regarding computers and electronics. Whether these can be better accomplished through other classes or means is debatable, but not so much the benefits to those that would otherwise would have not the exposure as given by programming classes.

Permalink to Comment

31. Anonymous on July 1, 2014 10:52 PM writes...

Joshua Cranmer: Excel spreadsheets are Turing complete. It is pretty straightforward to write a handful of formulas that map one Turing machine state into the next one along with the requisite tape movement and symbol modification.

----

I don't think everyone should learn to be a programmer, but I can understand teaching some basic computing ideas and mechanics. Using a spreadsheet could be taught as a business skill, the way typing used to be taught. You don't have to be great at it, just have some idea of what you can do. It's the same with algorithms in general. A good writing course always has some exercises in describing how to do something with a high level of detail. Coding just requires that level of detail be high enough so even a dumb machine could do it. A computer security course would encourage paranoid thinking, a skill useful in most scientific, technical, legal and political professions. Given how often security breaches are in the news, it might be tied with current events.

Permalink to Comment

32. David Cockburn on July 2, 2014 2:54 AM writes...

When my daughter was in high school I insisted that she study Biology even if it was the only science she did. My reason was that a person should have some idea of what is going on in their body. Now she has just had a baby and I'm surprised at how well she has managed to cope with the mass of biological information involved in childbirth.
So I feel justified.
Teaching coding also teaches logic, choice and very clear thinking; all great benefits.

Permalink to Comment

33. Jessup on July 5, 2014 10:03 AM writes...

There is no magic set of skills for the American chemist that will guarantee employment. Companies want easily manipulated foreigners who fear deportation. That is the first criteria by which resumes are selected.

Should you be lucky enough to get an interview you'll find 80% of your future co-workers are foreign.

For those of you who haven't taken economics 101,
Capital ferociously attempts to create a surplus of labor, regardless of macro conditions. This was first noted by Friedrich Engels (1845).

Note below link:" 100% of US employment growth went to foreigners since 2000"


globaleconomicanalysis.blogspot.co.at/2014/06/100-of-employment-growth-since-2000.html

Permalink to Comment

34. Ann O'Nymous on July 6, 2014 9:33 PM writes...

At a company I once worked for, doing highly technical software development, we didn't care what degree the kid had, but we cared very much about their ability to think clearly and present a cogent argument. All this fuss is really a proxy for the education system being perceived as churning out idiots, isn't it?

- If you are advocating teaching coding because it forces the learner to think logically and clearly, well, that's valuable - but that experience isn't unique to coding. Learning how to build a lawnmower engine would impart the same skills. Or indeed studying anything taxing, like theology or music, and having teachers with high expectations who don't let you get away with submitting half-baked papers and essays.

- If you are advocating teaching coding because you feel that the world is all computerized and therefore understanding them is an essential skill, that's a less powerful argument. We don't require proficiency in chemistry to graduate, but our lives are dependent on carbon and oxygen. Perhaps we should, but we don't. Given the choice between a mastery of the natural sciences and a mastery of code, I would vote for the former, every time.

I'm inclined to think the Greeks were onto something, and we should teach debate (or more strictly, how to formulate an argument and identify fallacies).

Permalink to Comment

35. exchemist on July 9, 2014 6:12 AM writes...

The best parts of freshman chemistry are stoichiometry and the stoichiometry-like parts of the subject (acid-base, chemical equilibria, kinetics, solubility products). IOW, the subject is really algebra with word problems. I don't think it's needed for the general citizen, but anyone going to any kind of technical career, to include medicine, military officers, etc. can use this. Even business and marketing (just finished a consulting study where there was a fundamental question about some ratios where it was easy to be off an order of magnitude by a logic error).

The sad thing is that the typical perfesser type thinks that the students would be better of learning descriptive chemistry (gaak) or being exposed to current research (double gaak).

Permalink to Comment

POST A COMMENT




Remember Me?



EMAIL THIS ENTRY TO A FRIEND

Email this entry to:

Your email address:

Message (optional):




RELATED ENTRIES
XKCD on Protein Folding
The 2014 Chemistry Nobel: Beating the Diffraction Limit
German Pharma, Or What's Left of It
Sunesis Fails with Vosaroxin
A New Way to Estimate a Compound's Chances?
Meinwald Honored
Molecular Biology Turns Into Chemistry
Speaking at Northeastern