AP CS principles is something that can be valuable to learn, but of little or no use for credit. Self study it for the knowledge, not the AP score.
My freshman daughter was going to take 3D Design and Printing, but later she figured out that she could self study it and opted for Computer Science instead. It’s not the AP course. But the curriculum seems similar. Since she says she is very interested in programming but has no experience, it seems a great course for her to get the basics ideas.
After reviewing them I think anyone can take the AP CS Principles exam without much difficulty after taking that non-AP Computer Science course. But seems it’s not necessary and won’t help in competitive college admission, because it seems too easy to be an AP course. She is already taking AP ES. So no use for adding another filler science AP exam score, right?
Take it for the knowledge, not for the AP score.
I would look at any HS course in light of what available classes are ie is it the best of options possible. AP courses are only at an average/middling college level for content- one reason top colleges do not give college credits for them and some (perhaps public, flagship U’s) will give credits but also allow students to take their versions for credit, including starting with square one.
Anecdote. My gifted son couldn’t get into his HS AP computer class as a sophomore due to scheduling conflicts so he substituted the first semester of AP Music Theory. He later majored in math- Honors, including grad level courses. He also took several comp sci courses that were more theoretical, perhaps one or two crosslisted with the math department or useful for both majors. He ended up taking the needed comp sci courses to complete the second, comp sci. major and has been working in that field. He initially wasn’t as speedy at programming but soon caught up (and his employer saw that as no barrier). He currently teaches himself whatever languages and other things (obviously not my area of expertise) he needs to do what is needed in software development for his projects.
The above points out how HS coursework does NOT determine one’s path in college and beyond. For students I would consider the options available and choose an AP CS course if it is the better option than a study hall or other class for the student. Higher level math courses are valuable in the CS world- I read a lengthy article about this a while back. It fits.
I do like that they are not equating computer science with programming. That would be like equating mathematics with arithmetic.
It is really a shame that such a useful course for many high school students needs to have an “AP” label attached to it to get high schools to offer it and students to take it.
The value in doing a course as an AP one is the standardization of material tested- teachers can teach a great or poor course but students know certain content should be there. Often HS’s will offer advanced biology instead of the AP version to teach other material. It also means the course will not be geared to average HS students- less likely to be as boring.
My D is taking AP-CSP this year (junior) and so far the course looks pretty good as an introduction to computers. I’ve read the posts saying it’s “easier” than AP-CS, which is fine. I think that many kids believe CS is both difficult and nerdy, a lethal combination to many high schoolers. AP-CSP appears to focus more on identifying the problem and coming up with a way to solve it (the fun parts) rather than going straight into programming (the tedious part). We’ll see if my opinion changes over the year.
"shame that such a useful course for many high school students needs to have an “AP” label "
Given the selective colleges demanding the most rigorous courses offered, the only alternative that I see is for the high schools offering equal to or above AP level courses - extra advanced …, etc.
At my son’s high school, Computer Science Principles is for 9th and 10th grade only, and Computer Science A is only for 11th and 12th graders.
In selecting high school courses to prepare for a Computer Science major, you can look up which courses are required for the major at the colleges your kids are thinking of applying to. Colleges will be looking to see if the student is likely to succeed in the science and math courses that are required, not just the computer classes. Obviously the requirements vary depending on the college and whether the major is computer science, computer engineering, informatics, or some other related major. Generally they must take 2-3 courses in Physics or another science. The math requirement will include Calculus, Discrete Mathematics, Linear Algebra, and Statistics, and many colleges also require Multivariable Calculus and Differential Equations. Some of these courses can be stumbling blocks, so colleges look at the high school transcript as an indicator to gauge whether the student will make it through. The higher the achievement in math and science the better. In contrast to math and science, many times the ability to succeed in computer courses is only demonstrated by the student’s self-driven work outside of formal classes.
Many (most?) colleges will admit students based on their overall HS record, regardless of the intended major. Doing well in college computer science can easily be independent of taking any HS courses in it. I have not heard of AP CS replacing college level classes. Intro CS courses, often taken by those in other majors, can cover vastly different materials. Post #48 lists many math courses required- a firm foundation in HS math will be most useful. Of course taking CS courses will help for interest, not content learned. Had a recent conversation with our son who is in his second software development/engineering (title company dependent) job after abandoning thoughts of math grad school. We keep wondering if he should get that piece of paper with at least an MS degree or if new grads have an advantage but he has told us it makes no difference. The field is so dynamic one is constantly self teaching. He adds self taught computer languages as they become useful to his current project. Part of college was learning foundations and how to learn.
The old and new AP CS courses are unknown to me but I wonder if the new one will appeal to those who get bored with just learning programming skills a major part of things? As with any AP courses (except calculus of course) calculus is not required- limiting what can be taught. Given the above referenced college classes a student certainly does not need to prepare for a specific CS major while still in HS. The usual STEM interest ones will suffice. The advantage is in exploring the field for determining interest (or as an alternatative to less interesting classes).
AP CS A is a programming and data structures course in Java. It is intended to be like a first college course for CS majors, but, due to variation in introductory CS course organization at various colleges, should not be counted on for subject credit or advanced placement in college.
AP CS AB is a discontinued course that covered more material than AP CS A. Some colleges allowed more subject credit and advanced placement for AP CS AB scores than for AP CS A scores.
AP CS principles is the newest course that is more of a broad overview of CS. It is the most useful for someone who wants to learn enough about CS for the purpose of deciding whether to major in CS, and/or (as a non-CS major) learn enough about CS to know how it can relate to other subjects. For intended CS majors without prior programming experience, it can also be preparatory for typical college introductory CS courses, or AP CS A. Subject credit or advanced placement for the AP score is unlikely.
Given that many colleges have overflowing CS majors that require applying directly to the major, and/or where entering the CS major after enrolling as undeclared is difficult, it would be a good idea for a high school student who is considering studying CS take AP CS principles in 11th grade or earlier, in order to get an idea of whether CS is interesting enough for him/her to want to apply to colleges in 12th grade as a CS major. But do not worry about the AP label or getting advanced placement for the AP score.
I just wanted to follow up my earlier post with some more information. This is the first year for AP-CSP at my D’s HS. It’s positioned as the second class (sophomore year) in the “Computer Science” pathway. There are other pathways at her school: medical, biotechnology (which my D is in), business, etc. I read the syllabus and it looks like a nice introduction into computers and the internet, finishing up with algorithms and code. I don’t know whether it will do anything for college. I’d just like my D to know more about what the heck is happening when she uses her phone and laptop.