Hacker News new | past | comments | ask | show | jobs | submit login
Chicago makes Computer Science a core subject (edtechmagazine.com)
206 points by taylodl on Dec 26, 2013 | hide | past | favorite | 153 comments



Ugh, had to go scurrying around to find this info (really wish they linked it directly), but here's the actual proposal (and its press release):

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...


Anyone who's cheering this proposal should remember how well making mathematics compulsory has worked out for us. How many kids are (justifiably) disgusted with advanced mathematics because it's forced on them?

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.


There does seem to be a lot of negativity about "math", but at the same time people do generally know how to do basic arithmetic, problem solving, and even some algebra – none of which comes naturally to humans. You could argue that in average schools, kids "learn dumb ideas from half-interested teachers" in all subjects. The question therefore, is whether computer programming/science will suffer the same fate as math and become cool to hate, or be more like english, history, or foreign languages, which while not universally beloved, are at least not typically reviled. Honestly, I think that learning programming is probably a lot more fun than any of the traditional subjects. The interactivity and immediate feedback could actually make it by far the least distasteful subject for many school kids. If anything, programming could indirectly get more kids interested in math.


At some level 'math' becomes an academic word, and what students need is more rigourous fundamental numeracy. I hate the phrase 'quantitative' reasoning, but many people outside of maths departments actually use math in fundamental, yet rigorous ways. Part of the issue seems the deference to authority in the schooling system, which is paralleled in other ways...deference to 'expertise'...or 'abstraction' when what should be the heart of the matter is actually rigor and fundamental soundness. The latter is at conflict with other pet ideas, though. Like everybody wins and the overpromotion of self esteem. The cool to hate ("fancy math") thing is just a channeled form of anti-authoritarianism. Whereas fundamental soundness is actually providing the tools for power and freedom for the individual. When schools (but rarely) teach proper maths notation...I wonder...how/are they going to swallow cs?


Students are taught that "math" is doing arithmetic by hand, simplifying and factoring expressions, memorization, plugging-and-chugging formulas, and in general performing rote computations with pencil and paper. These things are simply not pleasant for a lot of people. Nothing anti-authoritarian about it, they're just unpleasant and repetitive tasks that any good hacker would be aching to automate.

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.


> 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. How about daily life? Would you rather pull out a calculator?

In my experience, (fast) mental arithmetic is very very useful for all sorts of things. Shopping, driving, eating, anything.


Useful, yes. Fundamental to soundness, proof, etc? Not at all.


Sure kids will hate all kinds of subjects. I always hated math in school until I started using it in programming. I think getting kids from poor families on a computer with the compiler set up can get the ones who had a knack for it but never had the opportunity to maybe start pursuing a career in it. People who later became programmers/engineers soaked up any kind of programming/CS class like sponges and went way beyond the scope once they got excited.


> 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 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.


"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."

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 challenge is how they'll be able to teach folks computer science, when they fail to teach them basic reading and math.

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 challenge is how they'll be able to teach folks computer science, when they fail to teach them basic reading and math.

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.


My SO is a teacher. We have a similar amount of experience, my partner has more degrees. I make exactly twice as much money.

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.


The marginal product of your work is higher. The amount of money you make is proportional to how much value would not be produced if you were to quit. To copy an older explanation I wrote:

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.

https://news.ycombinator.com/item?id=6846579


Public school teacher compensation is totally unrelated to their productivity. Measurement is haphazard and terrible, outcomes are universally ignored, and generally pay depends on the the tax assessment of the surrounding real estate.

There are professions where that's a good model, but it seems remarkably unrelated to the dynamics of the teaching market.


I was going to tear your response apart, but I think your logic is actually very correct. This is especially true if the employer is a monopoly.

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.


This has nothing to do with a monopsony. In a perfectly competitive market, wage == marginal product.

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.


Yes - but the reality in most large cities (where the problems are) is 1 union and 1 employer. Once you get to the suburbs, there is a lot more mobility amongst the teachers. If they don't like a school system, another is 5 miles away.


It highly depends on the metro area.


> You just can't convince Americans to spend money on public schools.

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.


