1. 17

See also, the PDF outlining the course: https://apcentral.collegeboard.org/pdf/ap-computer-science-principles-course-and-exam-description.pdf


  2. 6

    I became aware of the existence of this course by following links from another thread. I found the existence of a new course pretty interesting. I don’t think I’ve seen an introductory CS course designed like this before, and I will be very curious to see how it turns out.

    They seemed to have sidestepped the eternal problem of mandating a specific programming language that students must use, and instead say that the instructor can select any programming language. The course guidelines do provide some recommendations (on page 39 of the PDF), and I found some of those recommendations interesting on a variety of levels. Some of them could be useful to students immediately in a variety of environments, at least one of them is quite new and others seem like tools that are designed for education only, and will have little practical utility. How will instructors make their choice?

    The other interesting part of the course is the AP exam. Back in my day, an AP course lasted for a full year (most of the time), and at the end, you took a time limited written exam and you got a score in the range [1, 5]. Depending on which college you were going to and the AP exam itself, the score might entitle you to college credit. In the case of this course, the written exam is only 60% of your overall score (page 71 of the PDF), where the rest is split between tasks that, as far as I can tell, actually involve a student writing code or analyzing some other piece of software. Those tasks are time limited (actually, the time period appears to be a minimum of classroom time devoted to it) to 8 hours and 12 hours, where as the written exam is 2 hours. I wonder how the logistics of that works! (Ah, OK, page 73 says that instructors allot classroom time for this, and stuff must be submitted by a certain date.)

    The guidelines for writing a program as part of the assessment are surprisingly reasonable (page 79):

    Students completing the AP Computer Science Principles course in a nontraditional classroom situation (e.g., online, homeschool, independent study) are permitted to collaborate with another secondary level student peer. However, a significant portion of the computer program must be developed independently. Students must provide program code segments that they developed independently as part of their written response. Students must be able to attest to the originality of the program code and the written response they are submitting. Students can use program code segments that are not originally developed by them provided they have included appropriate acknowledgment for these code segments.

    There is no designated programming language for AP Computer Science Principles. Students may choose a programming language learned while taking this course to complete the task, or they may select a different programming language — one they are familiar with from outside of class. When selecting a programming language and their program focus, students should ensure that their program will be sophisticated enough to integrate mathematical and logical concepts, develop abstractions, and implement algorithms.

    Later on, it says that students should submit their code as a PDF, which means the College Board probably won’t be running student code. (And given the requirements, I don’t blame them, it would be a logistical nightmare.)

    You can also take a look at some sample questions in the PDF, starting on page 85.

    It seems like the intent of this course is to broaden exposure to more rigorous computing concepts (i.e., “let’s learn how to create powerpoints for a semester” was a thing in my day). Namely, from this:

    Related career avenues for students in AP Computer Science A include professions like architects, chemical engineers, database administrators, forensic scientists, meteorologists, pharmacists, software developers and website designers.


    Conversely, AP Computer Science Principles students may enjoy studies in applied physics, civil engineering, computer graphics, electronics technology, library and information science, mathematics, neuroscience, and nuclear engineering.

    My last question is whether students can get college credit for this new AP course, because I’m not familiar with any standard freshmen college course that corresponds to this AP course, which seems to be a departure from most other AP courses. For example, the other AP Computer Science course is supposed to correspond to your first semester in a CS major, so doing well enough on the test for that AP course means you can skip it. Which is nice IMO. (There even used to be another AP CS course, AP Computer Science AB, that let you skip the second semester of your CS major, but it seems that was canned. The skew towards a 5 on the AB test is interesting when compared with the A test, but makes sense.)

    1. 2

      Great writeup and interesting course. Far as credit, it said this at the bottom:

      “About 350 colleges and universities have communicated their plans to offer credit and/or placement for the course.”

      1. 2

        It’s getting fairly common for universities to require all students (not only CS majors) to take a general-ed CS course of some kind, which might be what this matches up to for credit.

      2. 1

        When I was a wee lad, I took the AP Computer Science AB course when it was offered and got a full year worth of CS credit for taking it. Best $70 investment I ever made. I was the only one to take it in a high-school of over 3k students. My guess is participation rate was incredibly low nation wide they just killed it.

        Excited to see a new course coming, maybe when my son is old enough the CS education will be better than it is now.

        1. 1

          Yeah, I think participation rate is the stated reason that I’ve seen. I took the exam too and skipped the first full year of my major, and like you, was the only one to do it (but my school was much smaller). My school didn’t even offer it. As far as i know, my teachers didn’t even know about it. I had to specifically request an independent study for it.