AP CS Test Takers and Pass Rates Up, Half of Kids Don't Get Sparse Arrays At All
theodp writes: Each June, the College Board tweets out teasers of the fuller breakouts of its Advanced Placement (AP) test results, which aren't made available until the fall. So, here's a roundup of this year's AP Computer Science tweetstorm: 1. "Wow — massive gains in AP Computer Science participation (25% growth) AND scores this year; big increase in % of students earning 4s & 5s!" 2. "2015 AP Computer Science scores: 5: 24.4%; 4: 24.6%; 3: 15.3%; 2: 7.1%; 1: 28.6%." [3 or above is passing] 3."Count them: a whopping 66 AP Computer Science students out of 50,000 worldwide earned all 80 pts possible on this year's exam." 4. "Remember that AP exam standards are equated from year to year, so when scores go up, it's a direct indication of increased student mastery." 5. "Many AP Computer Science students did very well on Q1 (2D array processing–diverse array); >20% earned all 9/9 pts" [2015 AP CS A Free-Response Questions] 6. "The major gap in this year's AP Computer Sci classrooms seems to be array list processing; Q3 (sparse array): 47% of students got 0/9 pts."
What a confusing summary. There are meaningless links that are just numbers. The quotes following the numbers have no context and make no sense. Formatting what appears to be a list into one single paragraph makes it awkward to decipher. The linked-to graph image is missing many labels. The lack of other details doesn't help, either. What the fuck is this submission even supposed to be about?!
Thanks for linking to the test in the summary, that was a fun diversion.
Duh! I bet it matches up exactly with kids that don't understand pointers and linked lists. Wonder why that might be...
That is the only thing I can find out from the retarded headline. Seriously can't /. get some first year journalism interns to write headlines? They'd be better than the poop socks that write headlines here.
That is like the second easiest pointer-driven data structure...
Perhaps the kids' teachers taught them the other things and not sparse arrays. It's pretty hard to program something when you have no experience and the only clue you have to program is the title of the data structure.
I have seen this happen before - a couple of times before. Due to bi shakeups in the economy: 81-21, 90-91, 01-03, 08 - Now; people start running to what at the time is considered to be stable marketable careers and then there ends up being a glut in a few years. For example, after all those years of shortages, now there is one of the worst job markets for nurses.
the job market for electrical engineers sucks now too.
And then there is the trend of STEM work being offshored - one way or another. GE's CEO said that they are recruiting engineers from India on Charlie Rose a couple of weeks back. He just came out and said it.
Find out what you are good at - even if it's art - and find a way to make yourself marketable doing that (I have seen it done by an artist.) Because if you do something "marketable" for the sake of getting a job (and that's assuming it's still marketable after getting trained), you will be unemployed.
See, in this winner take all economy we are in now, being anywhere left of one standard deviation to the right of average (above average) doesn't cut it anymore - you have to be great/excellent. We live in a globalized economy and business is recruiting from just about everywhere on the planet and they will get the best of the best. It sucks because even though you can still do the job, they want the best so that it can be done faster and they can make their ROI numbers.
If you're average in everything- like most of us - it's shit retail jobs, I'm afraid.
Globalization has broken our job market.
This is the Question 4 from the test. See how you do Slashdot. Oh, and yes your answer has to been in JAVA! muwhahahaha.
4. This question involves the design of an interface, writing a class that implements the interface, and writing
a method that uses the interface.
(a) A number group represents a group of integers defined in some way. It could be empty, or it could contain one or more integers.
Write an interface named NumberGroup that represents a group of integers. The interface should have a single contains method that determines if a given integer is in the group. For example, if group1 is of type NumberGroup, and it contains only the two numbers -5 and 3, then group1.contains(-5) would return true, and group1.contains(2) would return false. Write the complete
NumberGroup interface. It must have exactly one method.
Link to test:
https://secure-media.collegeboard.org/digitalServices/pdf/ap/ap15_frq_computer_science_a.pdf
You read it hear first. Hipster lingo for (generation after Z, whatever it is).
This mash-up of digit-heavy tweets is a crappy SlashDot summary of a sort we haven't seen before.
Doesn't Dice pay editors for this kind of stuff?
But once I looked it up the solution was completely obvious. The wikipedia entry suggests a linked list, while I was also thinking associative array.
Now my curiosity is demanding a sample copy of the test that I can take. Beyond not having memorized many of the terms I wonder how I would do after 20+ years of programming.
With these sort of tests I often worry that it is just Bulimia Learning where you have to memorize esoterica while never learning to actually program. For instance for you C++ wizzards out there can you answer this one: "What is the compl keyword for? And why is is needed?" Surely as an accomplished C++ programmer you know all the keywords, there aren't that many. (I had to look it up).
But if I look at a sample exam and find out it is all FizzBuzz then I will have a little weep for the children.
I bet the only thing the students got better at is cheating in the tests.
Is there any method for people who have taken the AP CS test to get a copy of the pass/fail information if they had taken the test years ago (like, early 2000s era)?
How many years has slashdot been around, and how many years spent arguing about silly little things like this?
Yes, CS was harder when you were in college. Yes, people were smarter back then too. There are 2 orders of magnitude higher enrollment in Computer Science programs than there was 20 years ago. You're bound to get a lot of people who haven't quite figured out if this is the place for them yet.
Also, the readability of the summary is approaching zero as well. If I wanted a recap of tweets, I would have just clicked on the links.
Why is the entire test in Java? Not Javascript but actual Java. I mean, at least it's not .NET or C# (aka, platform specific).
Why not Java? They have to pick some language, and Java has a wide array of IDE's, many of which will run just great on whatever ancient Windows boxen a school can scrape up, an extensive textbook infrastructure, a decent number of people that know it, and the ability to implement (in a straightforward manner) most of the concepts you need to teach in a high-school CS class. It has it's quirks, but I'd prefer it to C++.
Yes, a full CS curriculum uses several languages in order to teach different concepts, but that's just not possible within the confines of a couple High School courses.
When I did AP CS in the early 90's, it was Pascal all the way... it had a very easy to learn syntax, but didn't have enough modern language features (like OOP) that the folks in my college's CS program that had passed the AP test were really hurt when their follow-on classes assumed they both knew C++ already and that they had some familiarity with OOP. (I didn't pass the AP CS test due to my brain being fried from a brutal AP US History test that morning.)
No offense, but this is a shit summary.
I'm not even going to bother to parse it out or read the article, I have all the word-salad I need at the moment.
Just cruising through this digital world at 33 1/3 rpm...
Normally I agree with complaints abut summaries, but this time I found the summary somewhat terse but pretty clear. I guess you were looking for definitions of some of the terms used?
"There is more worth loving than we have strength to love." - Brian Jay Stanley
I'm on the autism spectrum, and I see "private member variables with no setters" as more than likely a class representing an immutable value, such as a decimal floating point value, a big integer value, a date, a string, or whatever. An immutable class sets its fields in its constructors, and then various getters return various transformations of these fields.
Then I read the article, and I was right: sparse array entries are immutable. But the real WTF is that sparse array entries are stored in a List, not a Map. The getValueAt method in a sparse array backed by a List are O(n), whereas it'd be O(log(n)) if it used a Map.
"Working programmers" don't need degrees in computer science. They need diplomas or certificates in programming.
If there are 90 people with a certificate in programming applying to a position and 10 with a B.Sc. in computer science, which resumes will HR prefer?
I took my AP computer science test way back in 1986 and while I don't have the test with me, I certainly remember it being A LOT harder than this. I could've finished this test in 20 minutes or so. Did I get better with age? Am I overestimating my high school computer science abilities? Or, have the standards fallen?
But what defines a "decent GitHub folio"? Does work in other programming languages count? Does work in other subfields of software engineering, such as video games vs. accounting software, count?