It's not just money, it's accountability, it's income of the students, it's how progress is measured... Tossing money at a broken school is about as productive as tossing money at an overdue software project. Conceivably it could help, but the data suggests that you should fix the root cause of the problem first.


I'll go one further than that: we blame schools for not fixing what are fundamentally deep-seated social, rather than educational, problems. Tossing more money at schools, broken or functional, isn't productive.

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.


Here's the strange thing though... Some charter schools do educate the same poor populations, and do it well. The Success Academy [1] is very controversial, but their kids in Harlem and the Bronx do get good test scores. [2] One can argue that they weed out bad apples, but the numbers are still phenomenal even if you assume they've pushed out the bottom 10%.

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...


Not so strange once you find out the some charter schools can effectively choose their populations via disciplinary measures. http://www.nydailynews.com/new-york/education/success-academ...


I'd imagine the students at charter schools have families trying very hard to overcome the ambient culture.


Yes, that too. But what's wrong with giving all those families opportunities in schools that allow it, rather than forcing them into cesspools that people are afraid to close for political reasons?


> 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.

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.)


But Chicago isn't facing teacher shortages. They have an oversupply give the drop in enrollment over the last decade.


California isn't Chicago. There were cuts in the majority of years since 2000, and we never spent that much to begin with.


SFUD starts at $46k plus $4k pension contribution plus $6k-8k health insurance contribution. Plus Extensivr time off. That's not top of the market nationwide, but its very good for non-STEM people. Arguing otherwise is totally oblivious to the job situation currently faced by non-Stanford, non-UC liberal arts and humanities majors in this economy. Remember, nationwide the full time employment rate for recent grads is below 50%. Even a $40k per year job with no benefits is great outside of STEM.


I know it. Most of my humanities and psychology-major friends are working retail or driving trucks. The higher achieving girls are teachers.


I suspect your salary will triple theirs within 5 years.

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.


You just can't convince Americans to spend money on public schools.

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.


Most of the higher-paid administrators, etc., are women though.

That said, most of the (invariably obscenely overcompensated) superintendents I've heard of have been male.


Seliger is a great writer.

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.


> 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.

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.


Charter schools are, in fact, public schools. They just aren't administered by the centralized government system.


Yes. And more accountable. The waiting lists are huge for charter schools. Why not give the parents more options for their kids? As a parent, I would prefer results like these, to the results of failing schools.

http://projects.nytimes.com/new-york-schools-test-scores/cou...

and

http://perdidostreetschool.blogspot.com/2013/08/bronx-succes...


Partially or wholly publicly funded, yes. Publicly operated or administered, no. The part about operation and administration is the key point about parents and communities being able to have input into their children's schooling. Charter schools don't address the existing problems with public education in regards to many communities being able to have a voice in achieving quality education.


> Partially or wholly publicly funded, yes. Publicly operated or administered, no.

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.


Charter schools don't address the existing problems with public education in regards to many communities being able to have a voice in achieving quality education.

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.


If the lockstep payscale were double or triple the present rate you wouldn't need to fix the union.


Teachers generally make more than the average college graduate despite having below-average qualifications. It makes absolutely no sense to pay existing teachers more money. If the rationale behind paying teachers more is to get a higher caliber of person, then the only thing that makes sense is to make the higher pay-rates applicable only to new teachers hired under more stringent criteria.


This seems backwards. More experience on the job means you are no longer qualified for more pay, but new hires that have no experience in classrooms do qualify for higher pay?


What's the rationale for paying teachers more money? The usual one that is trotted out is that existing levels of teacher pay are insufficient to attract the caliber of teachers we want in our schools. In other words, experienced or not, our existing teachers just aren't very good: http://www.washingtonpost.com/blogs/answer-sheet/post/do-tea....

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.


Well, the notion that all existing teachers are no good is not true, so that rationale doesn't really hold up. College graduation stats for teachers doesn't tell the whole story of how teachers perform in their jobs and school districts. It is true that higher pay would attract more people to teaching, but there are a lot of factors that go into why teachers aren't paid more in the first place.


