12 ms·
Increased participation in AP Computer Science courses is only marginally beneficial, I think. In high school I took the AP Computer Science course after worki
by AlphaWeaver 8y ago
Increased participation in AP Computer Science courses is only marginally beneficial, I think.
In high school I took the AP Computer Science course after working with Java for years, thinking it'd be an easy A. Was that ever far from the truth.
My issue was that the quality of the course was plain terrible. Any school in my state (North Carolina) which didn't have an in-person teacher could offer the class through our statewide online course program, and the state of the course on there was dreadful. Typos everywhere, incorrect and trick questions on the exams. A friend of mine in a similar situation as me had to email the instructor four times with the message "I DID include what you graded me off for, it's on line 44" before the instructor looked at line 44.
Broadening participation in computing is crucial, but we also need to devote serious attention to cleaning up the curriculum. If we don't, we'll end up making more kids hate Computer Science than like it.
- commanderjroc 8y agoYes, we do need to improve the curriculum. But, how would we do it? When I took Intro to Comp Sci, we didn't even go over design patterns and what makes good code. We did get instilled into us the principle of Single Responsibility. As for trick questions, I got them in my Math Major and the comp sci classes I took. So, idk, if having trick questions is necessarily a deterrent, especially for a course preparing you for college.
- emodendroket 8y agoWhy would you go over design patterns in "intro to computer science"? That's more properly the domain of software engineering, isn't it?
- commanderjroc 8y agoI am not saying a full lecture or something. But maybe a required reading? People are taking it as a survey course, an introduction, so it would be nice to give a little teaser or something of stuff that is to come later on.
- scarejunba 8y agoDesign Patterns in an Intro course to CS? No, and not required reading either. That's a "Practice of Software Engineering" thing. It's too early.
- emodendroket 8y agoThat's another good point; someone barely learning to program is not at the point where they can understand or see the value in design patterns; at best you're going to create a situation where they blindly create design pattern code without understanding why they're doing it.
- deleted 8y ago[deleted]
- mhh__ 8y agoI obviously have no way of knowing but I would imagine a combination of: To keep the course "vocational", and relatively straightforward e.g. Working through CLRS wouldn't exactly be a walk in the park. There is also a - annoying - confusion between programming and computer science, which is probably unavoidable but still gives the wrong idea as to what computer science actually is (Or isn't)
- cjslep 8y agoThis isn't a problem with AP Computer Science, but the North Carolina high schools and their systems. The prevalence of private schools and the huge variance of quality even within just one system (ex: CMS) is all indicative that the State cannot get over its racist history. The way an AP curriculum needs to be taught is also very different from a non-AP course, and I am not surprised the statewide online program was atrocious. Edit: Flagging and hiding this discussion doesn't make ugly consequences of the NC school systems' past go away. I stand by my reply to OP who wasn't really complaining about the curriculum, but quality of education in an under-supplied high school in NC. And this aspect is relevant and worth discussing.
- djschnei 8y agoPrivate schools = racism. Got it.
- apocalypstyx 8y agoQuite a few religious private schools were in fact created following desegregation in order to try to use the first amendment to get around the law. A foundational legacy that (in many ways) remains in play today, though (often) with a thin veneer of compliant paint. http://www.southerneducation.org/Our-Research/Race-Ethnicity-Report-Series/A-History-of-Private-Schools-Race-in-the-American.aspx http://www.southerneducation.org/Our-Research/Race-Ethnicity... https://www.americanprogress.org/issues/education-k-12/reports/2017/07/12/435629/racist-origins-private-school-vouchers/ https://www.americanprogress.org/issues/education-k-12/repor... https://www.usnews.com/news/education-news/articles/2017-11-03/new-culprit-in-school-segregation-private-schools https://www.usnews.com/news/education-news/articles/2017-11-... https://en.wikipedia.org/wiki/Segregation_academy https://en.wikipedia.org/wiki/Segregation_academy
- the_gastropod 8y agoSteps to realizing this is true: 1. There's a wealth and income disparity between black / latinos and white people 2. Private schools are more expensive to attend than public schools 3. Private schools therefore select for non-black and latino student bodies. This is, as you mockingly stated, racist.
- sbuccini 8y agoMany APCS teachers in NC are not formally trained in a computer science background. As I understand it, online classes have strict class size limits but must teach anyone who enrolls. When I took the class, it sounded as if my teacher was doing the class for extra cash and was merely grading via pattern-matching. The cirriculum for every class was written by one person who was not teaching my section and it seemed as if any sufficiently complex questions on the material were escalated to him. In physical schools, they are having teachers re-skill to fill their spots. However, locally the curriculum is based off of code.org so there is a lot more automation and self-guided learning baked in. For what it’s worth, poor teachers can leave a bad taste regardless of the subject. I wouldn’t say it’s a curriculum problem as much as it is a staffing problem.
- applecrazy 8y agoI've also worked with Java for quite a while and took the most recent AP Computer Science administration by self-studying the content. What frustrates me about the AP curriculum is that it is focused more on programming than the actual CS concepts behind it (data sctructures, algorithms). While the curriculum does cover sorting algorithms and their best and worst case efficiency, it refuses to use the standard big-O notation to do so. Needless to say, the test was extremely unchallenging (and frankly, disappointing).
- Cthulhu_ 8y agoSpeaking as not a university level guy, I'd really be turned off of programming if there was more focus on CS concepts. I mean sure they came around, but I spent more time making working software, which is much more gratifying than implementing a map or linkedlist (which iirc we also had to do).
- tudelo 8y agoAhh, and then you get to industry and you miss the simplicity of it all.
- mhh__ 8y agoAlthough for reasons of sanity there should be a balance between the two, I think having too little focus on the fundamentals can produce very very poor programmers if it all goes pear shaped. In my opinion, a software engineer (or programmer, whatever) should be able to understand (Within reason, so maybe just understand the purpose of) an algorithm and - given enough time - implement it exactly as specified with maintainable fit-for-purpose code.
- epmatsw 8y agoWow, I guess it has changed a lot since I took it in 2007ish. My recollection is that it was almost all theoretical, with only a little bit of tinkering with a toy game program as a practical bit.
- applecrazy 8y ago
- nv-vn 8y agoThis x1000. I've talked about this course before in my post history, but the entire class is just awfully designed. I took it with a teacher and 99% of the class still could not keep up. Even the people who did well on the exam mostly felt as if they didn't understand the content. The AP test consisted of bullshit questions that have nothing to do with neither practical nor theoretical CS--25% of the test was just tracing shitty for loops by hand. Anyone who took this course was probably put off by CS, as I know was the case for my girlfriend and many of my other friends.
- RightMillennial 8y agoI took AP Computer Science online in high school as well but in MI in '07. It wasn't nearly as bad as your experiece, and it was an actual easy A (I had prior C++ experience). Granted, it should have been named AP Java Programming 101 using BlueJ. It hardly touched any computer science.
- zbobet2012 8y agoI took AP computer science AB (2005ish), and while the class was decent the actual exam was intensely difficult. It was the only one of 16 or so AP exams I got a 4 instead of 5 on. In particular the last free form question was to implement A*. With over a decade of professional experience and a CSCE degree I'm still not sure I could _by hand_ write out syntactically correct, compiling code for that in less than 45 minutes _in Java_.