Computational Thinking: AP Computer Science Vs AP Statistics? 155
theodp writes: "What if learning to code weren't actually the most important thing?" asks Mother Jones' Tasneem Raja. "Rather than increasing the number of kids who can crank out thousands of lines of JavaScript, we first need to boost the number who understand what code can do." Computational thinking, Raja explains, is what really matters. So, while Google is spending another $50 million (on top of an earlier $40 million) and pulling out all the stops in an effort to convince girls that code and AP Computer Science is a big deal, could AP Statistics actually be a better way to teach computational thinking to college credit-seeking high school students? Not only did AP Statistics enrollment surge as AP CS flat-lined, it was embraced equally by girls and boys. Statistics also offers plenty of coding opportunities to boot. And it teaches one how to correctly analyze AP CS enrollment data!
AP Statistics isn't really computational thinking (Score:5, Insightful)
Statistics is indeed quite important, and whether AP CS or AP Statistics is a more useful use of a high-school student's time is a useful question (assuming they have to choose, which maybe they don't?). But AP Statistics is not teaching computational thinking; it's teaching statistical thinking, which is not the same!
Computational thinking, or to use an older term, procedural literacy, is the idea that people should understand how to think in terms of processes, procedures, etc. Rather than teaching programming, which often (especially at introductory levels) focuses a lot on the mechanics of a programming language's syntax and other idiosyncracies, the idea is to teach people how to even think about the basic idea of a machine that can execute programs. Many people can't do that: even leaving aside that they don't know C or Java or Lisp, they also don't really understand what an algorithm or a computer program is conceptually, and have absolute no idea what kinds of things can be computed and what kinds can't, or which are easy or harder to compute. They lack the ability to interact meaningfully with non-code representations of computation and algorithms as well, like flow charts or (natural-language) instruction sequences.
Statistical thinking is quite a bit different, more about proper use of data, quantification of evidence and uncertainty, etc. It can be complementary to computational thinking, but it isn't the same skill.
Re:AP Statistics isn't really computational thinki (Score:5, Interesting)
Statistics is indeed quite important, and whether AP CS or AP Statistics is a more useful use of a high-school student's time is a useful question (assuming they have to choose, which maybe they don't?). But AP Statistics is not teaching computational thinking; it's teaching statistical thinking, which is not the same!
While I agree statistical think is different than computational thinking, to answer your question I think it is a better use of a students time to teach statistics. Properly taught, it teaches you to think about how to formulate a question, what data you need and how to analyze it. In short, it is as much about the problem as the answer.
Computational thinking, or to use an older term, procedural literacy, is the idea that people should understand how to think in terms of processes, procedures, etc..
SNIP
Many people can't do that: even leaving aside that they don't know C or Java or Lisp, they also don't really understand what an algorithm or a computer program is conceptually, and have absolute no idea what kinds of things can be computed and what kinds can't, or which are easy or harder to compute. They lack the ability to interact meaningfully with non-code representations of computation and algorithms as well, like flow charts or (natural-language) instruction sequences.
Again, I concur with you comments. That's why code monkeys are cheap and those who can actually develop a solution valuable; and the skills you mention don't become obsolete when a new language comes along. Unfortunately, far to many people equate the ability to code with being a computer scientist or engineer. That's not to say we don't need good coders but focusing on coding and forgetting the how and why behind it is doing them a disservice. I've also found the ones who can really write elegant code generally also think conceptually as well. Maybe I was lucky but when I took CS in high school the teacher made us explain and diagram what we are trying to do before coding, and rewarded accomplishing tasks in as few lines of code as possible. A she put it, "anybody can write a program with 100 lines to accomplish what can be done in 2."
Statistical thinking is quite a bit different, more about proper use of data, quantification of evidence and uncertainty, etc. It can be complementary to computational thinking, but it isn't the same skill.
True, but faced with learning statical thinking or how to write code I think the former is more valuable.
What about statistics vs calculus (Score:5, Insightful)
It's not really a new debate, but the assumption that high school students will on average be better served by taking calculus instead of statistics could use some scrutiny.
Practically speaking, basic familiarity with statistics is also a form of civics - teaching kids when to call BS on bogus claims, helping them to understand what statistical significance means and doesn't mean, etc.
Re:What about statistics vs calculus (Score:5, Interesting)
It's not really a new debate, but the assumption that high school students will on average be better served by taking calculus instead of statistics could use some scrutiny.
Students should learn calculus, but it could be compressed, and maybe even merged with physics. My class spent a lot of time learning how to do things like integrate the square root of the reciprocal of the co-secant. That is not useful. Students already get quite a bit of exposure to statistics and probability in math classes, although there is usually not a class solely focused on that topic.
Practically speaking, basic familiarity with statistics is also a form of civics - teaching kids when to call BS on bogus claims
Indeed. I have long felt that we should be teaching "bullshit math" where rather than getting a problem and finding a solution, the students are presented with a political advocacy statement, and tasked with identifying the logical and mathematical flaws, unstated assumptions, and missing information. This sort of critical thinking skill, along with learning basic economics, could lead to a better functioning democracy.
Re: (Score:2)
Practically speaking, basic familiarity with statistics is also a form of civics - teaching kids when to call BS on bogus claims
Indeed. I have long felt that we should be teaching "bullshit math" where rather than getting a problem and finding a solution, the students are presented with a political advocacy statement, and tasked with identifying the logical and mathematical flaws, unstated assumptions, and missing information. This sort of critical thinking skill, along with learning basic economics, could lead to a better functioning democracy.
The "bullshit math" you refer to is known as Symbolic Logic. [philosophy-index.com] It provides a mechanism for reducing statements and concepts into operands, effectively...and by doing so you can more easily detect things like non-sequiturs, circular logic, self-contradiction, empty statements with no real meaning and the "post hoc ergo propter hoc" bullshit that is the basis of many knee-jerk legislative actions. The real beauty is that by sticking to the symbolic operands of a statement rather than the contextual content, y
Re: (Score:3)
As for getting a problem and finding a solution, it's still good to teach students to think and solve problems, rather than be an inferior "Google" and regurgitate memorized solutions or follow very specific memorized processes. Because I actually know adults who can't do basic problem solving- say there's a problem with something, their default is getting stuck. They don't go - it could be caused by A, B, C, D and perhaps other
Re: (Score:2)
Good god, is it hard to find relevant examples of, say, rational functions.
If they have no practical application, then maybe you should take them out of the curriculum and devote the time more useful topics.
Re: (Score:2)
I'm a new calculus professor. Good god, is it hard to find relevant examples of, say, rational functions. In fact, if you have any beyond filters in EE, I would really appreciate seeing them before lecture on monday.
In EE, harder calculus does not follow the easier calculus. In EE, you go from calculus to statistical calculus. You don't integrate over smooth equations, you integrate over noise. Then comes the number theory, because you you need to grok error detection, correction and some crypto.
The biggest failure of school math is to present calculus as being the 'college path' of mathematics, when in reality it's a back water and the engineering action is happing in finite fields which schools simply don't admit exi
Re: (Score:2)
There's a fair amount of graphics stuff based on NURBS (Non-Uniform Rational B-Splines). In my current job, we rely very heavily on a commercial NURBS library. I don't think you want to teach NURBS directly, but you could base some problems on them.
Re: (Score:2)
I took trigonometry, calculus, and (later) differential equations and vector calculus. Integrating sin(2x) did not contribute enough to by education to be worth the effort.
As a computer programmer, I need discrete math for my job. (The only computer people I know using continuous math for their day jobs are in HPC /scientific computing). As a citizen, voter, and member of society, I need probability, statistics, and a good understanding of logical fallacies.
I'm just another jerk with an opinion, but I'd dro
Re: What about statistics vs calculus (Score:3)
Perhaps learning calculus is about learning to think in abstract and increasingly difficult (although mathematically provable and correct) realms of intangible worlds.
And software engineering is nothing, if not that.
Re: (Score:2)
Re: (Score:2)
Yeah, that's what the number theory weenies thought, until Diffie and Helman went and invented their key exchange.
Re: (Score:2)
Re: (Score:2)
But you do need some calculus for computer science. Not all those integration techniques (thankfully I've never had to do an integration by parts in my professional career), but things like limits and rates of change and logarithms and the relation between polynomial powers.
BTW, integral of sqrt(1/csc(x)) = integral of sqrt(sin x), which isn't expressible in terms of elementary functions.
Re: (Score:2)
But you do need some calculus for computer science. Not all those integration techniques (thankfully I've never had to do an integration by parts in my professional career), but things like limits and rates of change and logarithms and the relation between polynomial powers.
BTW, integral of sqrt(1/csc(x)) = integral of sqrt(sin x), which isn't expressible in terms of elementary functions.
You just did.
Re:AP Statistics isn't really computational thinki (Score:5, Insightful)
This whole article is based on a fallacy - that Computer Science is teaching people to code.
This isn't what a Computer Science degree teaches you.
Re: (Score:2)
It is, however, what AP Computer Science teaches you. Maybe it's massively improved since I took it, but when I took it we spent an inordinate amount of time learning really stupid detailed things about C++, like the idiosyncracies of iostreams.
Re: (Score:2)
Re:AP Statistics isn't really computational thinki (Score:4, Insightful)
Are you sure we're both talking about high-school CS courses, here? I'm not talking about a university CS degree. I have one of those, from a very theory/math-focused school, and yes, there was virtually no programming in it. But the AP Computer Science courses in high school are not like that, and should probably be renamed to AP Programming. That's also how Google and others are promoting them (as part of these "learn to code" initiatives), which was the jumping-off point for this article.
Re: (Score:2)
The AP curriculum has probably changed over the years, but my AP computer science courses were computer science course. Yes, we learned a language. Yet we went beyond that to learn how languages (in general work), how particular algorithms work, as well as how to design and implement various algorithms. While the projects may have been boring by modern standards (i.e. we didn't frame the course in the context of games), the actual content and instruction was exciting.
Re: (Score:2, Insightful)
What the fuck is "AP"?
Re: (Score:3)
Re: (Score:3)
The "learn to code" initiatives, however, are precisely about teaching people to learn how to churn out code. They're not called "learn CS" initiatives for a reason. (And AP CS, despite the name, is more of a learn-to-code than a CS course.)
If you build stats from a practical standpoint, (Score:4, Interesting)
Re:AP Statistics isn't really computational thinki (Score:4, Insightful)
If you do not understand statistics you do not understand Science and empiricism. The programmers I meet are great at Discrete Mathematics, but if you beyond that, on to some thing that requires more of an exploratory mind set and data gathering, they are way out of their depth. They do not seem to understand the difference in how you approach things. Since, IMO, most of the universe is better investigated imperically they are out of their depth with real world data. They do not know how to collect, analyze, QA, or interpret it. With the emphasis on data analytics and and "Big Data" I consider that to be dangerous.
Re: (Score:2)
Re: (Score:2)
Many people can't do that: even leaving aside that they don't know C or Java or Lisp, they also don't really understand what an algorithm or a computer program is conceptually, and have absolute no idea what kinds of things can be computed and what kinds can't, or which are easy or harder to compute.
Is there in fact a better way to teach that than by sitting down with a teaching language and actually doing some programming? Writing a LOGO program to draw fractal trees was something a whole class of kids (some of whom had never used a computer before the class) managed to accomplish. Then we understood recursion, limits, loops, functions, operands...
Broken priorities (Score:4, Interesting)
We throw tens if not hundreds of millions of dollars at girls and women to get them to choose technology or engineering as a major, but completely ignore that they're already a majority to an overwhelming majority of graduates in literally every other major and dominate every level of education. Evidently it's more important that women not be a mere ~5% less of a program that's already only 10% of the degrees conferred in the US than it is to do something about the fact men are barely 1/3rd of college graduates in the first place.
Because, yknow, that's not going to be unhealthy for society at all.
Re: (Score:2)
Re: (Score:2)
1/3rd is 33.33333%, 42.6% is less than 10% higher than that, and that was five school years ago with the trend continuing (if not accelerating) since then.
Re: (Score:2)
That's actually a bigger problem in the U.S. these days. People are not actually good at things, but they're very confident that they are.
Re: (Score:2)
So in other words, you were wrong, didn't show anything real to prove you're not wrong, but you are confident that you are right. That's actually a bigger problem in the U.S. these days. People are not actually good at things, but they're very confident that they are.
Yes. I wouldn't say you are immune to it either.
But here's an issue. What if we do all this, what if we add gender sensitivity to the qualifications for men, and start making programming a mandatory class for women, and not allow men to take the classes, and we still don't have gender equity?
Just based upon my experience in a University environment, and involvement with programs to get young women inviolved with STEM careers, I don't think we're taking the right approach. At some point, at some time, at
Re: (Score:2)
My guess: If you were looking for a course of action to make programming even less attractive to women, you'd be hard-pressed to beat that one. But then, as I said on the other thread, I've been seeing women-only sections of such courses fail for a long time; the wo
Re: (Score:2)
Re: (Score:2)
Consider the time demands on medical residents. Or attorneys trying to make partner. And yet women go into those fields.
Sure. But I'd put my hours up against any of them.
Btw, on another note, it has not been my experience in 15 years as a developer that the time demands are out of whack with other relatively high paying professions. If I ever had a job that matched up with the stereotype (frequent all-nighters, etc.) I would quit.
And so would a lot of people. Can't say I'd blame them. Then again, I was the highest paid person in my department, was immune to layoffs, and was able to retire at 55. Part of that was my willingness to take on the hard work that others were "too good" for or were worried that they were being taken advantage of if they had to work extra.
My personal opinion for women's disproportionately low interest in software is the cultural baggage. For whatever reason they're more averse than men to associating themselves with the computer programmer stereotype, even if they themselves don't fit that stereotype. Women seem to be, at an aggregate level, less willing to pursue "geeky" professions. Medicine, despite requiring science classes and long hours, doesn't carry the same stigma as CS and EE.
I certainly wouldn't deny that - it is a rational argument, and likwise a part of the problem such as it is. And part of
Re: (Score:2)
Okay. But you're an outlier in your profession. Medical residents and partner-seeking attorneys are all expected to work long hours. Regardless, even if the avg. hours worked by software dev's were on par with the avg. hours worked by partner-track attorneys that wouldn't detract from my point, which was that women go into those two fields despite the long hours. Ergo "the long hours" isn't a great explanation for women not going into software dev.
Re: (Score:2)
It's not that men are pigs, it's that women aren't pigs. The double standard is strong enough that even some feminist websites like Good Men Project openly refer to it as problematic.
Re: (Score:2)
Consider the time demands on medical residents. ... Medicine, despite requiring science classes and long hours, doesn't carry the same stigma as CS and EE.
I'm not arguing with you, just noting that my wife is a physician, and she carried the load in school and training just fine. And she did manage to overlook the stain of my CS degree. :-)
Re: (Score:2)
Re: (Score:2)
So in other words, you were wrong, didn't show anything real to prove you're not wrong, but you are confident that you are right. That's actually a bigger problem in the U.S. these days. People are not actually good at things, but they're very confident that they are.
Yes. I wouldn't say you are immune to it either.
But here's an issue.. (blah, blah, blah, lots of hyperbole and strawmen galore, refutations of opinions not offered, etc., etc.).
Nonsense. I correctly pointed out that the GP claimed something to be true, was refuted, and offered nothing in response, except the opinion that he was *still* right.
You, on the other hand, made a snide remark at me with no basis whatsoever, and then proceeded on a long tangent that had nothing to do with my point. I surmise that you missed my point, and read a lot into my post based on your prejudices, which was not there.
So, congrats. Now there are two of you up on the stage accepting awards for hig
Re: (Score:2)
(blah, blah, blah, lots of hyperbole and strawmen galore, refutations of opinions not offered, etc., etc.).
You, on the other hand, made a snide remark at me with no basis whatsoever,
I'm sorry, I see, you are quite easily offended, by me saying you might be part of the problem too. Consider that your response might be proving the point.
"Blah blahs", "strawmen", "snide remark" "long tangent"
You do not control the conversations here. Neither do I. This is how threads evolve. If you don't like what I write, you can ignore it, refute it, or go all offense on me. Attacking me rather than the argument seldom wins the argument
Do you care to respond to what I originally wrote?
Point ou
Re: (Score:2)
1/3rd is 33.33333%, 42.6% is less than 10% higher than that, and that was five school years ago with the trend continuing (if not accelerating) since then.
42.6% is closer to "fifty-fifty" than it is to a third.
Re: (Score:2)
1/3rd is 33.33333%, 42.6% is less than 10% higher than that, and that was five school years ago with the trend continuing (if not accelerating) since then.
42.6% is closer to "fifty-fifty" than it is to a third.
It's also an out of date figure that mischaracterizes how bad the gender gap is by using the lag of higher level post-graduate degrees among wealthy white students to cover up everything else.
Re: (Score:2)
AP Stats is the easy AP math (Score:2)
The role of AP Statistics is to offer an AP 'math' to students who don't stand a chance in AP Calculus, but who demand an AP math class on their transcript. Most do not consider AP Computer Science 'math' enough for it to play that role, hence the surge in AP Statistics. On top of that, AP Computer Science is perceived as being much harder than AP Statistics. For a Junior or Senior looking for a reliably easy AP, Computer Science is not the way to go.
Re: (Score:3)
Re: (Score:2)
Statistics isn't easy. AP Statistics is easy. It's basically how to turn a story problem into numbers you plug into your calculator.
Re: (Score:2)
Anecdotal, but most people I know who've signed up for a stats class as a math based elective (working adults pursuing a college degree in their free time) have no clue what statistics actually is. The last one told me almost verbatim "It's just a bunch of percentages, how hard could that be?".
Re: (Score:2)
I took a refresher college stats course at around age 40. It certainly was not a bunch of percentages. It was a bunch a tests and distributions (t-test, poission, chi-square, anova etc) and how to apply them. Useful, but it didn't get as far as covering what I'd consider is required to be able to think critically about statistical inference and correct trial design. It worked for me, I had plenty of the latter and I'd forgotten much of the former. But for someone coming through the system the fist time, the
Re: (Score:3)
AP? (Score:3)
As Slashdot caters to an international audience, could someone please explain what AP means?
Re: (Score:2)
AP? (Score:5, Informative)
AP stands for Advanced Placement. The program intends to offer college-level courses to high school students. Each course culminates in a standard exam in the spring which is graded on a 1-5 scale. Some colleges award college credit to their students for AP courses they took in high school, depending on the score and the exam.
Re: (Score:2)
According to all the complaining, /. doesn't really "cater to" an international audience as much as it just has one.
"Honors" in concept but not in actuality - (Score:4, Insightful)
Re: (Score:2)
I'm not sure how "old" the IB program is as my nephew graduated High School 3 or 4 years ago after having gone through such a program.
coding is the blue collar job of the future (Score:3, Insightful)
when everyone knows how to code expect it to be the factory work of this century. find some pictures of early 20th century offices where everyone sits at a desk in a huge room with no dividers. it's already here again
the value is going to be figuring out algorithms to make sense of the huge amounts of data being collected. the code to implement the algorithm will be your average low wage job
Re: (Score:2)
find some pictures of early 20th century offices where everyone sits at a desk in a huge room with no dividers.
No, no, that's not a factory, that's an "open plan workspace", which facilitates communication among teams.
/. during working hours.
When I leave my office to wander the floor doing my exemplary "management by walking around", don't let me catch you posting on
Statistics (Score:2)
Is a very specialised branch of mathematics. Yes, the basics are important to know, and they can help your understanding of things in general but knowledge of Statistics will not make other subjects easier. Knowing Statists, unlike all other mathematics, does not help with programming. I am not going to make broad generalizations about most students, but university Statistics was the hardest course I ever took. University Calculous was just more of the same, But Statists start out counter intuitive and weir
How to lie with statistics (Score:2, Insightful)
I think stats SHOULD be taught at least at an intuitive level and have a good portion of it being how one can lie with stats.
That way, we can start having an electorate that doesn't get so suckered by the stats in politics, advertising, and shitty articles.
Re: (Score:2)
You should try using words rather than symbols when writing English.
Re: (Score:2)
Look at the linked comment:
Well, 1st - I have my Business Administration Bachelor's degree (& along with that came our subject-matter, STAT I/II) with an MIS concentration... @ 1st, I didn't think it was very useful (in middle mgt. roles @ least for me) & secondly, I've been @ that as my "day job" for the better part of, oh... around 20 yrs. now"
Could have been:
Well first I have my Business Administration Bachelor's degree and along with that came our subject matter statistics I/II with an MIS concentration. At first I didn't think it was very useful in middle management roles, at least for me and secondly, I've been at that as my day job for the better part of, oh around 20 years now
Much less messy.
Re: (Score:3)
Re: (Score:2)
Knowing Statists, unlike all other mathematics, does not help with programming.
uhhh.. what?
... but lets be real here... unless you definition of "programming" is gluing 3rd party libraries (written by people that know math) together, you clearly havent thought it through. While statistics doesnt encompass all the more-than-simple math knowledge required to be a good programmer, its a start.
Sure, it wont help with HelloWorld.c,
If you want any sort of proof of this, open up any volume of the Programmer Bible, aka Donald Knuths "The Art of Computer Programming" - very little code a
Re: (Score:2)
Knowing Statists, unlike all other mathematics, does not help with programming.
Knowing statistics is essential for the programming I do.
Your statement is too general and doesn't reflect the state of the universe as it is today.
CS grad, took both, and working as a programmer (Score:3)
I'm a CS grad and I took AP Stat and AP CS in high school, and I'm currently working as a programmer. In relation to programming, stat is very nearly worthless. There are certainly things I learned in stat that I use every so often, but nothing in relation to a programming task. In my high school, I had to choose between AP stat and calc and calc would have helped a lot more in college. Granted, for my line of programming, calc doesn't help either, but it would have helped more in obtaining the degree.
Re: (Score:2)
Have you ever needed to make an informed choice of pseudo- (or quasi-) random number generator? The first 200 pages of Knuth volume 2 (Seminumerical Algorithms) is highly enlightening for programmers, in my opinion, and reads better if you know the standard statistical distributions. Also, the more you know, the more likely it is for you to establish important relationships between concepts which are seemingly unrelated. People seem to mi
Re:CS grad, took both, and working as a programmer (Score:4, Insightful)
A real statistics course (Score:2)
is a good starting point but probably needs to be combined with some type of 'critical thinking' class. I also think the question may be better off inverted - it would be far better for students to understand what code cannot and/or should not do.
Not a coding opportunity (Score:2)
I spend a lot of time writing R code, with occasional forays into SAS-land. But I don't really consider it a coding opportunity, nor would I want people like me to do the actual lower-level coding that is needed to make these software packages work adequately (yes, I know that lots of function in R are written in R, but there's still a majority of C/Fortran code under the hood. Because I'm not a computer scientist or a software engineer. I can write ok code in that it runs, does what it needs to do, and is
Computer Science all the way (Score:2)
WWDZD? (What would Derek Zoolander do?) (Score:3)
Computational thinking? (Score:2)
Cool, another phrase to add to buzzword bingo.
In fact, the whole blog-post is full of similar bullshit. Here's an example: "Computational thinking for scientists, engineers, and other professionals further means being able to: [ ] Discover new science through analysis of large data". What is that even supposed to mean? Science doesn't get "discovered", it develops. It's a methodology. The analysis of the data (large and small) is the science. Never mind the fact that the "definition" itself of "computationa
Instead of programmers, why not PGMs? (Score:2)
In over 20 years as a professional programmer, I have met many, many good programmers. In the same time period, I have met maybe 3 competent program managers (or business analysts, or whatever they call them in your neck of the woods). I'm lucky to be working with a great program manager right now and it is amazing what a difference it makes. I would easily trade half my team for that one person. There will be a lot of people here who have *never* worked with a competent PGM.
If you have people skills,
Re: (Score:2)
I think the most important skills for my success in both IT and bu
It could, but does it? (Score:3)
The main purpose of AP Statistics (and AP Calculus) seems to be to teach limited subsets of the functionality of the TI-89 calculator series. [xkcd.com] The programmability features of that calculator are never taught in American schools.
Not that AP Computer Science is much better. Its main purpose seems to be to teach the Serious Programming Language du Jour, currently Java. Any algorithmic learning has to happen in between the struggles with that language.
I'm not pleased with the College Board's position in American society.
Re: (Score:2)
Useful why.... (Score:2)
As someone with a BCS who has worked in the industry for over 10 years in an environment highly focused on algorithmic efficiency and performance, AND got a near failing grade in stats in university, I fail to see how being proficient at statistics would help one in computer science. What is important is computation theory and algorithm theory, which are not things you learn in statistics. Unless you are trying to write code that does everything using Monte Carlo simulations that is.
Re: (Score:2)
BTW, how do you determine if your algorithm is performing more or less efficient if not through the use of statistics?
Re: (Score:2)
A comment like this shows a fundamental misunderstanding of algorithmic theory. You don't have to determine if an algorithm is performing more or less efficient through sampling or statistics, you can PROVE it using math.
Re: (Score:2)
I disagree that it is a component that is needed in computer science. I mean.. one should UNDERSTAND basic statistics just to operate in modern life, but this has nothing to do with CS at all. One should understand what a sample is, what standard deviation is, what mean vs median is, what the normal curve looks like, etc.. everyone should know this graduating from high school nowadays. If they don't then the school system is failing. None of this has anything to do with computer science though unless you a
Misunderstanding of what CS really is (Score:2)
Computer Science != chugging out code. Anyone who has actually gone through a Computer Science degree (I'm nearly done with mine) will tell you that it's not purely writing code. Analyzing algorithms and computational complexity, doing Math up to or beyond Linear Algebra, Set Theory, and Theory of Computation, and possibly (depending on chosen electives) learning about Cryptography, Database Design, and Artificial Intelligence indicates that learning about how computers work, what code does, how important i
Actual Math + AP CS teacher here (Score:4, Informative)
There are several reasons why AP CS enrollment has flat-lined as AP Statistics has surged (here are three that came to mind immediately):
1) There are a lot more kids taking Algebra as 8th graders. These kids (assuming success through the American four year Algebra, Geometry, Algebra 2, Precalculus sequence) need a course to take senior year. Most high school teachers will suggest AP Calculus or AP Statistics as an option. My previous employer went from 1 section of AP Calculus when I started to 7 sections of AP Calculus and AP Statistics by the time I had left (enrollment declined slightly during that time). Yes, the average AP scores went down a little during that time --- but I still think it's a good thing that more kids are taking the classes.
2) Lots of math teachers are willing and able to teach AP Statistics, but few can teach AP CS. In most states you need a separate license to teach it. I teach at a private school, so no such license is necessary (my undergrad is in electrical engineering, most of my work experience was software, and thus I feel comfortable teaching the course). The topics covered on the A exam (the AB, or harder, exam that I took in high school no longer exists) are not trivial. Inheritance, interfaces, polymorphism, and sorting/searching algorithms are all presented. Data structures topics (linked lists, stacks, queues, etc.) are not taught but could easily be taught in a follow up course, since most students taking AP CS at my school are juniors. Some of my teaching colleagues who know how to program would struggle with the object-oriented focus of the exam given that they came up during the Pascal era.
3) In the era of budget cuts, if you can only get 15 students to register for AP CS, it will not run in many schools. Sometimes it's feasible to run it every other year, but often that doesn't work. Many kids who are interested in programming cannot fit two semesters into their high school schedules. AP Statistics, however, fulfills the fourth year of mathematics that many schools require and thus is easier to fit into the schedule.
Let me say that I very much enjoy teaching the course. The examination in CS is challenging and well written. There are some topics that I'd like to see added (file input / output is not typically covered). I am confident in my students' ability to take Data Structures as a freshman if they pass the exam with a 4 or 5.
Re: (Score:2)
Number theory is, in my experience, the branch of mathematics most relevant to programming. Far more relevant than either calculus or statistics, and (for me at least) much easier as well. Like logi
Re: (Score:2)
Re: (Score:2)
It's my favorite trick at work, to crack out a bit of number theory and then show a two line algorithm to solve the problem people have been failing at for weeks.
Number theory should be taught in elementary schools.
ALL WASTE. (Score:2)
The few AP courses available to me in high school were CRAP. They taught to the test; I got out of 2 semesters of Calc. I took Calc in college anyway and it was almost a different world.
All people care about are simplistic certifications - which is what the AP stuff is. It will gravitate an education into a certification training course and there is a big difference between the two of those. Forget actual understanding or building up skill level (aka IQ) in the area.
I would recommend AP Statistics not beca
Code Monkey Island (Score:2)
What about Code Monkey Island [codemonkeyplanet.com]? This board game should be in every elementary school in the world!
CS is not IT and some cases not programming (Score:3)
CS is not IT and some cases not programming.
Some of CS is programming at very low levels doing stuff that for the most part is done by API's and the OS. Now some theory is good but an overkill of it while lacking other more needed / hands on skills is bad and leads to poor code / people who think that this will work but it does not work that well.
And on the other side you have people with the more hands on skills and some theory who can put out good code and can fix up the poor code.
What do we need so many more programmers for? (Score:2)
What do we need so many more programmers for anyway?
The internet was world-changing. I have no doubt that in 1990-something more getting more programmers in the world was a very laudable goal. What do we need a world population filled with coders for now though? Endless UI permutations? Is there really a whole new, currently un-thought of world changing application just waiting to be written for the benefit of humanity? What is it, an iPhone game? Come on!
We need more scientists working on clean energy sol
Re: (Score:3)
AP is such BS. It only exists to make parents feel like their kid is smart.
Find me the kids reading through and doing problem sets that aren't assigned. Those are the smart kids.
Re: (Score:2)
I agree with you in spirit, but not quite for the same reasons.
A student doing well in AP calculus really will do better when they take "real" calculus. And they will still have to take calculus in college, because colleges don't consider AP credits as actually satisfying any requirements, they consider them nothing more than an elective.
Congrats, kid, you busted your ass for the last year of Highschool and it got you out of
Re: (Score:2)
Wow... I have to admit, that looks a HELL of a lot more appealing than what it got you at my uni!
I wonder if that more reflects the school itself, or just the passage of time since my school days.
Re: (Score:2)
Smart enough to take 4 AP classes while being in sports and band.
How does taking AP classes mean you're smart?
1) He's taking a harder course than the regular math course. That's smart.
2) In most systems, an 'A' in an AP course counts for more than an 'A' in a regular class. It will increase your GPA. That's smart.
3) AP courses will increase your odds of getting into the college you want and landing the scholarship you need. That's smart.
4) Some AP courses can be used for college credit, allowing you to skip some entry-level classes. That's smart.
5) Most of the dumb-fucks who like to make your life miserable in your
Re: (Score:2)
FWIW, my son wound up taking physics three years in a row: high-school physics (no AP offered that year), AP high school physics (beat taking Earth Sciences), and then when he got into a STEM college. The AP classes were more useful in areas less related to his major.
Re: (Score:2)
+50 this. If you want a real foundation that can make you a really damn good programmer in college and beyond, try to get an intro into Discrete Math. I'm sure that through iTunes U and other places online there are likely videos and instruction on Discrete Math if there are not any courses available to a HS student.
Re: (Score:2)
Re: (Score:2)
What makes you think school teaching methods have anything to do with "current educational theory"?
They don't.
My kid is* home schooled to, but my wife is one of those educational theorists. She has a PhD in it and when you know the data, you can see how badly schools are practicing teaching.
is* == was, but technically is now attending a public online school from home, which is neat. Best of both worlds.
Re: (Score:2)
Your view is common. I held it myself for a long time. I have since changed my mind. The real problem is that programming is taught very badly pretty much everywhere.
I spent 20 years as a programmer and then taught English as a foreign language for 5 years. I am now back programming, but I have started to apply what I learned as a teacher to programming. Just like programming, foreign languages are usually taught badly: the idea is to teach grammar and drill vocabulary. The students jam words together