> Well, the notion that all existing teachers are no good is not true, so that rationale doesn't really hold up.

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.


> Teachers, in the U.S., are generally drawn from the bottom half of college graduates.

[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



So its a weakened modification (from "bottom third" to "bottom half") to a claim that, even in the weaker form, has only fairly weak justification depending on the particular time-based slice of the teacher workforce you look at, and relies on ranking college graduates not by any kind of college performance, but by college entrance exams?


Specifically:

> 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.


> Comparing performance on entrance exams is more consistent with how private sector employers evaluate non-STEM college graduates.

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.


I'm necessarily talking about aggregates here. Bottom 1/3 on the SAT is around 900/1600 on the SAT scale used between 1995 and 2005. Generally people who score in that range go to a college that does not offer a great prospect of making more than your average college graduate, even with a very good (but not extraordinary) performance in college.

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.


> I'm necessarily talking about aggregates here. Bottom 1/3 on the SAT is around 900/1600 on the SAT scale used between 1995 and 2005. Generally people who score in that range go to a college that does not offer a great prospect of making more than your average college graduate, even with a very good (but not extraordinary) performance in college.

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.


> Comparing performance on entrance exams is more consistent with how private sector employers evaluate non-STEM college graduates.

"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.


How many people do you know that went to a school where you can get in with a bottom third SAT, in the lat five years, and what do you know about their job situation?

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.


> The challenge is how they'll be able to teach folks computer science, when they fail to teach them basic reading and math

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.


Fair enough. I'm not that extreme, and I get that schools need to offer students the best in education. But many of these schools in question are failing enormous quantities of students. The school my kids are zoned for (public, not in Chicago) has 85% of the kids failing state exams, with half getting the lowest score possible. They're investing millions of dollars in trips to the museums and other "magnet" activities, while they can't provide even a basic education.


I tutor math at a local high school. The core problem, at least as far as I can understand it, is the students' lack of motivation - learning math is way down their priority list. (The material is basic, and the students appear to be of normal intelligence. There's no reason they couldn't grok this stuff.)

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.


> The challenge is how they'll be able to teach folks computer science, when they fail to teach them basic reading and math.

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.


Anyone with a math or physics degree in the last 20 years should be able to learn basic programming. Of course, those are the teachers who are already in short supply.


I took AP Computer Science in High School. My teacher, who sometimes served as grader for the AP exam, would often tell us of one year in which there was a large number of abysmal tests. Many students could not answer even the most basic of questions. He and the other graders noticed that all of these students were from one particular state.

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."


Thank you for finding all of that. I think it squashes a lot of the negativity and objections elsewhere in this discussion. That is a legitimate sounding computer science curriculum and it's incredibly refreshing that it puts the discipline on a par with traditional fields.


My High School AP CS class was C++, with a very heavy focus on data structures, up to and including balanced binary search trees (we had covered linked lists, doubly linked lists and other more basic data structures, including pointer math, in CS 3/4). Second semester was a self-directed team project. This was in 2001-2002.


Oh wow. Mine (2010) was in Java, and featured elementary OOP (class/object distinction, inheritance, abstract classes vs. interfaces, polymorphism) and array/ArrayList usage. And reading—but not writing—recursive functions. Implementations of data structures and the mere existence of non-list data structures weren't even hinted at. (And this wasn't just a problem with my school—I aced the class got an easy 5 with the above knowledge.)

I'd consider data structures much more foundational than Java-flavored OOP. It worries me that the curriculum has swung in this direction.


It's worth noting around 2009 that the harder Computer Science exam was no [longer being given by AP][wikipedia]. The course I had was AP Computer Science aimed at the AB test back in 2004-2005. It was in Java but every bit as rigorous as the one described by the grandparent's in C++.

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...


Yeah. We covered operator overloading, OOP (minus polymorphism) in CS 3/4 -- along with learning C++! CS 1/2 was all in Pascal.

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)


You were running a token ring network in 2001? Whoa.

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.


Yeah; we were running borland turbo c++ 3.0! how modern; wow!

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.


