WSJ: New Education Bill To Get More Coding In Classrooms
theodp writes: The WSJ's Yoree Koh reports that computer science has been recognized as important an academic subject as math and English in the new Every Student Succeeds Act, putting it on equal footing with other subjects when state and local policymakers decide how to dole out federal funds. The law is likely to be a boon for tech companies, Koh adds, which constantly face a shortage of engineers to hire, and have backed Code.org to lobby for computer science teaching in schools. "This legislation will increase access to STEM and computer science learning nationwide and will advance some of the goals outlined in Microsoft's National Talent Strategy," said Microsoft in a blog post. "ESSA makes a number of significant improvements to expand access to computer science education by diverse populations in urban, suburban, and rural areas," explained the ACM. As far as CS and STEM goes, the bill calls for "increasing access for students through grade 12 who are members of groups underrepresented in such subject fields, such as female students, minority students, English learners, children with disabilities, and economically disadvantaged students."
WSJ is an anagram of SJW. Coincidence? I think not.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
If this was approached with the same rigor that we teach calculus or chemistry then perhaps it could be okay.
But it seems more likely to turn into "create another generation locked into proprietary tools". And instead of teaching (a) CS theory and (b) machine architecture so that people can understand things independent of any particular language or tools, we'll turn it into another "memorize and regurgitate" exercise, where kids will forget everything just after the class because they never really understood it to begin with.
We desperately need more tech literacy, so that people can make good decisions about the products and services they use and buy, and so that they can be competent to handle non-dumbed-down computing. But I will eat my hat if this turns into anything more than a form of advertising for Microsoft/Google/Apple. Already i see this with movements to get kids hooked on Google Docs, getting them used to the idea that all their data should be given to an advertizing company for safe keeping.
The government has no business making all these laws that favor one particular gender, race, creed, etc.
Furthermore, education by legislation is bound to be a disaster.
Anyway, it doesn't matter; the added struggle against subsidized mediocrity will render young white males even more capable than they already are—you cannot stop them from gathering in their garages and revolutionizing the world yet again.
"the bill calls for "increasing access for students through grade 12 who are members of groups underrepresented in such subject fields, such as female students, minority students, English learners, children with disabilities, and economically disadvantaged students."
So, now if you're white and male, it's ok for them to discriminate against you. Get ready for the quotas, folks. Schools will be in such a panic to get certain demographics in the classroom that they will unfairly incentivize and prioritize them above everyone else.
I'm sorry, but why the fuck to females and minorities belong in the same category as disabled and economically disadvantaged people? Last I checked, those two groups had absolutely no problems going in to computer science if that's what they wanted to do in life.
More coding is not what is needed. What is needed in the classroom is hot, sexy teachers, ones that will get the kids in class and paying attention stiffly.
The government has two major initiatives in computer science:
A) They've finally realized we're WAY behind in "cybersecurity" and it's costing us billions every year. The percentage of code written by people who don't actually know what they're doing isn't just an economic problem; it's turning into a national security issue.
B) They've decided to teach EVERYONE how to write a bit of code, without really understanding what they're doing.
If this were the 1980s and we were still primarily using Disk Operating System to run software on our Personal computers, (B) might be okay. People would be learning just enough to screw up their files on their floppy. We're not using DOS anymore. It's now web apps used over the internet. The "coders" who don't understand are writing web services in .Net and PHP scripts which they put on the internet, where they are attacked constantly.
The consequences of improperly designed software systems have increased 10,000 fold. A little knowledge is truly a dangerous thing when writing software for the internet. We don't need every worker publishing their own little poorly-designed web api to their part of the company database that they wrote in Excel and published from via Access. We need to recognize this is dangerous to other people, including customers, so we need it done better, by people who choose to specialize in the field. Designing software systems (for the internet) isn't so much like reading and writing English, it's more like designing buildings. You want it done right much more than you want it done by everyone.
A marked-up document (.docx) from July on the website of the STEM Education Coalition, which counts Microsoft as a member, seems to attribute the enrichment eligibility criteria clause to NY Senator Kirsten Gillibrand. Last year, Gillibrand said, "Typically, in STEM fields, science, technology, engineering and math, it's typically white men. Very few women, very few minorities, very few from economically disadvantaged neighborhoods. So we want to change that."
Anyone who wants can learn how to code at home. It has an extremely low barrier of entry, and nowadays information, tutorials, books, howtos, even journals, etc are everywhere. At their home it does not matter if they're a stuttering black mexican lesbian with a missing leg.
No, unless you have a perverse attraction to computers and pushing bits around like a few of us, this is just a government and megacorp attempt at lowering salaries and conditions even more. There's prenty of jobs that are much better alternatives, and where you won't have to compete with some low GDP country working for peanuts.
Young peoples: If you happen to like programming and CS then do it at home or for yourself and you'll be way happier.
"...computer science has been recognized as important an academic subject as math and English..."
So the plan would be to neglect it utterly, ensuring that graduating students can hardly tell an iPad from an abacus? If, as we have been told, ignorance is strength, they might as well double down.
I am sure that there are many other solipsists out there.
skills that are practically useful in life, such as
1. Self reliance (how to cook, how to do minor repair works around house, etc)
2. Think broadly (do projects that encompasses everything from planning, prototyping, executing, teamwork etc.)
3. Financial management
4. Driving (it is better to start young, see Finland)
5. Surviving outdoors (you never know when you gonna need it)
6. Interacting face-to-face
7. Objective thinking (so that they won't fall into sound-bites of politicians)
I do not foresee "coding" will help anyone in the broader spectrum. Perhaps, it can liberate few talented coders who would've gone to another field. Other than you enter into an STEM career; quite unlikely "coding" will help you survive.
Something peripheral: "coding" projects will only succeed because of other skills i.e planning, team work, communication etc; not because of your "coding" skills it self.
How about we increase funding for music and the arts in schools? Aren't there benefits to that when it comes to learning?
Wow. Just. Wow. I can see why you chose to post this anonymously.
CUR ALLOC 20195.....5804M
I was wrong. So, so wrong.
I wonder though, how are they going to tackle the girls discouraging other girls aspect of social interaction?
That never seems to be addressed. Instead we get these incredibly weak examples of male based microagressions that work to prove the exact wrong thing about women.
Where a Playboy model's face or building's air conditioning system manages to turn passionate science minded women away from that sort of career, but the constant badgering or other girls does not?
All of which is to say that if you want to cure a problem, you have to look in the right place for the answer.
The shepherds did so well protecting the flock that the sheep no longer believed that wolves existed.
You do realize that most of that "software systems (for the internet)" you speak of rofl... are just not worth to crack. And if you use a proper OS (eg. not a toy M$ one) even on default settings it will be enough to protect you shitty app from most basic attacks. A seasoned hacker will get into you app and db no matter what.
We will get the common core crap for coding and further encourage kids to stay away.
instead of
10 print " hello"
20 goto 10
we will get...
COME FROM 10
10 TELL "hello" NEXT
Because educators today need to be beaten with a sack of doorknobs until they understand that convolution is not education.
Do not look at laser with remaining good eye.
Education is about learning to learn and making citizens.
That means learning to think and having enough basics so you don't have to start with the stone age to learn something new.
Reading, writing, and arithmetic are the first on the list.
Self study/research skills, higher math, literature, and basic science are second.
Computer programming seems a vocational skill, might be third at best, but there are many other directions to choose at his level.
The citizenship part is about fitting into the world we live in.
History teaches us how things got to be the way they are.
Government teaches us what tools are in place to adjust them.
These seem necessary to have a functional society, which puts them on par with the second level stuff above.
To add yet another tertiary thing to the first priority list diminishes the things that need to be there.
It gives the education system an excuse for not doing what needs to get done.
It limits our ability to compete with other nations that better understand the role of education.
This is bad for all, but apparently still permits the folks it shapes to fit in.
Given this, the Congress seems a not-so-shining example.
It's computer programming. "Science" would imply that you know how the computer works. You have to know physics, basic electricity and somewhat advanced mathematics (at the very least logic tables). Otherwise you're just a key puncher, doing rote work.
“He’s not deformed, he’s just drunk!”
If there's one thing you don't want, it's mandatory, curriculum-based
computing programming in schools. Unsolicited instruction in any
subject reduces interest in the subject being taught. Look at science.
Inherently interesting, but people get less interested in it as their
schooling goes on. I'm aware of at least one paper (Adolescents'
declining motivation to learn science) that squarely implicates being
taught by others in schools as being the cause of this. Not that you
should need a paper to tell you that.
Other ways in which insisting on more top-down instruction is blatantly
anti-science:
- Being evaluated on what you're learning inhibits learning.
- Moreover, the more authority the evaluator has, the greater the effect.
- The more intellectual the subject, the greater the inhibitory effect of evaluation.
- AFAICS, every single problem discussed in the first two chapters of How Children Fail stems directly from this.
- Extrinsic reward undermines intrinsic interest.
- Play deprivation. Come. the fuck. on - if play didn't serve a purpose, natural selection would have selected it out by now, nevermind selected for it. Everyone knows you learn computers by playing with them.
Everybody that ever got good at programming was unschooled.
Even when you get formal schooling in programming, they
expect you to have already taken an interest in it yourself first.
Other people telling you to learn something just results in more
faking of learning plus a general aversion to ever pursuing the
subject again.
Unless, it is 1 or 2 class periods, taught to a bunch of nerds in high school, I don't think computer science should be taught in k-12. Most kids won't care about it, and American schools are bad enough on the basic subjects.
No one takes people out of high school anymore. Also, the universities don't care a whit about CS in high school. Their requirements are calculus and physics. No sign of that changing, except maybe the UK.
Put all the old home computers of the 80's back into the classrooms. Turn on and you're instantly ready to start entering code. Somewhere along the line, the user lost direct and absolute control of their PCs and have to rely on someone else's "apps".
Come on, you know that tech companies are not going to hire these people who learn to "code" and have no skills in computer science. Tech companies only want experienced people ready to work based on their job descriptions. They're not going to hire some high school kid and teach him what he doesn't know.
By pandering to a minority of corporations, the Dpt. of Ed. is converting the US education system into a training programmes for idiot workers in dead-end jobs that'll soon be off-shored to subcontractors in developing countries with lower operating costs. The real advantage that the USA has is an excellent education system* that cultivates independent, critical, and creative thinkers who can then go on to learn just about anything they want and make excellent team-workers, project managers, and problem solvers.
*If you control for poverty, which is the biggest issue in US educational outcomes, the US consistently scores at the top of international tables but doesn't suffer as much from the negative effects of test-oriented curricula, despite the Dpt. of Ed.'s best efforts in the last decade or so.
Increasing the number of people going through the education pipe won't address the shortage of trained coders. It'll just provide more graduates who can't find a job in the field because almost everyone's seeking people with x years experience.
Besides, computing and programming isn't something you can just train into people and expect them to be any good. It's a calling. It's true this might do some good... it might find some people who are drawn to computing who might otherwise not have had the opportunity. It also might help for future non-coders to have some basic understanding of what you can (and can't) do with coding. But this being a boon for tech companies? Probably not.
They just forgot to finish the sentence where they started that tech companies constantly have trouble finding talent. The obvious end to that statement is "who will work for peanuts."
I've been doing security on Linux servers since Linux came on floppies. I wrote a mandatory access control framework similar to SELinux (but simpler) before SELinux was usable. Using a network OS such as BSD or Linux -is- a really good idea. Unfortunately, the bad guys only need to find one hole in your security ; a single oversight by the good guys is all it takes. (But see also layered security.)
Also unfortunately, many web servers run Plesk, which installs PHP SuExec by default, nullifying basic protections provided by the OS. CPanel is also popular and makes it easy to run SuExec without understanding the implications of doing so.
A proper operating system allows developers to create secure systems, which knowledge sysadmins can deploy. It does not and can not prevent developers and sysadmins from doing stupid things. I have thousands of samples of webshells and other hack scripts I've pulled off Linux servers which prove that. (Over 90% came from servers using SuExec.)
I've worked with enough developers, and fixed their mistakes, to know that while getting all of these people writing scripts is going to be a pain the real problem (and cost to society) is bad developers. I was on the maintenance team at a government department that had a development group with about 10 people. The best person had to rewrite a C app, which they had originally created, into Java. When we got the app for testing, we also did the admin work for the production apps, it was missing a major feature which he forgot about. The head designer of the group claimed that having a content management system generating an HTML page every time it was requested was a much simpler design than generating it once when the content changes and pushing it to a web server. This despite the page would be exactly the same in both cases and the later case would serve pages faster with less resources. Of course this is the group that thought that serving graphics from a application server was a good idea and to transfer images from one site to another put them into an Oracle database and replicated that.
Boy that Visual Basic class got me far in the 90s
A shortage happens when something isn't priced high enough. In this case, there isn't a lack of talent, but rather the wages being offered are too low, and so people choose other careers. Raise wages and the labour pool will follow.
You can lead a horse to water, but you can't make it dissolve.
So your argument is "We have yet to have formal training for the population at large in how to operate computers and it's resulted in really poorly written scripts. So the solution is certainly to not give the population at large formal training". I believe the counter argument is that if the population at large was given formal training, that the probability of someone writing a poor script would be less because people would have learned their lesson in making poor mistakes in school.
See subject: That's the TRUE longterm thinking behind this & worse? The more coders you produce, the more malware will result when these kids come out of a degree (that you don't REALLY need, Good Will Hunting had it right - & yes, I'm speaking from experience on BOTH ends in having degrees + being self-taught over a 23++ yr. long professional career in the art & science of computing).
Especially when they can't find jobs (especially GOOD PAYING ONES due to heavy competition) OR the wages are SO LOW (between this & HB1A importing of foreign labor OR offshoring it), they can't make good on their student loans... they WILL turn to crime (or be jailed for student loan default).
* Hope I'm wrong!
HOWEVER:
What I've seen thusfar is a HUGE INCREASE in malware of all kinds flooding us out there in the past 1/2 decade++ alone (& longer before I made this program) populating my custom hosts file for speed, security, reliability, & anonymity using APK Hosts File Engine 9.0++ SR-4 32/64-bit http://start64.com/index.php?o...
(E.G./I.E.-> I used to haul in, pre-2007 or so, around 100++ known bad sites, botnet C&C servers, or adbanners to block... today? That's tripled, easily... no bullshit! Where's it all coming from?? Students out of a job is my guess - a GOOD paying job!)
IT'S ALWAYS ABOUT "THE BENJAMINS" FOLKS - & OWNERS + MGT. DON'T WANT TO PAY YOU THE LABORER WHAT YOU'RE WORTH FOR IT! Remember that... it's 100% SOLID truth!
APK
P.S.=> Coding's NOT for everyone - for most people imo (& yes, this happened to me) you have to "reshape the way you think" & yes, I believe the mind (like the body) is "PLASTIC" & can do this... but, it's NOT easy (takes time, sacrifice, & effort)... apk
The WSJ's Yoree Koh reports that computer science has been recognized as important an academic subject as math and English in the new Every Student Succeeds Act, putting it on equal footing with other subjects when state and local policymakers decide how to dole out federal funds.
Is it not counterproductive to advocate our youth study a skill which (because of current corporate greed is either off-shored or handled by h1b bonded servants) is a fast track to the unemployment line?
The consequences of improperly designed software systems have increased 10,000 fold. A little knowledge is truly a dangerous thing when writing software for the internet. We don't need every worker publishing their own little poorly-designed web api to their part of the company database that they wrote in Excel and published from via Access.
Of course we do! What we need is tools that make this OK. For example, in exactly the sort of environment you describe, if "constructing a SQL query by appending text" is disallowed, by having a DB API that just doesn't accept raw text, and you have to assemble everything using LINQ parts, you're magically free from DB injection attacks.
People who know just a bit of scripting aren't looking to put together a web API from raw components, they want a simple framework using tools they already understand. That's great! That's exactly what should happen. And as long as the tools are safe, the result will be safe.
This is a problem for tool creators: make the easy way the safe way. Problem solved.
Socialism: a lie told by totalitarians and believed by fools.
By elevating Computer Science to the same level as other major areas of study (English, History, Science, Math, etc.) and *NOT* increasing the school year, what topics in which subjects will they cut back on to make room in the limited school day to accommodate a brand-new major topic of study?
Of course, I am assuming that "Computer Science" means something more than Computer Application usage - that they will be learning about computer science, not how to make a newsletter in Microsoft Word...
Ken
It'd be lovely to have magical tools that guess what the clueless user wants to do, guess what's safe to do with that data, and guess how to do it safely (instead of trained people who know which data is safe to publish, and how).
It would also be lovely to have robot doctors and nurses which cost nothing and can therefore provide medical care for free.
It would be lovely to have a kumbaya song that magically makes everyone in the world love each other and get along splendidly.
However, Mr. Obama, none of those things exist, and none of them are likely to exist this century or the next. I'm sure there is a fantasy novel forum somewhere that would enjoy discussing your ideas, Mr. President.
The idea that you can even teach coding in classrooms where students continue to fail basic literacy, let alone mathematics, is absurd. Fix the core curriculum first before adding more certain failure.
How do default settings in the host OS protect you from SQL injection or any other command injection attacks found in poorly written code?
Parameterized queries are certainly a good thing. They help prevent a class of attacks that are common today. You may recall not long ago buffer overflows were the most common vulnerability. The strncpy set of functions were introduced to eliminate that, and newer languages like PHP and Perl have strings that know their own length, so the common types of overflows aren't possible in PHP. Since PHP isn't vulnerable to the issues which were common in C programs, it's a safe, idiot-proof language and you can't create security problems in PHP, right?
Of course actual experience is that PHP scripters create a lot MORE security problems. The easier the tools get, the less knowledge required to use them, the easier is it to do dumb things. That's what has actually happened as we've progressed from assembly to FrontPage extensions and .Net.
You want people to point-and-click publish the company's database to the web, but apparently haven't thought about which data can safely be published to the web. Confidentiality breaches (data dumps) have been a major class of security breaches recently. A lot of data shouldn't be published on the web, and/or should have careful security controls on it. Do YOU really want someone at your phone carrier to point-and-click an API for retrieving your text messages via web browser without thinking about, and being well trained in, how to do that safely and securely? Not only are there confidentiality issues, but what if a text message contains JavaScript and you load it into a web browser from a local source (app)? I don't mind if publishing my information requires careful thought, if it's not easy to dump my stuff on the web, and if only trained people are able to do that.
Ah, I see what you mean about "safe to publish". That's not a security flaw, though, in the way people usually mean that, but a lack of design oversight. Sure, no toolchain can fix broken-by-design.
I don't think anyone has made a web page in C this century, and most PHP problems are about "cleaning input" AFAIK, which is a bad strategy to begin with. I was thinking more of your example of the VBA world, automating Excel and Access and the like, where MS actually provides pretty good tooling these days to do things the safe way. Unfortunately, they do nothing to make it difficult to build SQL queries through string concatenation, so plenty of people never discover the LINQ toolkit. It's at least better than it was 10 years ago.
You'll never get a world where clueless losers can't create a web site/API. Tooling only ever gets better. We can work to make those tools safer, however.
Socialism: a lie told by totalitarians and believed by fools.
since none of these idiots seems to understand "shortage" means the price is below an equilibrium value.
There is a serious misconception about coding in this thread. It appears a good majority of the Slashdot audience doesn't understand the type of programming that is done in academia is not the same as what is done in industry. Firstly, computer science already exists in the schools. It's called math. 80% of my bachelors degree in CS was mathematics. A lot of people graduate with CS degrees and barely code at all outside of maybe 4 classes.
Secondly, academic programming is all about doing mathematically efficient and clever things with algorithms. Sorting a list, traversing a binary search tree, finding the shortest distance from point a to point b. These are mathematical concepts applied with code. To say it's useless is to say that mathematics is useless (beyond adding/subtracting/multiplying) because, well, not all kids are going to be mathematician! While that is true, the benefit of mathematics is the exercise itself. Mathematics, just like academic programming, trains logical thought.
We aren't talking about teaching kids a bootstrapped, db agnostic, mvvc, mobile first .js 2.0 platform framework so they can build fancy cool web applications. We are talking about extending mathematics. That is it.
If we can teach math, we can teach coding. Computers are not going away anytime soon.