Follow Slashdot stories on Twitter


Forgot your password?
Programming Education

College Board Mainstreams AP Computer Science ( 69

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)."
This discussion has been archived. No new comments can be posted.

College Board Mainstreams AP Computer Science

Comments Filter:
  • Computers for Dummies

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

    • by plopez ( 54068 )

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

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

    • Maybe problem solving using logic is a new idea to some of these students.
      • 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.
  • >> 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.
  • by tlambert ( 566799 ) on Wednesday December 23, 2015 @02:34PM (#51173735)

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

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

      • Re: (Score:3, 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)
      • 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.

        • (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 fr

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

    • by goltzc ( 1284524 )
      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.
      • 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 ga

        • 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.
        • by HornWumpus ( 783565 ) on Wednesday December 23, 2015 @04:50PM (#51174731)

          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.

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

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

        • by zkiwi34 ( 974563 )

          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.

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

    • by dbc ( 135354 )

      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

  • by ErichTheRed ( 39327 ) on Wednesday December 23, 2015 @02:45PM (#51173803)

    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.

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

    • 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 w

    • by AmiMoJo ( 196126 )

      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.

  • by Anonymous Coward


  • by Anonymous Coward

    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.

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

  • by dlenmn ( 145080 ) on Wednesday December 23, 2015 @03:23PM (#51174067)

    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.

  • by __aaclcg7560 ( 824291 ) on Wednesday December 23, 2015 @03:50PM (#51174293)
    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.
  • 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 pr

  • 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?

Money can't buy love, but it improves your bargaining position. -- Christopher Marlowe