New principles curriculum in python?

Is code.org putting out a new curriculum for Principles in python?

Will Principles offer a Python version in 2021-2022?

Hi @teresa.a.gaspar,

For the near future, we have no plans to have CSP in Python. We will continue to monitor discussions about programming languages for AP exams as we plan for the future.

Best, Andrea

Andrea, sorry for jumping on this thread. I’ll be teaching Computer Science for the first time next year, but need some advice as to which course will be more applicable to my students. Can I private message you somewhere or email perhaps?

Carnegie Mellon offers a free replacement for code.org’s coding units in Python instead. Granted it won’t be in the same module, but yes it’s doable and I hear it’s great!

Sololearn also offers free lessons on Python. You won’t be able to save your progress on code.org, but your students will be able to make their own Python projects for free and share them with their friends, just like code.org.

1 Like

There are some things in Javascript that students find confusing. Python could be a better first language to learn.

However, code dot org has spent many years of effort perfecting the current offering. Teachers all across the USA and around the world have spent many years of effort preparing to teach the current offering. That investment is incalculable in size.

I agree that code org and teachers using it have spent a lot of time in this curriculum. Is it really a high school level curriculum, though? I understand that College Board has made it so that CSP allows pretty much any “language” including Scratch and code dot org’s Javascript light. I find the way code.org handles objects (especially the canvas layout and the “onEvent” is counterintuitive to the way Javascript objects and their methods work. For example, the syntax in code.org is getText (text object name), but in Javascript a get text method would be textObjectInstance.getText(). It probably does not prepare students for Computer Science A as well as it could because it does too much of the legwork.
I am truly surprised College Board continues to allow all of these middle school “languages”. More and more colleges are not accepting Computer Science Principles to provide college credit because it does not have sufficient rigor. It is only accepted as an elective in our State. Some parents are choosing not to pay for the test at the end of the year because it is not accepted for credit at many institutions.

Well, for one, this complaint can be boiled down to “it’s not HTML.” App Lab and Game Lab are platforms that are completely different to basic JavaScript , but work with JavaScript. Sure, you can use basic HTML in App Lab with the innerHTML() function, but since it’s a completely different platform, it’s not going to work the same way as basic JavaScript would.

It’s like saying that “iOS and Android are both phones, so they should run on the exact same language.” They don’t because they’re completely different. Just because something’s running JavaScript and it’s running in the browser doesn’t mean it has to function the exact same way it normally would.

The issue is not AppLab is different, it’s that it does more than a “normal” language … more than “plain” Javascript. In doing so much for the students and hiding the underlying language constructs, students have no concept of what programming is actually like. HTML and Javascript are not the same thing.

By “it’s not HTML”, I was referring to using JavaScript in an HTML document instead of using the App Lab engine. If you’d like your students to learn HTML and JavaScript (and CSS), I would recommend sololearn.com.

I don’t think anyone confuses AP CSP as a prerequisite or even prep for AP CSA. They are apples and oranges really.

AP CSP is what I would call computer science for poets. It is not rigorous by choice. It is intended to get students who are not going into computer science out of a computer science class. Using AP CSP to place out of the first class in a 4 year computer science curriculum would be ill-advised in my opinion.

Having said that you can see why App/Game Lab are perfect for the curriculums they serve. Students are shielded from most of the dangerous and confusing things in Javascript. App/Game Lab uses an event driven architecture as does raw Javascript. It uses much the same type of interaction with the DOM but with a simplified form. That seems to be enough for the intent of AP CSP as well as middle school courses.

One thing I like to do with my class is let them try to take down one of my websites with a DOS attack. I would love to code something up in App/Game Lab to do the job properly, but it is designed so you can’t do that. I make them spam the refresh button instead. (After which I tell them they just committed a Federal crime. So far no arrests.)

The Javascript used in App/Game Lab is badly out of date. But students never really get to the point where that matters to them. (With the exception of var.) When you compare these languages to their counterparts like Snap! and Scratch. App/Game Lab is the preferred language for several reasons.

  1. It uses an event driven model instead of polling and multitasking. I would rather help a student debug callbacks than concurrency issues.
  2. Students can switch to text mode at any time they feel able to.
  3. It auto-saves and has version control.
  4. Game Lab does animation for you easily.
  5. App Lab has a simple database. There are numerous data sets available.
  6. It has good debugging tools. Not every learning environment does.

For these reasons, I support using App/Game Lab for survey courses and young students. If code dot org could swap out Javascript for Python in these learning environments I would be for that too. However, even if they did that I doubt it would address your issue. It would still need to be a protected sandbox environment with little of the power of a raw Python environment.

1 Like

My point exactly. It is not rigorous, “by choice” as you say. It is not an AP level course, which is why colleges view it as an elective only and not computer science. Do AP English students get English credit? Yes. Do AP Calculus students get AP Calculus credit? Yes. But not AP Computer Science Principles, because it is not college level.
Call it intro to computer science and keep it as a way to give students an exposure to computer science. Love that idea. But don’t call it AP Computer Science if students can’t get can’t get college credit in Computer Science. For our school, students get an “AP” GPA bump. For me, they are getting the AP bump for middle school curriculum.