Chicago makes Computer Science a core subject
edtechmagazine.com
edtechmagazine.com
1) In the next three years, every high school will offer a foundational “Exploring Computer Science” course. (This is a survey course - my note)
2) In the next five years, at least half of all high schools will also offer an AP Computer Science course. (My note: AP CS is a Java based course that looks roughly comparable to first year computer engineering courses, including algorithms and data structure... I've never taken AP CS, but I bet lots of people here have, and they can probably elaborate on its usefulness)
3) Chicago will also be the first US urban district to offer a K-8 computer science pathway, reaching one in four elementary schools in the next five years.
4) Within five years, CPS will allow computer science to count as a graduation requirement (e.g. possibly as a math, science, or foreign language credit). Only thirteen other states have elevated computer science to a core subject instead of an elective.
http://www.cityofchicago.org/city/en/depts/mayor/press_room/...
And for reference, here is CPS' current requirements for highscool graduation: http://www.cps.edu/SiteCollectionDocuments/PromotionPolicy/H...
It's also important to remember highschool teachers aren't college professors. You may have had awesome and passionate HS teachers, but from what I saw, there don't seem to be very many.
I think the quickest way to destroy a future programmer is by forcing them to learn dumb ideas from half-interested teachers during their formative years, and it seems like this proposal will lead to that. It's hard to understand why people trust the modern highschool system to teach kids anything. Most of the kids aren't there to learn; they're there because they're forced to be. If an ambitious highschooler wants to learn programming, why not give them a way to learn it in a university early?
I really hope I'm wrong, but in my experience the highschool system is a grim situation for nerds, especially in the Midwest.
EDIT: Regarding highschool teachers vs CS professors: I meant that teaching programming requires programming ability, not just teaching ability. Maybe highschool teachers will become good programmers first. I don't know. And certainly, awful college professors exist just like awful highschool teachers exist. It just seems like the average CS professor has a higher chance of imparting useful knowledge to kids than a highschool teacher who has to learn it from the same book as the kids they're teaching it to. Worse, the kids have a high chance of becoming disgusted with the idea of programming if it's taught poorly, so this proposal seems at least as potentially dangerous as it is potentially helpful.
I had great science teachers who taught me about fundamental soundness, reasoning from first principles, developing/testing/revising quantative models, and describing the state and behavior of the universe (i.e. what calculus was created for in the first place). That was fun. But nobody was doing that thinking "so this is math" because it wasn't called that, it was called physics or chemistry.
When you are in an a middle or high school classroom called "Math" with a book called "Math" you are doing rote algebraic manipulation, full stop. So that is what math is to you. No wonder people hate it.
Fundamental soundness, proof, etc. has very little to do with numeracy in the sense of mental arithmetic, estimation skills. Those are useful too, but different things. I still can't multiply two-digit numbers in my head but that never posed a problem in calculus, computer science, chemistry, physics, or anything else.
In my experience, (fast) mental arithmetic is very very useful for all sorts of things. Shopping, driving, eating, anything.
I had some -- none in my programming classes, though -- but that wasn't all too different than my college experience. If anything, the high school teachers seemed, on average, better teachers, though perhaps in a worse teaching environment.
The college professors obviously had more formal education in their subject area.
> I think the quickest way to destroy a future programmer is by forcing them to learn dumb ideas from half-interested teachers during their formative years.
I think the quickest way to destroy a potential future programmer is to have them learn nothing relevant from anyone during their formative years.
So, because you had some lousy high school teachers, that means college professors are passionate and high school teachers aren't? Why are high school teachers inferior to college professors?
The AP Computer Science class I took was close enough to first year coursework that they let me pass out of it. The biggest benefit was having a very serious teacher whose goal in life was that class. (He taught others, but his main focus as a teacher was the top 2-3% of programmers in the student body) It was a course that's both rigorous and useful.
The other problem may be salary. Years ago I was looking at teacher salaries for Seattle public schools. Salaries were identical for all subjects and increased only with length of time as a teacher and advanced degrees. They started around $30K with a BA and $36K with an MA. Pay topped out after 30 years at $60 or $70K-ish.
You're just not going to get many competent CS people for that kind of pay. Yeah, a couple of hero teachers will show up, but for the most part you're going to get shortages.
Based on the reading I assembled here: http://jseliger.wordpress.com/2009/11/12/susan-engel-doesnt-... , I'm skeptical that we're going to see much improvement in public schools, and especially urban public schools, until we deal with the teacher union issue. Unions enforce lockstep payscales.
It's not like I'm working harder or what I'm doing is more important. You just can't convince Americans to spend money on public schools.
Consider a very important profession, say superhero. Having one superhero to stop the Joker is worth $1M. Having two superheros is worth $1.1M - Batman is sufficient to stop the very dangerous Joker, but two superheros can stop both the Joker and the far less dangerous Harleyquinn. The marginal productivity of an extra superhero is $100k even if the mean productivity is $550k. As a result, superheros get paid $100k because if any superhero quits, society loses only $100k rather than $550k.
There are professions where that's a good model, but it seems remarkably unrelated to the dynamics of the teaching market.
But let's say there are multiple employers competing for the superheroes, each with their own bad guys to hunt down... Then you can get paid more.
A monopsonistic situation can drive wages below the marginal product. A monopolistic situation (e.g., multiple school districts, 1 union) can drive it above the marginal product. What I described is simply the ideal situation.
Americans spend more on public schools than pretty much anyone else, by almost any measure you choose: http://www.huffingtonpost.com/2013/06/25/oecd-education-repo....
Chicago spends about the same per student as the wealthy suburb where I grew up. Teachers' salaries are also higher in Chicago than where I grew up, despite having comparable if not lower cost of living.
Half of all children in Chicago live in single-parent homes, and the poverty rate for families headed by a single mother are around 40%: http://articles.chicagotribune.com/2013-11-03/news/ct-edit-x.... That percentage is almost certainly much higher within the Chicago public school system, which skews poorer than the city as a whole.
You can't have functional schools with students who have to worry more about gang violence in their neighborhood than their grades. More money, better curricula, better teachers, none of that matters when the social structure outside the school is crumbling.
I imagine much of the dysfunction endemic to urban school systems is related to the Sisyphean nature of the task we give them. We focus almost single-mindedly on schools and education to solve all the ills of urban society. If only our schools were functional and our teachers competent, we say, these kids would be able to rise out of their condition and better themselves. But teachers who teach in these systems realize the absurdity of that charge. Stuck between a student population that needs help in ways that are not within their power to give, and a society that fails to realize the actual needs of these young people, teachers shift to a mode focused on self-preservation. Hence the dysfunction present in urban school systems.
Of course the new mayor of New York wants to stop their growth, but that's another complaint.
[1] http://www.successacademies.org/
[2] http://projects.nytimes.com/new-york-schools-test-scores/cou...
and
http://perdidostreetschool.blogspot.com/2013/08/bronx-succes...
Teacher salaries are often higher in urban districts than suburban ones (and often still result in teacher shortages) because the conditions in urban districts are often less attractive to qualified teachers. (Policies which equalize per student spending across states means this also results in lower non-teacher-salary spending in those districts, which results in worse working conditions and more pressure for teachers to reach into their own pockets to meet classroom needs, which makes teaching in those districts even less attractive.)
My sense is there are a few reasons for this:
1) It is very hard to measure the benefits of good teaching, and it tends to be on a much longer timeframe. (Do we value nice teachers, or the ones that force us to learn? And is there a good test for it? I still get lessons from my great high school teachers, but it took a long time to appreciate some of them.)
2) There is little competition for skills of high school teachers. In large cities, there is one employer, take it or leave it. Teachers get one salary - based on how long they've been there. By the time they're most beaten down and least effective, they're paid the most. Meanwhile, the academic literature suggests that after 5 years, there is little correlation between time in classroom and improved skills.
What can be done? Improve the imperfect measurements, and open up the system for competition. Make it easier for schools to compete for better teachers by paying them more. (In the end, parents know which teachers are better) Make it easier for parents to leave bad schools. Make it easier to close schools whose parents leave.
Public schools get plenty of money. It just doesn't go to the classroom teachers.
As a psychologist friend pointed out to me yesterday, jobs that are traditionally held by women tend to be underpaid compared to "equivalent" jobs that are traditionally male. Compare teacher salaries to police and fireman salaries in the same district.
That said, most of the (invariably obscenely overcompensated) superintendents I've heard of have been male.
Unions perversely hurt themselves. By creating a monopoly for their services, they make it much harder for alternative providers to come along and bid up their services.
The new NYC mayor put the partner of the AFT (American Federation of Teachers) on his transition team. Part of his campaign platform was, "Less measuring, no more charter schools, no more closing failing schools." I fear for the future of NYC schools.
But to the original point, I think the only hope is getting post-career engineers who have already made their money to become CS teachers.
All of those things are positives for NYC, not negatives. Closing failing schools has equated to closing schools in communities comprised of black and hispanic people and replacing them with charter school options that have less accountability. Charter schools themselves have not been shown to be a suitable large scale replacement for the public school system and have their own issues. As for measuring, the strictness of standardized tests and how they tie into student and teacher performance/evaluation has already been shown to be having an negative effect on classrooms.
http://projects.nytimes.com/new-york-schools-test-scores/cou...
and
http://perdidostreetschool.blogspot.com/2013/08/bronx-succes...
In many cases, charter schools are both publicly funded and administer. The charter is a governing document providing exceptions and alternatives to the governing rules otherwise applicable to public schools.
Charter schools may be privately operated/administered, but that's not universally the case.
Yes they do. You always have a choice of charter school or non-charter school. Many charters are so popular that they have 10 applicants for every spot. This isn't the sign of a lack of a voice, it's a sign of people voicing their displeasure with their terrible zoned schools.
We allow airlines to compete for our business, and the bad ones should close. We allow grocery stores to compete for our business, and the bad ones should close. Why not allow schools to compete for business and let them close?
Charters have more accountability than district public schools. If a charter misses it's #s, it won't get renewed. Every 5 years they have to prove themselves.
Under that rationale it makes no sense to pay existing teachers more money. Paying the same people more money isn't going to make them more qualified, more competent, or smarter. Higher salaries are just a tool we can use to recruit people with those qualities.
There's two basic facts:
1) Teachers, in the U.S., are generally drawn from the bottom half of college graduates.
2) Generally, teachers get paid about as much as the average non-STEM college graduate.
If the existing teachers we have are as "good as we need" then there is no reason to pay teachers more. There's no shortage of teachers at existing pay levels and teacher pay is consistent with the market pay for other college graduates of similar qualifications.
Thus, those who lobby for higher teacher pay argue that it will attract more qualified people to teaching. They point to countries like Finland, where it is common for teachers to have been in the top 10% of their college classes. They note that STEM majors, who make more than non-STEM majors, take a major pay cut to go into teaching. But under that rationale, it makes no sense to pay more to existing teachers, who don't have those qualifications.
[citation needed]
> There's no shortage of teachers at existing pay levels.
The fact that a number of districts are forced to waive generally-applicable requirements (e.g., issue "emergency credentials", etc.) to get teachers and/or rely on series of long-term substitutes to assure that there is actually a teacher in the classroom suggests that this is not true
> The appendix to the report confirms that the “top-“ and “bottom” third figures are also based on SAT/ACT scores, specifically those of 1999 graduates whose first job (at least by 2001) was teaching. The breakdown for these graduates is as follows: 23 percent came from the “top third;” 47 percent from the “bottom third;” and 29 percent from the “middle third.”
Comparing performance on entrance exams is more consistent with how private sector employers evaluate non-STEM college graduates. Those 47% of teachers scoring in the bottom third of the SAT/ACT aren't going to be in the running for very high-paying jobs almost regardless of their college performance.
How exactly is that? I've not heard of an employer asking for SAT/ACT scores for college grads. I've heard of reporting GPA and talking about internship/club roles, but never standardized test scores taken before college.
> Those 47% of teachers scoring in the bottom third of the SAT/ACT aren't going to be in the running for very high-paying jobs almost regardless of their college performance.
Seriously? You could score in the middle or poorly on a standardized test and go on to do extremely well in college and the workforce. Further, scoring high on SAT/ACT tests doesn't indicate you will do well in college or the workforce. Employers are almost always looking for a couple of factors for potential hires, not just one, and we would expect teacher hires to be no different in that regard.
Starting salary for a teacher in Chicago with just a BA is almost $50k/year with very good benefits. There are jobs for non-STEM majors that pay that or substantially higher, but the college options available with that kind of SAT score put you at a great handicap for those jobs.
Again, we're talking about aggregates here, not individuals. Lots of people do poorly on the SAT and end up wealthy. But if we're talking about a group where 47% perform in the bottom 1/3 of the SAT, I don't think it's unreasonable to say that this group's expected salary outside of teaching is substantially lower than for the average college graduate, regardless of the fact that individuals may outperform their entrance exams.
Its true that earning such a score may be more limiting in what colleges you can attend, but the reality is that ivy league and highly competitive schools are not within the range of most people for a variety of reasons. However, those graduates are skilled and make excellent employees and we as a society depend on a college system that is accessible to have a better skilled workforce. In terms of how this relates to quality of teachers, that some scored low on SAT/ACT and went to different kinds of colleges doesn't mean they are not qualified or successful as teachers.
> Starting salary for a teacher in Chicago with just a BA is almost $50k/year with very good benefits. There are jobs for non-STEM majors that pay that or substantially higher, but the college options available with that kind of SAT score put you at a great handicap for those jobs.
Of course, its not just the college you attend that opens up those higher paying non-STEM jobs to you, it also highly depends on what field you went into, current economic conditions when you start looking for employment, overall availability of positions, etc. Over the last 4 years we have seen that even attending a more competitive school or highly esteemed school isn't enough to get over some of the external difficulties in finding a job in some fields.
> Again, we're talking about aggregates here, not individuals. Lots of people do poorly on the SAT and end up wealthy. But if we're talking about a group where 47% perform in the bottom 1/3 of the SAT, I don't think it's unreasonable to say that this group's expected salary outside of teaching is substantially lower than for the average college graduate, regardless of the fact that individuals may outperform their entrance exams.
We aren't talking about those that become wealthy, we are talking about low SAT/ACT scorers who go on to get a college degree at an accredited institution. It is unreasonable to say that low scorers are going to earn less than high scorers that attend the same class of institution or that the low scorers are less qualified from the high scorers in the same field that attended the same class of institution.
Fundamentally, degree snobbery isn't helpful here. We require a large body of qualified teacher and an environment where those teachers can succeed. Like any profession, there are bad teachers, but calling all teachers bad because they didn't achieve an academically-defined test score that doesn't necessarily have a present bearing on their ability to be a teaching professional is silly.
"Everyone does it" doesn't mean its a meaningful measure, even if its true (and, AFAICT, its not.)
The number of potential employers that have ever cared -- or even asked -- about my college entrance exams is...0. Several have asked for college grade transcripts, though, though most have just asked about degrees and institutions.
I mean, I'd love it if the fact that my entrance exam scores were in the top 0.1% mattered...but generally they don't seem to.
I graduated during the boom, and knew people who went to Georgia State and the like, which require top half SAT scores, and finding a $35k/year job outside STEM was a great result. Bottom third is pushing your luck for places like Valdosta State, and even the STEM people I knew there had trouble landing real engineering jobs. Not uncommon to see a Mech E working as an HVAC technician.
This is not snobbery. I'd never hold the school someone went to against them. But if we're projecting expected outcomes of a large group of people, it's totally relevant.
This is another form of the "How dare you make a social app when people starve in Africa" objection.
Just in case anyone still feels like it makes sense, be aware of the gross oversimplification it entails. Actually only some students fail to acquire basic reading and math skills, while another group isn't provided with ample opportunity to take their ability to learn to its full extent.
Giving schools the opportunity to add CS as core subject allows schools to offer good students a broader education, and provides an opportunity to capture a larger percent of otherwise disinterested students' attention.
The great thing about CS, at least if it's well taught, is that you can see results. You can think hard, figure something out, and see visible results from your effort. I think/hope that this can be a powerful motivator for a 14-year-old to think analytically - in a way that solving algebra problems isn't.
And where are the schools failing at basic reading and math? I doubt that if there are students who fail at this that they would make it into this program.
My guess is that it's not the schools that are failing children, it's the parents.
I know that doesn't ring nicely with the easy to blame "school" blame the "government" all that other libertarian thoughtless unfortunate stuff that's in people's heads, but there you go.
It turns out that this state had required CS as a subject, but many schools did not have faculty even remotely qualified to teach it. The schools had simply stuck a random math or science teacher in the role, and these teachers had made no effort to learn the content. My teacher told us that in the coding portion of the test, these students would often just write "my teacher did not know computer science, we just sat and browsed the internet all class."
I'd consider data structures much more foundational than Java-flavored OOP. It worries me that the curriculum has swung in this direction.
Supposedly it was discontinued due to a lack of people taking it, but that was partly due to the fact that it's not a core subject and I assume because it was quite a bit more difficult than the others. I recall taking the Calculus AP BC exam as well and trivially scoring a 5 on it, while the Computer Science AB exam was actually fairly difficult, even though I spent a significant amount of time learning algorithms and data structures, implementing all of them myself, and reading lots of code. One point of anecdata, but in my experience someone who did score a 5 on that exam was likely very well ahead of the curve going into a university. I was able to skip I believe 3 courses at my university based on earning a 5, and I doubt the same is true of the present A exam.
[wikipedia]: https://en.wikipedia.org/wiki/AP_Computer_Science#AP_Compute...
I should also note that this was a public (magnet) school in the RTP area. CS 1/2 and 3/4 all had ~10-15 students; AP only had about 8. Almost everyone in all of these classes had been programming long before high school. These were old IBM DOS machines. 486ish I think. On a token ring network (one of the guys wrote a rudimentary chat program that worked locally on the network)
I had almost the same setup at a public (non-magnetic) school. No Pascal though - all C++ on NT. I'm not sure if I had the 'average experience' or not. I suspect not.
It was actually pretty great: we didn't have to go through learning a new IDE (we were using turbo pascal the previous year). We didn't have to learn weird GUI stuff. We just focused on the curriculum.
In my view this is as big a deal as the high school course, if not bigger. The earlier you teach it, the less rigorous and more fun it can be.
Ideally, programming is not taught in isolation but integrated into the other classes. For example, as the student's abilities increase, they can start coding solutions to science homework or the like.
Many organizations are hitting the point where they find they cannot rely on the handful of talented teachers to drive their curriculum agenda forward - especially as they scale to multiple cities. To address this, they need to develop their own teacher training curriculums. Since existing math/science teachers already are state certified for their subjects (and most certification laws allow some leeway for math/science to teach CS - as they should), they are the most likely candidates to promote into adding CS into their curriculum. For a software developer to become a teacher (outside of a private school or charter school context), they will find it difficult - due to the minimum certification requirements - they may even need to go back to school and study stuff that may not have a direct bearing on teaching CS (e.g. determining if children are being physically or mentally abused at home).
Considerable effort has been directed towards bringing programming to kids (e.g., Scratch). Perhaps we now need to make the same effort to bring programming to teachers, the majority of whom are weak in math.
A predicament for teachers is not knowing what "language" will be chosen for teaching kids. If you know nothing about programming, the sheer proliferation of options is going to be a forbidding barrier. At this stage, nobody wants to drive a stake in the ground by declaring a chosen language, but doing so would probably go further than anything else to help teachers get started.
Example: When I learned programming, that choice was driven by being wired into every affordable computer: BASIC. It wasn't the greatest language, but it gave teachers something to hang their hats on.
Editorial: If the moguls really wanted to encourage programming, they wouldn't make computers hard to program. It's an outrage that the most popular computer among teachers and kids -- the iPad -- can't be programmed.
Most of the questions have to do with understanding how scopes, assignment, loops, and conditionals work. There isn't very much about data structures -- arrays (both the native and ArrayList kind) were the only structures ever covered. Most of the focus is on OOP and using the API for an app called GridWorld, which is pretty neat.
Here's the College Board site about AP CS:
http://apcentral.collegeboard.com/apc/public/courses/teacher...
requires students to understand the difference between Integer and int (and therefore understand autoboxing), but they don't need to learn trees in the entire course. It seems like their use of Java limits the concepts that they can teach, which means the test ends up being primarily "Can you figure out what this program does" rather than "Use code to solve an interesting problem."
As an aside, these kinds of tests are also awful on students who are dyslexic. Especially questions such as #3, because you have to keep track of a lot of tiny variables, in the correct order, in order to make the code "run correctly". Which means, if you flip even two arguments in the lengthy list of 8 (which is more than most people can keep in their head), you'll get the wrong answer despite really understanding what's going on under the hood.
Since there is already a Java class on campus, I think the AP class should focus more on language independent CS concepts. At least half of our final and tests are problems about determining what is printed by an obfuscated Java program to test knowledge of how edge cases are handled.
Well, when I took AP Computer Science, it was still Pascal, but it was pretty much what it says on the tin as far as being very roughly equivalent to an introductory college class (of course, the quality of introductory classes varies a lot by institution.)
If there are any other computer science teachers on HN, I'd love to hear about what you're up to (especially if you are using Scratch with young kids).
https://leanpub.com/programmingforkids
I want more beta readers though!
I've made a free coupon "hackernews" which has a 10 use limit (for individual use or any of the school packages). If you want to use it with your classes, go ahead. I'd love feedback!
I think it's important to be perceptive of what things kids consider to be interesting, as opposed to what we grown-ups believe to be important. The kids will be bursting with ideas of things that they want to make, and the trick is finding a way to channel some of those ideas into projects that they can actually carry out within finite time and material budgets. But I've learned that what they make doesn't have to be a full blown polished app. The pride of making it themselves trumps any adult aesthetic or ergonomic sensibilities.
Scratch is great. The animations and sounds provide enough creative space to keep kids interested for quite a while. They can teach one another. It has some practical benefits, being written for widespread installation and "safe" use. The accompanying Web forums seem to be pretty closely moderated by grown-ups, while still allowing plenty of fun chatter. The mechanism for sharing and modifying programs provides a taste of open source!
We've had fun with S4A. This is worth checking out. Making stuff dance around on the screen is all well and good, but I think that interacting with the physical world really drives home the fact that you're making the computer do something.
I am teaching some 5th grade math and english in addition to computer science, though if the network is able to continue to grow, there are likely to be teachers teaching only 5th grade computer science in the very near future. Not many NYC middle schools (charter or otherwise), offer computer science to middle school students.
For what it's worth, my undergrad was in economics. I know enough to teach Scratch to 5th graders, though I wouldn't sign up to teach AP Computer Science. Like alistairSH, I also wonder where the computer science teachers are going to come from. Genuinely wanting to work with kids every day is more important than any of this though, in my opinion. Definitely feel free to email me if you want to talk more about any of this.
- master's degree in education, or some other combination of post-graduate work that qualifies for a teaching certificate.
My degree in Economics, with a minor in CS, didn't come close to qualifying me to teach CS in high school. Not that it should have by default.
But, it does make me wonder where Chicago will find CS teachers. If they have to come from the ranks of those already qualified to teach math, that's not a very large pool.
"Basic knowledge of programming" doesn't actually mean anything.
And in taking part in these discussions, we're really only shouting into an echo chamber. I seriously doubt many non technical people browse hacker news.
"A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects." ~ Robert A Heinlein
One of my favorite quotes. (Emphasis mine.)
Also, notes on AP CS - a few years ago, the AP CS AB test (this is the one with all the data structures and stuff) was discontinued - currently the only AP CS class that exists is the AP CS A test (that is, the easier version, that covers a fraction of the material of the AB test). Also currently under development is "AP CS Principles" - an even softer, more humanities focused AP course that deals w/ the role of computers in society in addition to programming. I have mixed feelings about this - on one hand, it'll introduce way more kids to computer science and give them a degree of technical literacy that today's kids really ought to have... on the other hand, not sure how I feel about the 'dumbing down' of the curriculum - I loved CS AB - it was probably the best course I took in high school, and it's a shame that many students will no longer have that opportunity.
Now I may be wrong, but I know that I personally would much rather have been creating something with some basic syntax as opposed to learning theory while I was in grade school. Being able to see your seemingly magical incantations create something cool is going to be a lot more encouraging than studying discrete mathematics.
Theory is cool. Theory has its place, but before you even encounter the situations in which it's applicable, I'd say try making something first.
EDIT -- Especially when these kids are low income. Discrete mathematics to inner city kids is about as relatable as Biggie is to Wall Street bankers.
Is this something recent? I went to grade school (long time ago) with low-income and inner-city kids and quite a few were intellectually curious and interested in abstract ideas.
They are already planning on having AP CS which is a much more in depth class for those interested later on.
BTW, perhaps you're forgetting -- they're just 8th graders. We're luck of half of them can pass a pre-Algebra class. Any coding skills we can get them to learn on top of that is a huge, huge win.
Mechanical engineering students generally take many shop classes, and computer science students spend a lot of their time learning vocation-styled computer skills. All are important, I could get behind getting more of any or all of these into highschools (though programming less so than the other three), but I don't think we should be honest with the terminology we use. If for nothing else, we should keep our terminology straight and honest so that we do not perpetuate misconceptions about what fields actually entail.
Having some programming background is a good thing. In fact, I think it would be better if the courses were more broad than deep, and looked at things like programming graphics, programming robots, programming microcontrollers in appliances, the internet protocols, wireless networking, encryption, sequential circuits, logic gates, etc.
[0] http://www.aqa.org.uk/subjects/english/gcse/english-language...
However, to get some basic programming done, you don't really need any of this, and in fact the code may help you grasp some of the maths so it might even be better to start that first.
Either way, the world runs on code now, it's everywhere. Giving all children a small taste of that, so that they can decide later if they want to pursue it as an interest or a career, is a good thing.
These courses are likely neither of the two, but more of the nature of "practical computer programming".
I would have to agree that the public school curriculum would be about the basics of how computer systems work and how to use them vocationally, rather than say proofs of computational complexity.
But to be less pedantic, let's actually focus on what this will entail.
First of all, "learning to code" is as ambiguous as "learning a [natural] language". Not all natural languages are Latin, and not all programming languages are ALGOL.
Second, I am highly skeptical as to the intentions of this movement. Yet criticizing it is bound to get you labeled a cynic, a Luddite, an obscurantist or a combination of those. After all, teaching kids to code? How benevolent of them!
Not when you realize that the big moguls standing behind this are probably more concerned about having typists who can write instructions, rather than skilled programmers and computer scientists. I'm not saying this out of spite, but because of how they've presented their agenda (I'm referring to Code.org, primarily). The sugar coating, the testimonials from everybody besides actual computer scientists and their setting of sex quotas and affirmative action to create the illusion of desiring equality.
Notice how they all focus on the code. They rarely even use the word "programming". This should already set off an alarm.
As the proprietary software giants are standing by this, they are very likely to focus on proprietary platforms. They don't talk about this, of course. It's all about the code. About imagination, creativity and dreams. Have fun fulfilling your dreams on a locked down tablet with a TPM chip. The issue of software freedom, I believe, is more important than bashing instructions, which is a skill anyone can pick up, if they so desire. But there will be none of that. How many of these kids will be taught about GNU? I'm assuming none. But I'm sure there's going to be lots of Visual Studio and C#, plus iOS and Objective-C.
Ultimately, this will either drive away children from programming (depending on how it's taught, but let's face it: compulsory schooling is notorious for just how apt it is at sucking the life and fun out of learning... even more when Code.org is pushing for pay deductions on teachers whose CS classrooms consist of <40% females), or it will reduce the general quality of labor. Many will be uninterested, many will refine their skills, but many will become 9-to-5 enterprise monkeys as a direct result of this.
I really want to support this. I do. But it really keeps looking like learning to code is just a facade. Of course, the children will learn something, but the ulterior agenda and how their perception will be skewed is something distressing.
True, so what?
> Second, I am highly skeptical as to the intentions of this movement.
Okay, you are skeptical about intentions. Where's evidence of nefarious intent that would lead a person not relying purely on irrational bias to give your skepticism any particular weight?
> Not when you realize that the big moguls standing behind this are probably more concerned about having typists who can write instructions, rather than skilled programmers and computer scientists.
Granting for the moment that you claim of what they would be "probably more concerned about" is correct -- though I'll note you provide neither evidence nor argument to support this imputed motivation -- so what? Having more people with only basic competence might be a desire, but doing that would also seem likely to open the door for more people to move beyond basic competence, as well.
> The sugar coating, the testimonials from everybody besides actual computer scientists
To the extent these are real things (certainly, its pitched to have mass appeal rather than appeal to people who are already into computing and equally certainly many of the testimonials are from people who are influential with the general public rather than specifically computer scientists) it is understandable given that much of the goal is to draw interest from outside the community of people already deeply interested in computing.
OTOH, its a distortion to claim that their testimonials are "from everybody besides actual computer scientists". While their testimonials are from a broad range of backgrounds, some of them are "actual computer scientists" (for example, Maria Klawe [1] and Peter Denning [2].)
> As the proprietary software giants are standing by this, they are very likely to focus on proprietary platforms
There's a lot of companies "standing by this", some of which are "proprietary software giants" -- and plenty of which aren't. Plenty of open source educational projects are "standing by this", plenty of companies whose business isn't selling proprietary software, too.
> The issue of software freedom, I believe, is more important than bashing instructions
Software freedom is meaningless without the skill to "bash instructions", since its only the freedom to choose who to be dependent on. More people with "instruction bashing" skills means more people for whom software freedom means something more than gratis software.
> How many of these kids will be taught about GNU?
I suspect lots of them will learn about GNU whether or not they are taught about it. I wasn't taught about it -- but, being interested in programming -- largely as a result of being taught in school at a young age, often on proprietary platforms -- I learned about it simply in the course of seeking out more resources and tools for programming.
> Ultimately, this will either drive away children from programming [...] or it will reduce the general quality of labor.
Wow. That's an interesting -- and completely unsupported -- dichotomy.
> I really want to support this. I do.
Sure you do.
> But it really keeps looking like learning to code is just a facade.
You have provided nothing other than statements of your own biases to support the idea that its a "facade".
> Of course, the children will learn something, but the ulterior agenda and how their perception will be skewed is something distressing.
You have provided nothing substantial to support the idea that an "ulterior agenda" exists, or that "perception will be skewed".
[1] http://en.wikipedia.org/wiki/Maria_Klawe [2] http://en.wikipedia.org/wiki/Peter_J._Denning
> Many will be uninterested, many will refine their skills, but many will become 9-to-5 enterprise monkeys as a direct result of this.
The kids in the Chicago Public School system are 87% from low-income families. If these course result in "many" of these kids becoming 9-to-5 "enterprise monkeys" then that would be a smashing success beyond anyone's wildest imagination.
Being a "9-to-5 enterprise monkey" means having a job, and given the demographics of the pool here, if many get to that state as a result of this effort, its a big win.
> There's lots of average coding jobs that are unremarkable.
And it would be great if Americans from low income backgrounds were able to get the skills to do them rather being dependent on kinds of physical labor that are easily automated -- which likely means unemployment.
> The workforce will also end up becoming diluted, a natural consequence of making a craft compulsory.
I don't see how this follows. Making learning basic programming skills part of compulsory education might (though I don't see it necessary that it would) increase the number or proportion of people choosing to enter the programming profession that have a fairly low ceiling on how far they could go in the profession, but even if it did why would that be bad?
Where is the evidence for any kind of dilution that really is a "natural consequence" of this being harmful in any way.
> Everything has trade-offs.
Its actually quite possible for some options to be strictly superior to others. But, sure, most real choices have some degree of trade-offs. But where is the argument -- not just the bare assertions -- that the trade-offs here aren't desirable?
I think that's a grossly misleading characterization. Code.org is offering a small ($750) stipend to teachers who successfully complete a course. That is not pay, that's a minor incentivizing bonus. A further $250 is given to teachers whose class had at least 7 female students. (NOT 40%; if you have 7 females and 25 males, you still get that $250.)
Calling that a "pay deduction" is misleading at best. Calling it a percentage-based quota is flat incorrect.
I assume that without real instruction you're not going to learn the theory, and yes someone will have to advocate for OSS, but it seems that the goal is more basic -- not to pump kids full of impressions that 'this way is the only way' and 'just type code don't think no think'.
One thing I noticed more from my sister than the hour of code was that thought processes for programming that we take for granted haven't been implanted, and need to be taught. For example, my sister when faced with a path for the zombie to take would start by telling the zombie to move forwards many times then take a left... etc etc. Conditions and loops are introduced gradually and the idea that you would use a loop to do multiple things instead of just manually doing it is part of this. How should kids understand complex CS concepts without this? They need to start somewhere.
> For one, they're not taught a specific language -- they're given visual blocks to work with (and the ability to show the corresponding javascript).
"Visual blocks" that are used to program would seem to make up a particular language, even if its not a textual language.
Why do you assume that there is some sinister agenda? Why can't you believe that a couple of smart, charming, and lucky brothers decided to spend some of their wealth and time doing what they feel is right? Why can't you believe that some of the smart & lucky folks they've made friends with in their careers want to help?
It's no secret: Better computer science education is beneficial for tech companies. These companies want more engineers. Does the involvement of volunteers from Microsoft/Google/Twitter/Facebook/etc instantly mean that everyone of us at Code.org that really believes we're helping students world wide are bad people for choosing to accept (or soliciting) help from large, influential organizations? Does institutional or celebrity support inherently corrupt philanthropic endeavors? That's such an insane world view to me.
By the way, the word "code" is a marketing decision. It's easier and more fun to say. It's a catchy domain name. It's not about correctness, it's about being impactful.
If you want to support this, but you have concerns, then maybe you should do some research before spreading FUD. Curriculum details are widely available: http://code.org/educate
Tutorials vary wildly in goals, approaches, quality, scope, etc. You can find many at http://code.org/learn including our own (open source github.com/code-dot-org/) and many others, generally utilizing JavaScript or other non-proprietary technology.
Who comes up with these things?
Either way, it's happening: http://developers.slashdot.org/story/13/11/24/187255/codeorg...
Code.org is not "pushing for pay deductions on teachers whose CS classrooms consist of <40% females" as you claimed.
The actual proposal: [1]
* isn't about teacher's pay, its about classroom funding rewards being paid by Code.org [2]
* doesn't refer to % of class that is girls, it pays $750 if 15 or more students reach a certain goals, and $1,000 if, of those 15 or more, 7 or more are girls.
[1] http://code.org/educate/20hr
[2] Direct quote: "These rewards are not cash prizes for teachers - they are classroom rewards. This program is not permanent, it's a one-time campaign to see if rewards can help grow the pool of C.S. teachers and increase total enrollment (especially by girls)."
The rest of my claims still stand. In fact, the affirmative action is probably one of the lesser worries. There's other, much bigger reasons.
Its not incentivizing equality.
The major incentive is for getting any set of 15 or more students through the program. This is 75% of the potential reward.
The minor incentive is for getting 7 or more girls in the set of 15 or more students. This is obviously not an incentive for equality (as, at the minimum number of total students and girls for the incentive, its not equal, and, there's no ratio-based requirement -- if you get 30 students through and only 7 are girls, you get the same additional $250 on top of the base $750 as if you get 15 students through and 7 were girls.)
In addition to not being "incentivizing equality", I don't see how rewarding what works in acheiving goals is bribery.
> The rest of my claims still stand.
The rest of your claims are unsupported fuzzy generalities. In the one case you discussed an easily verifiable fact claim, it was completely wrong. I don't see any reason to assume that your generalities are based on any clearer of a picture of reality than your simple fact claim.
If, absent that reward, there weren't many or any girls in the class, isn't that some kind of problem right off the bat?
Well, here are Code.org's GitHub repos!
Consider UPenn SEAS or Columbia Fu for a similar tier CS program.
It's really excellent for economics (which I was considering), but ended up not going to Chicago after talking to some of the comp sci majors.
Anyone have thoughts about UIC? djb is a professor there, and it seems like their CS department is pretty extensive.
Unlike reading, math, and science, there exists no relevant metric for measuring 'computer science' proficiency.
There's a wide gap between the sorts of problems you can solve (or even identify) with the two skill sets.
1. Someone has already written the code, so there is no reason to write it again
2. The problem is big enough that you are going to end up spending all your time programming, taking time away from what you should really be working on
And maybe there is a need for biologists working on new research where there are no existing tools that match what they are working on, but I don't think that is something that extends to a lot of professions.
I'm really interested in this, and all my anecdotal data (in the hundreds of points) points against what you're saying. I'd love to discuss your experience. I can also bring a few biologists into the discussion, to make it more interesting.
Could you please email me at my nick on gmail?
How come this is a good news? If the news says Chicago students love computer science, it could be a good news. But it is not what the news said. Instead, the news is: all Chicago students will be Required to learn computer science. How can this be a good news?
Will you consider requiring all students to join football team or to play piano a good news?
Unbelievable ...