10 ms·
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
by icegreentea 13y ago
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/press_releases/2013/december_2013/mayor-emanuel-and-cps-ceo-barbara-byrd-bennett-announce-comprehe.html 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/HSGraduationReq_English.pdf http://www.cps.edu/SiteCollectionDocuments/PromotionPolicy/H...
- deleted 13y ago[deleted]
- StefanKarpinski 13y agoThank 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.
- sillysaurus2 13y agoAnyone 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.
- dragonwriter 13y ago> 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.
- timjahn 13y ago"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?
- StefanKarpinski 13y agoThere 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.
- 001sky 13y ago
- dragonwriter 13y ago> 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.)
- gambogi 13y agoThe college board killed the AB test the year I took APCS (which was 2011 iirc)
- dragonwriter 13y agoRemoved the reference to AB (the information I can find says it was discontinued in 2009.)
- warfangle 13y agoMy 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.
- tsm 13y agoOh 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.
- warfangle 13y agoYeah. 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)
- rayiner 13y agoI 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.
- michael_h 13y agoYou 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.
- ucarion 13y agoI 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/teachers_corner/4483.html http://apcentral.collegeboard.com/apc/public/courses/teacher...
- mjmahone17 13y agoThis curriculum seems a bit absurd. One of the sample questions from: http://apcentral.collegeboard.com/apc/public/repository/ap-computer-science-course-description.pdf 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.
- mournit 13y agoI 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."
- analog31 13y ago>>> 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.
- mathattack 13y agoYes. Though I wonder where they'll find the people to teach it.
- wallflower 13y agoMy 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).
- analog31 13y agoThis 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.
- mathattack 13y agoThe 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.
- belluchan 13y ago> 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.
- droopyEyelids 13y ago> 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.
- mathattack 13y agoFair 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.
- ajayjain 13y agoI'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.
- RyanZAG 13y agoWhile 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.