I took it at a magnet school too (the same year), but I'm pretty sure the basic curriculum was dictated by the AP test, which tested data structures and the like heavily.


>>> 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.

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.


Yes. Though I wonder where they'll find the people to teach it.


My friends who are involved in this area (teaching kids programming), some of whom work for a number of emerging organizations for teaching kids coding, realize that they need to teach (existing) teachers how to teach coding.

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).


This is a gaping issue. I don't think the answer lies in turning teachers into the kind of programmers that I imagine many of us are on HN. Most K-8 teachers don't have the background that I had when I learned programming, or the spare time to spend hours a day hacking.

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.


I took AP Computer Science A two years ago as a sophomore.

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...


This curriculum seems a bit absurd. One of the sample questions from: http://apcentral.collegeboard.com/apc/public/repository/ap-c...

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.


I'm currently a sophomore in APCS after taking a year of the base Java class. Both focus on the language for the most part. In APCS, ~60% of the material is Java OOP, as in specifics behavior when overriding methods, static vs instance, interfaces etc. 20-25% is control structures, syntax etc, and in first semester we've covered basic sorts, built in arrays and ArrayLists. I believe in second semester we talk about elementary data structures like linked lists and _maybe_ binary trees after the AP exam (the class is structured around CollegeBoard's AP exam).

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.


While not a complete waste of time - having some foundation in that stuff is useful in the way learning to do long division is useful - it's definitely not what they should be teaching. Can't really blame them given that many universities also go that same route with CS classes, but hopefully people can put pressure on them to fix it up.


> I've never taken AP CS, but I bet lots of people here have, and they can probably elaborate on its usefulness

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.)


The college board killed the AB test the year I took APCS (which was 2011 iirc)


Removed the reference to AB (the information I can find says it was discontinued in 2009.)


My god, people. Why is there so much dickish nitpicking in this thread? This is great news! It is mind blowing (to me at least) that basic knowledge of programming is not a general requirement – and this is a step in the right direction, regardless of whether the terminology is exactly fucking correct or not.


As a 5th grade teacher who teaches "computer science" among other things, I completely agree that this is great news. Kids love learning about basic programming concepts, and they deserve the opportunity to be exposed to programming at a young age.

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).


I agree! I think it's possible to teach kids programming from a very young age, provided they have the right tools. I'm teaching my grade 3 son how to program, and I'm doing it by writing a book which he is following along with:

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!


How did you become a computer science teacher? Did you get a degree in teaching? I have my degree in cs and am interested in becoming a teacher and trying to find as many options as possible.


I joined a charter school network in NYC last summer. I am working on a teaching degree simultaneously (there is classwork during the year, but the bulk of the work was/will be during the summers on either side of this school year).

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.


In my county (suburban DC), it was roughly (I briefly considered moving into teaching in the early 2000s): - degree in related subject, typically math (CS is/was part of the math department in the county)

- 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.


I've found that kids can pick up on scratch, cs unplugged (http://csunplugged.org/) and html/css fairly quickly.


Well, I'm not a teacher, but I've got two kids in 6th and 8th grade, who are learning programming. We've been doing this for a few years now. Both kids are proficient in reading and math, and are interested in a wide range of subjects. Oddly enough, they have radically different styles of learning.

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.


Check out http://frompythonimportpodcast.com/2013/12/24/episode-016-ka... which features the "Young Coders tutorial at PyCon" . Geared towards kids at least 14 years old, it was pretty fascinating. http://www.informit.com/articles/article.aspx?p=2163338


I teach CS in the UK to 11-18 year olds. CS has recently become core in the UK for all students up to the age of 16. I start the kids off with a Scratch at first, then move on to a little HTML/CSS/JS. After a year or so we start teaching them Python.


Code cowboys realizing they're not going to be able to coast to an early retirement.


It's not dickish nitpicking, it's expressing genuine concerns. Language is meant to be used properly.

"Basic knowledge of programming" doesn't actually mean anything.


