4 ms·
I teach AP Computer Science, and I feel for you. The biggest issue with computer science education is that "studies have shown" teaching people with no compute
by hdctambien 11y ago
I teach AP Computer Science, and I feel for you.
The biggest issue with computer science education is that "studies have shown" teaching people with no computer science background how to teach Computer Science leads to better retention of computer science teachers (ie, they don't leave for a better paying job in industry)
That means that many (most?) computer science teachers have no training in actual computer science except a 4 week summer course in "how to teach computer science".
Heck, there's a math teacher at my school finishing up a degree in computer science and he told me "I'm graduating in May and then I'm outta here." and he'll probably get a job that pays 2 or 3 times as much with better benefits and better hours (yeah, even counting "summer vacation")
The college board doesn't offer any curriculum, they just give guidelines of what will be covered on the AP Test. Most of the curriculum that you can buy is pretty poor (as you've experienced)
I'm not entirely sure what you mean by "obscure java-dialect created specifically for the course". That smells like something coming from your teacher/the curriculum your school bought. College board uses a "subset" of Java 1.6. It's regular java (albeit an older version), but limited to only using the int, double, and boolean primitives and ignoring auto-boxing. You can use char, float, or even auto-boxing in the open response portion, you just won't encounter a multiple choice question covering them.
There are for sure better languages that could be used for teaching but at some level the student has to know the syntax of an if-statement and the syntax of a for-loop. From your perspective, it seems like your teacher is just hammering the basics and not giving you anything challenging. I imagine that is happening because many (most?) of the other students in your class can't write a syntactically correct if-statement or they try to use a for-loop when they should be using an if-statement (and aren't writing the for-loop syntactically correctly either)
You could say that teachers are being "rewarded" for having high AP test scores, since that'll keep them from getting fired. There really isn't any reward.
As far as AP Computer Science Principles goes, you may enjoy that class more than AP Computer Science A. It will all depend on which curriculum your school goes with (there are several companies pitching themselves to schools right now) and your teacher. That class is project based and it can be whatever you make it to be. (However, there will be a lot more writing in it than you might expect... and there is a good chance it will be Scratch based since the emphases isn't on programming but "creating").
Long story longer, computer science education isn't going to get better unless people that know computer science come to teach people computer science. As it stands, computer science will continue to be taught by english, history, and education majors and they will do their best, but their best will mostly be teaching the syntax of Java and how to pass the AP Computer Science test.