4 ms·
The thing is, there's so much more to computer science and even software than just programming. Many "CS" instructors don't even understand that! Data structu
by groovy2shoes 11y ago
The thing is, there's so much more to computer science and even software than just programming. Many "CS" instructors don't even understand that! Data structures, algorithms, discrete mathematics, algebra, the list goes on. Yet, the AP CS curriculum seems to have been adapted from "Sams Teach Yourself Java in 21 Days" (at least, that was the case when I took it back in 2006). It's rudimentary coverage of the basics of programming in Java, along with some idiosyncrasies of Java syntax, and nothing else.
Furthermore, the instruction mirrored the poor instruction in mathematics. "Here, memorize this template for writing a loop. Then, when the test asks you to write a loop, regurgitate it." Like too often in mathematics, there was no emphasis on understanding, but rather the emphasis was on rote memorization.
With the combination of contrived examples, shallow coverage, and poor instruction, it should not be a surprise that so many students are disinterested in computer science. Not to mention that Java is an exceptionally poor choice for an introduction to programming (the AP curriculum used to use C++, which is also a very poor choice).
(As a tutor, I've had good luck with Scheme, and I've heard from others that Python and Lua are also good choices. You could also kick it old-school with a structured BASIC dialect (which is how I cut my teeth) or Logo, if you can find a suitable implementation.)
- nv-vn 11y agoYep, I too think the class needs a total redesign. It fails to cover a lot of what actual computer science is for some poorly put together subset of Java taught as what's essentially magic (the same kind of problem with a lot of elementary math education). Sadly, the class has changed very little since it was first designed. Most of the course material hasn't been updated significantly by CollegeBoard since around 2005. I think they really should redesign it with a language more suitable for teaching basic computer science, like Scheme or Python. But even more so, they need to design the course to be more understandable to those without previous programming experience, because AFAICT 90%+ of the people who don't fail the AP exam with a 1 or 2 already know most of the course material coming into the class.
- hdctambien 11y ago> he thing is, there's so much more to computer science and even software than just programming. Many "CS" instructors don't even understand that! Data structures, algorithms, discrete mathematics, algebra, the list goes on. That's completely correct. Although, it's because most "CS" instructors majored in english, history, or math in college. They were pushed into teaching computer science and sent to a "learn Java in 4 weeks" summer training. They are doing the best they can with what they know. We either need more computer science majors to take up teaching, or we need better training for non-computer science teachers to actually learn computer science (but not too good training, otherwise they might get a "real" job doing computer sciencey things)
- groovy2shoes 11y agoThat's a very good point. However, I think even an english/history/math/whatever teacher could make a decent computer science teacher with the proper training. "Learn Java in 4 Weeks" is emphatically not the proper training. You're absolutely right, and it's a shame that no one is willing to invest in computer science education.