There is no such thing as "proper usage of language". Language means what we all agree that it means which is a consensus that evolves over time. Unlike programming languages, it has no fixed or proper meaning or usage. I think that most of us can agree that while it may not be precise, "basic knowledge of programming" does actually mean something. It is distinct from, say, basic knowledge of French or basic knowledge of juggling – hence, it means something. And from the number of upvotes my original post is getting, it seems that at least a few people agree that some of the commentary in this discussion is, in fact, dickish nitpicking.


How does "basic knowledge of programming" not mean anything? Almost every book on programming starts with "basics" section.


Of course language is meant to be used properly. But judging by the bastardization of other technical phrases, (e.g. hacker) and their criticism, these discussions will amount to nothing.

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.


Pardon the aside, but:

"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.)


I see several comments on this thread re: 'where are they going to get the teachers?' Not sure what Chicago is planning to do, but I'd love to see them follow the TEALS k-12 model (http://www.tealsk12.org/) - TEALS is an organization that brings software engineers into high schools to teach computer science (so you, yes you, can teach CS!) - there is a regular classroom teacher in the classroom w/ you, and while they help you out w/ teaching/classroom management etc, you are helping them to learn about computer science - so after a few semesters of assisting in intro CS classes, these full-time teachers are prepared to teach it themselves. Awesome program.

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.


That seems like a great program. I too am skeptical about their ability to find enough CS teachers that are qualified to teach, so I hope they have a plan other than giving random teachers a book and setting them on their own. If you haven't posted this to hacker news yet, you definitely should! They look like they need and deserve more attention.


I really don't think teaching some basic syntax and some scripting is "computer science." It would help students a lot more if we started offering courses like discrete mathematics instead.


I know HN is really, really focused on semantics. I know this. But seriously, every single time one of these articles pops up with the GP calling programming 'cs', the majority of the discussion is focused on calling out how it's incorrect.

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.


I agree it's probably better to teach children some basic syntax instead of discrete mathematics but I think part of webo's point was you can teach basic syntax without calling it "Computer Science"


I really don't see webo making that point, but I could be mistaken.


And conversely, it is possible to go through an entire Computer Science course without touching any code. It's a distinction with a difference.


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.


No not at all! The poster I was replying to was suggesting using DM alone instead of basic scripting.

They are already planning on having AP CS which is a much more in depth class for those interested later on.


The point I suspect is not to make them all into little Knuths. It's to make sure they have at least some exposure, so they can decide if this something they want to pursue in a focused way later on -- and, importantly, regardless of their parents' own professional background (or lack thereof).

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.


Agreed. That sort of thing is to "computer science" as "shop class" is to "mechanical engineering".

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.


Even if it isn't "true" CS, they're likely to learn useful skills that can help them automate repetitive tasks and things like that, and give them enough exposure to decide if it's something they may want to do in the future. If they decide to study it more in depth, awesome. If not, the worst that happens is they got a few skills that may help them in the future


Aye, it seems like a good enough idea.. I just think that they should be more accurate with what they call it. Inaccuracy does not do anybody any favours.


It's K-12. They don't name anything quite right.

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.


Yeah and in so-called "English language" why are they teaching kids how to use semi-colons and paragraphs instead of etymology and James Joyce.


Because James Joyce is taught in English Literature, not English Language.


A mind-numbingly tedious point, even for HN. Unsurprisingly English language courses also require study of written texts [0] but that's irrelevant for the purposes of the analogy.

[0] http://www.aqa.org.uk/subjects/english/gcse/english-language...


In the UK, kids do (or did) get taught various forms of discrete mathematics at fairly young ages. Boolean algebra, very basic set theory etc.

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.


I think there is a common confusion about the term Computer Science. Universities such as University of Chicago teach raw CS. UIUC and U. of Ill. teaches what I would call Computer (Software) Engineering.

These courses are likely neither of the two, but more of the nature of "practical computer programming".


Having studied CS at UIUC, the undergrad CS curriculum on the U Chicago website is indistinguishable from my own undergrad requirements.

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.


So, is it computer science or computer programming? This is only going to add a truckload of fuel to the already huge fire that is the confusion between computer science and computer programming.

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.


I think you're quite missing the point.

> 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.


