Slashdot Mirror


College Board Mainstreams AP Computer Science (collegeboard.org)

New submitter Pollux writes: In the Fall of 2016, the College Board will begin a new course titled "AP Computer Science Principles," designed to "introduce students to the central ideas of computer science, instilling the ideas and practices of computational thinking and inviting students to understand how computing changes the world." This course will not replace the existing "AP Computer Science A" course, but has been added, "To appeal to a broader audience, including those often underrepresented in computing." A short list of differences between the two courses notes that instructors can choose a language of their choice. The curriculum framework directs the focus of instruction away from programming as a skill and towards programming as an activity, "enabling problem solving, human expression, and creation of knowledge (PDF)."

69 comments

  1. I think I've seen the coursebook by ColdWetDog · · Score: 1

    Computers for Dummies

    --
    Faster! Faster! Faster would be better!
    1. Re:I think I've seen the coursebook by Anonymous Coward · · Score: 0

      Computers for Dummies

      Subtitle: Computer Science for Everyone Except Caucasian Heterosexual Males - The Sensitive Approach to Computational Thinking

      Maybe they can recruit Jim Carey (Dumb and Dumber) to instruct this new course.

    2. Re:I think I've seen the coursebook by __aaclcg7560 · · Score: 1

      Dummies books are a great introduction to a given topic. If I'm plunging into a topic for the first time, I would read the Dummies book before finding and reading a specialized book.

    3. Re:I think I've seen the coursebook by plopez · · Score: 1

      CS 101. The only course usually taken by Business Majors, Engineers, etc. The people not on a CS major track.

      --
      putting the 'B' in LGBTQ+
    4. Re:I think I've seen the coursebook by Anonymous Coward · · Score: 0

      These might be more appealing to the /. crowd:

      Astronomy for Telescope Geeks
      Discrete Math for Nitpicking Pedants
      Math Which Isn't Science and Isn't About Computers
      How to Not Be a Real Engineer

    5. Re:I think I've seen the coursebook by oakgrove · · Score: 1

      I've found upon finishing a 'For Dummies' title, I know a bit 'about' the topic but I have almost no practical skills in it. It's kind of amazing how well they pull that off.

      --
      The soylentnews experiment has been a dismal failure.
    6. Re:I think I've seen the coursebook by Anonymous Coward · · Score: 0

      The two exceptions to this reality are "Fiddle for Dummies" and "Mandolin for Dummies."

    7. Re:I think I've seen the coursebook by Anonymous Coward · · Score: 0

      Computers for Dummies

      Subtitle: Computer Science for Everyone Except Caucasian Heterosexual Males - The Sensitive Approach to Computational Thinking

      Maybe they can recruit Jim Carey (Dumb and Dumber) to instruct this new course.

      Funny. I earned my CompSci degree 23 years ago. And I'm far from being Caucasian, Indian, or Asian. You would probably identify me as a demographic filling today's prison systems.

      Methinks everyone on both sides protesteth too much...

  2. What the point? by jimmifett · · Score: 1

    >> The curriculum framework directs the focus of instruction away from programming as a skill
    so... it's completely worthless?

    >> enabling problem solving, human expression, and creation of knowledge
    sounds like new age feelz garbage to me.

    1. Re:What the point? by Anonymous Coward · · Score: 0

      The Bill and Melinda Gates foundation could be behind this and so what you'll see is the instructors teaching these classes getting B&MG bonus checks and students will be taught MS Bassic for Clippy. They will learn to make Clippy talk in annoying voices, pop up when you don't want them too, refuse to go away, etc. And of course the skills learned will only apply to Microsoft devices. Students will also get free Windows Phone phones. The final exam will include a short video of each student saying how creative they were because of the MS Bassic for Clippy.

    2. Re:What the point? by DutchUncle · · Score: 1

      Maybe problem solving using logic is a new idea to some of these students.

    3. Re:What the point? by __aaclcg7560 · · Score: 1

      Oh, hell. Making proper change is a new idea to some of these students. Most of whom will be working at McDonald's for all their lives.

    4. Re:What the point? by vel-ex-tech · · Score: 1

      I wouldn't doubt it if the Bill and Melinda Gates Foundation is behind this somehow, but if this is more along the lines of code.org, I don't think selling Microsoft software would be the focus.

      It's been amazing watching the media fall all over themselves trying to trivialize programming. Everyone Can Code! We've got a president who's a programmer because he spent an hour of code. We've got a female CEO who's a programmer because she figured out the secret lingo all us evil misogynerds invented to keep women from programming and can now copy and paste HTML and CSS from StackOverflow (couldn't resist linking there *grin*).

      I suppose if I count time self-teaching, classroom time, and experience out in the real world, I've been doing this stuff for 20 years. There's still stuff I don't grok, like functional programming. I still haven't gotten around to teaching myself database clustering or done any exercises in maintaining, say, a petabyte sized distributed data set.

      There's a programmer shortage! We need more women programmers! We need more H1Bs! You xenophobic misogynerd!

      Oh wait, didn't we just find out that we're going to lose 8% of those jobs over the next decade?

      I suppose it all works out nicely for the Illuminati or whatever they call themselves. Trivialize programming. Drive down wages. Lower the standards. Scare people like me out of the field. Make "cyber" space (yes, I know cyberspace was a thing) sound like a scary place full of revenge porn and other harassment. Generate more "cyber" crime and "cyber" terrorism as software continues to be hilariously easy to hack due to incompetent developers paid 3rd world wages by gaslighting asshole managers.

      Lock the internet down! Backdoor encryption! There, that's better. It's far easier to control the Narrative without the internet or effective encryption.

      Somehow, iPhones will still work. We just won't be able to boot non-Approved operating systems. Don't like Windows or iOS? That's ok, there are several approved variants of Linux, and systemd will keep you safe on all of them, citizen.

  3. Damn it... TEACH MATH and LOGIC by Anonymous Coward · · Score: 0

    ARGH!

  4. Nice! by Anonymous Coward · · Score: 0

    This is a positive step. Computing is a big part of our present and future. The more young people we can get into the field the better! There is plenty of room for us all. I am expecting great things from the next generation of computer scientists! GO CS!

  5. What kind of schlong writes this crap? by xxxJonBoyxxx · · Score: 1

    >> programming as a skill and towards programming as an activity

    The actual AP materials still refer to "skills" throughout. I guess that means you can't just show up at the exam, pout, tell them your name is Marissa and expect to get your 4.

  6. "A language of their choice" by tlambert · · Score: 2

    "A language of their choice"

    Funny; the link labelled that specifically states that the language that will be used is Java.

    So they are not going to learn about explicit memory management, layout of data in memory, pointers, and a bunch of other things, as they would potentially have done with another computer language.

    There also appears to be more of an emphasis on social impact than, say, binary math, boolean logic, algorithms, and data structures. Guess those things are less useful in an AP Computer Science course...

    1. Re:"A language of their choice" by goltzc · · Score: 1

      When introducing someone to computer science, it's important to teach the basic concepts without getting stuck on syntax. Obfuscating things like memory management can be helpful to simplify the learning environment.

      --
      Our bugs are smarter than your test scripts.
    2. Re:"A language of their choice" by wisnoskij · · Score: 2

      Yes, but even more important is making sure everyone understands the fundamentals. I maintain it would of been far easier to teach me the fundamentals of garbage managements if it was done before I learnt all the high level algorithums and such. In my academic career, we were taught Java, then sorting, trees, and all the other main algorithms and data structures, and programming paradigms, then assembly, then finally C++. The last thing I learned, well after we left practical programming long behind, was garbage collection and pointers. Having not had to worry about the practical side of programming for years at that point, it was gruelling. And I still do not get it, really.

      --
      Troll is not a replacement for I disagree.
    3. Re:"A language of their choice" by bfpierce · · Score: 1

      "So they are not going to learn about explicit memory management, layout of data in memory, pointers, and a bunch of other things" Which for the vast majority of fields that require some exposure to CSC are completely unnecessary to even know about. If you want to go further and get more into engineering or full on Computer Science majors, that's what college is for. You know, those courses you'll take after the AP exam.

    4. Re:"A language of their choice" by __aaclcg7560 · · Score: 1

      You were lucky. I had to learn all flavors of Java at my community college after the Dot Com Bust. Assembly language and C++ got cancelled due to a lack of students. Computer programming was no longer the $$$ major. Everyone and their grandmother were jumping into healthcare courses.

    5. Re:"A language of their choice" by HornWumpus · · Score: 3, Interesting

      By my read you never got the most educational language, C.

      IMHO the first language doesn't really matter, but the second and third have to be C and assembler, or the student will never be comfortable 'down and dirty' with the silicon.

      C should always come before C++. Learning pointers and OO in one bite is too much for most.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    6. Re:"A language of their choice" by Anonymous Coward · · Score: 0

      Also, I don't think it makes any difference in which order that C and assembler are learned. But I agree that not learning either of them or execution process memory models limits many aspiring developers.

      E.g. in my teens I went from QBasic on the PCjr to typing in opcodes by hand into DEBUG.COM, then Turbo C/C++ a couple of years later.

    7. Re:"A language of their choice" by Darinbob · · Score: 1

      Yep, the language is unimportant to Computer Science, and programming is a small part of CS too. The language is only important for those treating it as job training or employers looking for quick hires and for short term jobs after which they get fired because they've become outdated. AP used to be about being smart, going above and beyond mere high school curriculum, the cream of the crop, etc. But AP computer science sounds very dumbed down.

    8. Re:"A language of their choice" by Darinbob · · Score: 1

      AP is about doing college level work before college, it is not mainstream high school curriculum. AP *should* be hard and it should be advanced and it should be college level. These are honors courses.

    9. Re:"A language of their choice" by dbc · · Score: 1

      First, recall that the AP test is designed to be worth about 1 semester's worth of credit in a freshman intro course in . So AP CompSci should be thought of as that first intro to programming course. It isn't about deep concepts, it is about testing your understanding of the basics. Memory layout, pointers, memory management, etc, are not first semester intro course topics, and never were. AP CompSci is testing whether you should be forced to sit through intro to programming with people that have never coded anything, or whether you can proceed directly to the courses in topics like memory layout, pointers, and memory management. Don't expect it to be "AP Compiler Design Laboratory for Garbage-Collected, Declarative, Parallel-Processing Languages". That is not the intent.

      My daughter took AP Comp Sci last year. The way the current test is structured is sort of interesting. Students are expected to have spent a significant amount of time studying and working with a particular body of Java code before coming into the test. The test itself then asks them to do things like add methods to particular classes to implement particular changes and enhancements. To that extent, it actually has a more practical structure than one might expect. Before doing AP CS, my daughter was quite fluent in Python, and also had done a modest amount of ANSI C and "Arduino C++" for a science fair project. She didn't much groove on the Java, and it still isn't her favorite language, but seeing another language and its approach to things isn't a bad deal either. Learning to read a big chunk of somebody else's code and grok it was also good, and turned out to be a good skill later when she had a summer internship and had to read a big honkin' glop of C++ mush in order to interface her Python code to it. Given her fluency with Python, the AP CS was actually a cake walk -- it really isn't a difficult test. But then again, the final exam for the very first Intro to Programming course for people that have never coded before isn't exactly a killer either for anyone with any previous fluency in any programming language.

      From what I can see, the current AP CS exam tests what it claims to test, and gives a decent evaluation of the student's understanding. AP Calc, OTOH, seems utterly broken. I had a chance to talk to both a professor who was, for three years, on the grading committee for the hand-graded part, and also a math prof form Harvey Mudd. The HMC prof said they stopped give AP Calc credit, because a 5 was no guarantee that students knew enough to skip the first semester. The grader commented that he could easily see how -- there is a *huge* range on the AP Calc that can earn a 5. If you smack it, you get a 5, of course, but you also can miss a lot and still get a 5. So from the standpoint of a college trying to understand how much calc you know, a 5 has little meaning. So it seems to me that the AP calc exam is not serving anyone well.

    10. Re:"A language of their choice" by zkiwi34 · · Score: 1

      Despite AP CS being "college level work" it is interesting to note that it's not all that well respected by universities. Some universities like it, others treat it as an irrelevance. The kicker with CS at university is that it's the only major out there that does not require (or even recommend) that prospective students take AP CS or any other flavour of CS at high school. What they want is Calculus and Physics, not CS.

    11. Re:"A language of their choice" by Darinbob · · Score: 1

      Only some high schools even offer AP classes. The good schools in good areas have them, but I never even heard of them until graduate school and only then because I was on a scholarship committee.

      To be honest I don't think it helps the students out, especially for science and engineering where there is no need for extra credits. What happens is the student ends up skipping a class designed for incoming freshman and going to a class that assumes you've acclimated to college, which can be a real shock.

    12. Re:"A language of their choice" by Anonymous Coward · · Score: 0

      You could do this with Forth, also...it probably falls somewhere between C and assembler...

    13. Re:"A language of their choice" by Anonymous Coward · · Score: 0

      If you just study C++ you will cover both pointers and OO, and if that's too much for you, maybe you should consider another field of work.

    14. Re:"A language of their choice" by HornWumpus · · Score: 1

      Pointers belong in a beginning programming course/self study. OO does not. It isn't that important. It's syntactic sugar and over involved. Until you understand the low level OO will just hide complexity you should understand first.

      Besides look at all the C++ people who think the get pointers but don't do them right.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    15. Re:"A language of their choice" by Anonymous Coward · · Score: 0

      > Pointers belong in a beginning programming course/self study. OO does not.

      Some people believe the opposite. Even educators can't decide amongst themselves. OO is far more than syntactic sugar, saying it is tells me you don't really 'get' OO.

      Most 'beginning' languages don't have pointers, and don't need them. You can study data structures and algorithms without them.

      C and C++ are not beginner languages. They were designed for use by professional programmers who know what they're doing, and presumably already familiar with the low-level details of how computers work.

  7. unversal search for god the mother underway by Anonymous Coward · · Score: 0

    what happened to her? upstaged? no mixing adam's apples & hymens? gender specific deities is a crocken?

  8. NullNotLearningAboutPointersException by tepples · · Score: 2

    Since when does learning about Java or the verifiably type-safe subset of C# mean not learning about pointers? In Java, every variable that isn't a primitive is a pointer to an object. Sure, you don't learn about pointer arithmetic as a means of iteration, but you still can't spell java.lang.NullPointerException without "Pointer".

    1. Re:NullNotLearningAboutPointersException by xxxJonBoyxxx · · Score: 2, Insightful

      >> Since when does learning about Java or the verifiably type-safe subset of C# mean not learning about pointers?

      When all you know about handling exceptions is to Google for the next bit of code you should toss at them until they go away. (Citation: half of StackOverflow)

    2. Re:NullNotLearningAboutPointersException by wisnoskij · · Score: 1

      Because, you do not learn about pointers in Java. In Java, all of that is taken care of for you, just like you do not explicitly handle garbage collection in java, in java you do not deal with the different between pointers to data and data, you just use variables and let the language figure out how to store it.

      --
      Troll is not a replacement for I disagree.
    3. Re:NullNotLearningAboutPointersException by Anonymous Coward · · Score: 0

      Yeah, I bet Gosling wishes he had named that "EmptyReferenceException" instead.

    4. Re:NullNotLearningAboutPointersException by Anonymous Coward · · Score: 0

      That's pretty bad when any decent IDE begs you to tell it to auto-generate that code.

    5. Re:NullNotLearningAboutPointersException by Anonymous Coward · · Score: 0

      That's because the designers named it that way to make it easier for people coming from C/C++. In reality it should be NullReferenceException

    6. Re:NullNotLearningAboutPointersException by cryingpoet · · Score: 1

      I agree that C# would be ideal. It should be the open EMCA C# standard. (This is not anti-Microsoft, it is just a good open standard to use.)

  9. Mann Coulter by tepples · · Score: 1

    no mixing adam's apples & hymens?

    That depends on what you think of "Mann" Coulter or Rachel "Man"-dow.

    But seriously, some women do have a prominent larynx.

  10. Actually not a bad plan by ErichTheRed · · Score: 3, Interesting

    I'm squarely on the "systems" side of computing, having risen through help desk monkey, support tech, system admin, and finally landing on the systems integration/engineering spot. Every time I've considered taking on more development-focused roles, I've always backed away because of how much generic low-level coding work is being automated, abstracted away or offshored/outsourced. Any dev work that I do is focused on automating installs and tasks (PowerShell, Linux shell scripts, orchestration stuff, etc.) The "appealing to women" crowd is probably going to be strong in their condemnation of this approach, but I do feel that knowing CS concepts is important for a broad range of tech-related jobs and tasks, more so than "spoon fed introductory Java and a little discrete math, we'll teach the interesting stuff later" that you see in intro to CS courses. Therefore, having a "concepts" AP course is a good way to allow people to see if they have the aptitude for either development or IT work in general.

    The truth is that low level coder positions, as in "here's the spec, code exactly to it" work, is going to be less lucrative. Same thing with expert-level systems work, as in "Cisco IOS guru" or "EMC storage wizard" or "VSphere administrator." Offshoring is driving the low level coders out, and cloud is driving the systems guys who are so far into a particular niche that they can't think outside of it anymore. Of course, you are still going to need genius-level people in both spots, but there will be fewer of them, and they will tend to work for service providers -- Azure and AWS run on physical hardware somewhere down the stack and that's where the genius level guys are going to wind up.

    What I think is going to end up being a reasonably stable place to be is a generalist who is capable of seeing the whole end-to-end stack regardless of where it runs or who is coding it. What we will need fewer of is pure CS grads, especially those who don't really understand what's going on under the hood in their language/OS/database/network of choice. So yeah, give high school students a broader taste of what's out there, get them thinking logically and some might end up in CS.

    1. Re:Actually not a bad plan by Anonymous Coward · · Score: 0

      Azure and AWS run on physical hardware somewhere down the stack and that's where the genius level guys are going to wind up.

      As corporate drones running server farms? Wut?

    2. Re:Actually not a bad plan by DigiShaman · · Score: 2

      What I think is going to end up being a reasonably stable place to be is a generalist who is capable of seeing the whole end-to-end stack regardless of where it runs or who is coding it.

      They're called "business consultants" that just so happen to understand the whole technology stack enough to leverage the operation of an organization more efficiently, effectively, and thus more profitable.

      --
      Life is not for the lazy.
    3. Re:Actually not a bad plan by AmiMoJo · · Score: 1

      Why on earth would people interested in increasing women's participation in IT be against this? It's pretty much exactly what a lot of the introductory courses aimed at girls are.

      If anything it's the people opposed to having more women in tech that bemoan the lack of hardcore technical knowledge being taught.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
  11. guys might grow hymens in their butts? by Anonymous Coward · · Score: 0

    some experiment by the catholics? treat us like tinker toys damaging our everlasting spirits during our short stay here? deception & starvation (most victims are kids) # 1 killers of us... 1000s per day,, not on tv..

  12. Mainstreams isn't a fucking verb by Anonymous Coward · · Score: 1

    nt

  13. Dropout rate in college CS1 is horrendous by Anonymous Coward · · Score: 1

    I have looked at this alternate AP course, and my first reaction was somewhat negative. But the concentration on syntactic detail, etc. in the original put kids off. If they can be encouraged to carry on beyond this AP alternative and learn more in a CS1 college course, that should help the dropout rate there and eventually produce more graduates capable of doing real computer science.

    1. Re:Dropout rate in college CS1 is horrendous by DutchUncle · · Score: 1

      ... t the concentration on syntactic detail, etc. in the original put kids off.

      A friend of mine teaches at the community college level. He regales us with stories about the total inability of students to assemble a coherent and grammatical sentence, let alone a thoughtful paragraph. Syntax isn't everything - one can certainly communicate with people whose native language has a different grammar and syntax than one's own - but it can be an important part of conveying meaning.

    2. Re:Dropout rate in college CS1 is horrendous by Anonymous Coward · · Score: 0

      A new generation of Scratch developers is created.

  14. Ugh, first they ax the AB and now this? by dlenmn · · Score: 3, Insightful

    I see that they're hell-bent on watering down the computer science exams as much as possible. First they ax the AB exam (which had some real meat to it), and now they introduce a non-computer-science programming class. I'm not opposed to the test per se, but don't call it computer science. It sounds like something between a problem-solving challenge and weak vocational training. Again, that's not a bad thing, but call it what it is: AP Computer Literacy.

    1. Re:Ugh, first they ax the AB and now this? by Anonymous Coward · · Score: 0

      Well yeah. Big Tech doesn't want the barrier-to-entry to be high, because they want to get as many people entering as possible.

      Of course, once those people are in, Big Tech wants them to be able to deliver. The theory seems to be "get them hooked on a fantasy when they are young, so they accept a life-crushing college debt to get their CS degree, so they are committed and can't escape that career path when the reality of the industry hits them...then they will work hard to become good programmers, for cheap."

      It certainly will produce a crop of impoverished young adults who feel cheated, but it won't produce a lot of competent talent trying to under-bid one another.

    2. Re: Ugh, first they ax the AB and now this? by Anonymous Coward · · Score: 0

      You have it backwards. This is not a "non-comluter-science programming class," it's a non-programming computer science class. (Which still has programming, of course, but not as strong of a focus.) You can learn all of the computer science basics (loops, conditional statements, variables, objects, recursion, etc) without tying yourself down to a specific language.

      Also read again - this is not a replacement. My school intends to offer the class to juniors, and then offer them Computer Science A as seniors. Thus they have the concepts and A is more about learning the specifics of Java.

  15. Not all languages are acceptable... by __aaclcg7560 · · Score: 2

    When I was browsing college catalogs in the early 1990's, some colleges would allow the substitution of a programming language for the foreign language requirement. Needless to say, eight years of Commodore 64 BASIC wasn't transferrable.

    1. Re:Not all languages are acceptable... by Anonymous Coward · · Score: 0

      You said it brother! I tried substituting Basic for a foreign language too but it didn't work.

      10 Print "Back to the drawing board"
      20 GOTO 10

      SYS64738

    2. Re:Not all languages are acceptable... by Anonymous Coward · · Score: 0

      Of course. You normally need to show some ADVANCED or INTERMEDIATE skills to get credit for something. Repeating the same BASIC class for 8 years is really, really bad.

    3. Re:Not all languages are acceptable... by __aaclcg7560 · · Score: 1

      Repeating the same BASIC class for 8 years is really, really bad.

      I never took classes in BASIC. I taught myself on a Commodore 64 for eight years before I got into college.

  16. Does calling 'free' teach you anything? by dlenmn · · Score: 1

    (I'm not responding to you in particular, but this seems like a relevant branch to post in.)

    I don't get why people think that it's not a real education unless you call malloc and free (or their equivalent in other languages). malloc and free are still automatic memory management because you're not implementing the details yourself. Yes, it's good to know how automatic memory management works, but calling simply malloc and free doesn't teach you that. Have you implemented your own memory management scheme from scratch? Unless the answer is 'yes', learning about memory management is something divorced from learning the language.

    Complaining about automatic memory management is as silly as complaining about these newfangled languages like C with their automatic floating point arithmetic! CPUs didn't (and some still don't) have hardware floating point support, so floating point math was/is a software blackbox that gets used just like automatic memory management, but no one seems to complain about using the floating point black box.

    Why? Because very few of us were brought up on languages without floating point support (I'm looking at you, FORTH), so we don't see floating point arithmetic as the black box that it is. However, many of us were brought up on languages without automatic memory management, so we can spot that black box.

    Let's take the black-box problem to its, ahem, logical extreme: you're not a real programmer unless you can build your computer from scratch with NAND gates alone. Sounds ridiculous, doesn't it?

    Just let the kids have their automatic garbage collection, easy pointers, etc.

    1. Re:Does calling 'free' teach you anything? by Anonymous Coward · · Score: 0

      I don't get why people think that it's not a real education unless you call malloc and free (or their equivalent in other languages). malloc and free are still automatic memory management because you're not implementing the details yourself.

      Whatever CS program you went to, you obviously failed it. malloc() / free() and new / delete (in C++) are considered manual memory management, see https://en.wikipedia.org/wiki/Manual_memory_management.

    2. Re:Does calling 'free' teach you anything? by Anonymous Coward · · Score: 0

      He's saying it's a misnomer...because it's still hiding details...

  17. A course showing tech is useful by Etherwalk · · Score: 1

    That's a very good example of why something like this can be done well and give people a richer understanding of computing, even if it's not that useful to most programmers.

    When I did undergrad, the CS department was interested in getting more women in coding and found really two things: (1) if the intro course was taught by a woman, students were more likely to go into CS, and (2) women interested in taking CS courses were much more interested in taking them for utilitarian reasons, because those courses would be useful for them in another specialty.

    And that second group--people who are not computer experts but who learn a lot of computing because it is a useful tech--is a massive group that should not be discounted. Those are the people a program like this can start to influence.

  18. The 7 big ideas are great (but not the order) by joeblog · · Score: 1

    I think the goals here are highly commendable, and keeping it programming language agnostic is pragmatic because whatever you learn today is going to be BASIC in a few years. While I concede the authors have a lot more experience at teaching than I do, I disagree with the ordering of the big ideas and suggest my own priority below.

    Big Idea 3: Data and Information

    What has turned me into a programmer is having to deal with data in my job. The MooCs on this tend to focus on languages like R and SQL to solve problems too big for spreadsheets to handle. Admittedly, this might be too "real world" for a school syllabus, but I've become convinced data-driven programming is the best way to keep things practical. Once you deal with manipulating real world data, concepts like data types follow naturally.

    Big Idea 2: Abstraction

    I'm a big fan of the "How to Design Programs" school which is unfortunately strongly-tied to a Lisp-dialect Racket. But the fundamental ideas apply to all programming languages. Step one for any novice programmer should be to state clearly what data types their functions are reading in and returning. Teaching test driven development from day one is also fantastic.

    Big Idea 4: Algorithms

    Once you have some first hand experience at the slow speed amateurish attempts to handle big data crunching leads to, the importance of this becomes clear. Here I find Python a great language because R and SQL do too much "under the hood" to make the design decisions understandable.

    Big Idea 6: The Internet

    Where does data come from? There's no way to access data these days without knowing the HTTP request library of whatever programming language you are using. Furthermore, hopefully everything soon will be done via a browser. So students should learn from day one how to use browser-based text editors, lints, storage managers like git etc.

    Big Idea 1: Creativity

    This is where games are great. Everyone enjoys games, and programming games is the best way to learn. Perhaps placing this first comes from pedagogical experience, but I suspect it's best left until pupils have a bit more know-how of what's doable at their skill level.

    Big Idea 5: Programming

    The best way to understand how programming languages work is to write your own mini-DSL interpreter. This is generally regarded as a very advanced topic, but is actually quite simple given the great MooCs covering it these days.

    Big Idea 7: Global Impact

    The cool thing nowadays is once pupils have created a web-based game, it's available to the world. This does entail becoming a JavaScript ninja.

    --
    If it works, it's obsolete
  19. selling out k-12 to billionare donors by Anonymous Coward · · Score: 0

    I am amazed that silicon valley billionares have been able to influence the press, Congress, and Obama, into elevating computer science into near a main topic of k-12 education. Most people don't use Calculus, or Chemistry, after college. Computer programming will be even worse. ~140,000 people took the AP Chemistry exam. ~39,000 took the AP Computer Science exam, and that is a big increase from ~15,000 in 2003. Fuck the sellouts in Congress, but Congress did write No Child Left Behind. I should know better than expect the media to have ethics.

  20. And it should include formal logic by Anonymous Coward · · Score: 0

    As an engineering major in the 1960's my university had a philosophy requirement for engineering students. I noticed a course in formal logic, which I took and enjoyed very much. I ended up becoming a software engineer, and that course has held me in better stead in my career than all the computer programming classes I have ever taken!

  21. One question... by zkiwi34 · · Score: 1

    Will the universities care if you've done AP CS (either one), or will they still continue to treat high school CS as being irrelevant and just keep on requiring Calculus and Physics?

  22. Nice, but... by Anonymous Coward · · Score: 0

    This is nice, but in Illinois, universities still have the right to refuse transfer credit, and usually do. I know this because I am a former community college professor. The Illinois Articulation Initiative (IAI) sets guidelines for courses intended for transfer. However, even if the IAI panel approves a course from a particular community college, it is still up to the discretion of the university as to whether or not to accept the credit. Very dysfunctional.
    Thankfully, general education credits (Math, English, etc.) transfer much easier. However, Computer Science transfers in Illinois are a big mess. Frankly, after having taught for 10 years, I can't see much of a future for Computer Science at the community college level here in Illinois.
     

  23. Misnomer by Anonymous Coward · · Score: 0

    So call it MIS instead of CS.