This doesn't necessarily mean they'll work directly as programmers, or that they'll have high-paying jobs. There's lots of average coding jobs that are unremarkable. The workforce will also end up becoming diluted, a natural consequence of making a craft compulsory. Everything has trade-offs.


> This doesn't necessarily mean they'll work directly as programmers, or that they'll have high-paying jobs.

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 know that $150k+ straight out of college is the norm on this board, but "unremarkable" "average coding jobs" are nonetheless a solid foundation for a middle class life. Just 1/3 that amount is enough to pull a family of four out of the "low-income" category, a category that encompasses the families of 87% of students in Chicago public schools.


> Code.org is pushing for pay deductions on teachers whose CS classrooms consist of <40% females)

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.

http://code.org/educate/20hr


So having actually seen what Code.org's small hour of code assignment was (my sister in 6th grade had to do it), I can say that it's not as evil as you're making it out to be. 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).

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.


Pedantic, perhaps, but:

> 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.


Disclaimer: I worked on Code.org's beginner tutorials.

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.


The "big moguls" would love more skilled programmers and computer scientists. I don't know why you think the evil employers want less skilled workers, but that makes no business sense.


> Code.org is pushing for pay deductions on teachers whose CS classrooms consist of <40% females...

Who comes up with these things?


People wanting to generate outrage about things that aren't actually happening.


I'm not sure if you're accusing me of disinformation, or if you're expressing shock at the frivolity of the idea.

Either way, it's happening: http://developers.slashdot.org/story/13/11/24/187255/codeorg...


"Disinformation" would be an accurate description of your claim.

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)."


Very well. This is still trying to incentivize equality through what is essentially bribery. At least they don't intend on doing it regularly, not for now.

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.


> Very well. This is still trying to incentivize equality through what is essentially bribery.

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 that extra pay for recruiting girls more heavily works, that's ok.

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?


Oh, it was the latter.


> As the proprietary software giants are standing by this, they are very likely to focus on proprietary platforms.

Well, here are Code.org's GitHub repos!

https://github.com/code-dot-org


> First of all, "learning to code" is as ambiguous as "learning a [natural] language".

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


Unrelated: Don't go to UChicago if you want to study CS. The department isn't built out.

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.


It might not be what you were looking for, but to say it's not "built out" is a bit of a reach. I don't see how a department whose faculty include Alexander Razborov and Laszlo Babai can be considered lightweight. If you're interested in theory, UofC is a very good place to go. Are they upenn, columbia, cmu, etc.? No, but they're not trying to be. It's much more an extension of the Mathematics program than at many other places.

http://en.wikipedia.org/wiki/Alexander_Razborov

http://en.wikipedia.org/wiki/László_Babai


That's not completely fair: the math department is world-class, and the computer science department is sort of an offshoot of it. It does have a very theoretical bent. That doesn't mean it's bad.


He didn't say it's bad, but rather that it's not built out. It's true that all else equal, UChicago isn't a good choice for CS.

Anyone have thoughts about UIC? djb is a professor there, and it seems like their CS department is pretty extensive.


As well all know though, UIUC is where it's at for CS.


Of course, but I would say UIC is very good as well.


nor NIU


So right now is the time to start a long-term study on all of the students who go through the program to see if it prepares them better for CS/various engineering disciplines in higher-ed.


Schools will need to teach this instead of core performance indicators.

Unlike reading, math, and science, there exists no relevant metric for measuring 'computer science' proficiency.


Computer Science or Programming?

There's a wide gap between the sorts of problems you can solve (or even identify) with the two skill sets.


Hopefully the latter. There's no practical reason for a biologist to understand Djikstra's algorithm, but a lot of professions will benefit from being able to code up helper scripts.


Perhaps my view is blurred by being a programmer, but I have never found the skill to be particularly useful in my non-programming side businesses. It is a nice idea that biologists will write helper scripts, but my experience in the real world is more like:

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.


Hi!

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?


Lipstick on a pig...


There goes the job market


Wow. Read the comments make me wondering why so many geeks are so incapable of thinking social issues. Do you guys have even a little bit of sense of human feeling?

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 ...




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: