Posts tagged ‘APCS’
Programming with Pseudocode, Keeping Student Interest, the Need for School, and International Curricula: Trip Report on WiPSCE 2014
First week of this month, Barb and I went to Berlin for WiPSCE 2014 conference. See the program here and the proceedings here, and the post on my keynote here. Let me tell you about some of the interesting things I heard there.
We heard about so many international CS curricula efforts. Tim Bell talked about different levels of programming activity going on in different curricula (all the images in this blog post are from me snapping pictures of presentations).
We heard about Austrian efforts, Flemish efforts, and programs I was aware of in the UK, New Zealand, Germany, Israel, and the United States. I had not previously hear much about Poland in CS Ed, but they’ve been including computing in their curriculum for a long time.
Quintin Cutts (Code or (not Code) – Separating Formal and Natural Language in CS Education) talked about a problem that they’re having in Scotland that we’re also facing in the US with the CS Principles effort. There are several different programming languages in use in schools. Nobody wants to be the bad guy to say “You have to use X (maybe Scratch? Alice? App Inventor? Python?), because that’s what the national test will be in.” So, national test-developers are creating pseudocode languages that aim to be understandable without getting hung up on syntax. Scotland has one that’s made up of bits and pieces of other languages (which they call “Haggis” — seriously!). The problem is that if a piece of code is never expected to run, it can have assumptions within it that would have to be cleared up to build a runtime system. Quintin showed how even simple examples of the pseudocode from their national test have all kinds of logical inconsistencies.
It’s a real problem. Allison Elliott Tew’s dissertation (see here for post) showed that weakest performing students had the worst time transferring their knowledge from whatever language they learned to a pseudo-code. That means that your top students are going to be fine with a pseudo-code test, but your bottom students are not going to do well at all — they won’t know all the concepts, and they’re going to trip over the language. A pseudo-code test is going to be another barrier to underprepared students getting into CS.
Now, once you get them in the door, how do you keep them there? One interesting paper (Scratch vs. Karel – Impact on Learning Outcomes and Motivation) compared student interest in using Scratch or Karol the Robot. Scratch is a blocks-based language, and Karol was programmed in a text-based language. Students liked Scratch and performed better with it, but felt that Karol was more “real-life” and thus was more motivating for doing more in CS later. Betsy DiSalvo found similar results with her Glitch students. When comparing Alice and Python, students liked what they could produce with Alice, but felt that Python was more like what real programmers did and was consequently more motivating for some students. This paper has had me thinking, “Maybe we should bring Logo back?” It’s text-based like Karol, designed for students, and we have LOTS of books and other materials available for Logo across the curriculum.
Leigh Ann DeLyser talked about her work with CS NYC (Software Engineering Students in the City). It’s a remarkable program: 1900 students applied for 120 slots, and the selection among the qualified students was by lottery. They did pre and post surveys around the first year of the program, with questions like “Would you like to study CS or SE after this semester?” or “Want to be a computer scientist or software engineer one day?” Females lost much more interest in a future computing career then males.
Finally, the talk that has most been in my thoughts since the conference was by Debby Fields and Yasmin Kafai on their Scratch study (Programming in the Wild: Patterns of Computational Participation in the Scratch Online Social Networking Forum). They studied 5000 visitors to the Scratch website in the first quarter of 2012. First big finding — most of them don’t do much. 55% visit but don’t do anything. The other 45% engage at a variety of levels, and the levels are pretty much gender-balanced. The most active participants are about evenly split male-female.
Debbie and Yasmin defined four “classes” of programming activity based on the programs that these users uploaded to the Scratch website. Booleans are a big differentiator, as are variables and random numbers. The below figure describes how much of each kind of programming block appears in each class of programs, and what percentage of programs they saw land in each class.
Here’s the disappointing part: The highest level of programming activity was almost all boys. Girls don’t go much beyond the simplest programming.
Now, we don’t know much about ages or where these students are or their ethnic group. As Debby pointed out, age and location are self-reported on the Scratch website, and it’s remarkable how many 100 year old Scratch programmers there are in Antartica. Their data suggest that informal education activities like Scratch (or Kahn Academy or MOOCs) are unlikely to reach a broad range of users. Debby pointed out that what students are building influences what students do. If Scratch programmers can tell stories without booleans, how do you motivate more advanced programming actvities if they’re only story-telling? If we want to reach more diverse students, and we want to encourage more kinds of activities, we need school. We need formal education to reach everyone.
April Heard at Georgia Tech built this map for us about where AP CS is taught in the state of Georgia. Some of it is totally to be expected. Most of the schools are in the Atlanta region, with a couple in Columbus, a handful in Macon, and a few more in Augusta and Savannah area.
But what’s disappointing is that huge swath in the south of the state with nothing. Not a single school south of Columbus and west of Brunswick. In terms of area, it’s about 1/3 of the state. Albany is home to Albany State University, the largest HBCU in Georgia. No AP CS at all there. And Georgia is one of the top states for having AP CS.
Sure, there might be some non-AP CS teachers in South Georgia, but we’re talking a handful. Not double, and certainly not a magnitude more than AP CS.
I suspect that much of the US looks like this, with wide stretches without a CS teacher in sight. April is continuing to generate these maps for states that we’re working with in ECEP. Here’s California, with big empty stretches.
Tom McKlin just generated this new map, which overlays the AP CS teacher data on top of mean household income in a school district. The correlation is very high — districts with money have AP CS, and those that don’t, don’t.
Philip Guo did an analysis of what top CS departments teach in their introductory courses (see link below) and found that Python now tops Java. MATLAB tops C and C++ (though not if these are combined), and Scheme and Scratch are near the bottom.
It’s reasonable to say that an AP will only succeed (e.g., students will take it) if they can get credit or placement for the exam in college or university. Typically, colleges and universities give credit for courses that are currently taught. Will we see colleges and universities start teaching CS Principles? Will they give credit for a course that they don’t teach? For languages they don’t teach? Maybe we’ll see more of an influx of CSP languages and courses into colleges and universities. I predict that we won’t.
Scratch is the only visual, blocks-based language that made this list. It’s one of the most popular languages of this genre, which include related projects such as Alice, App Inventor, Etoys, Kodu, StarLogo, and TouchDevelop. The creators of these sorts of languages focus mostly on K-12 education, which might explain why they haven’t gotten as much adoption at the university level.
Barb will probably do her demographic analysis in the Fall. Gas Station Without Pumps analysis on raw scores is out now and is quite interesting.
The Computer Science A exam saw an increase of 33% in test takers, with about a 61% pass rate 3, 4, or 5. The exams scores were heavily bimodal, with peaks at scores of 4 and at 1. I wonder whether the new AP CS courses that Google funded contributed more to the 4s or to the 1s. I also wonder whether the scores clustered by schools, with some schools doing a decent job of teaching Java syntax most of what the AP CS exam covers, so far as I can tell and some doing a terrible job, or whether the bimodal distribution is happening within classes also. I suspect clustering by school is more prevalent. The bimodal distribution of scores was there in 2011, 2012, and 2013 also, so is not a new phenomenon. Calculus BC sees a similar bimodal distribution in past years—the 2014 distribution is not available yet.
If states offer career and technical education in pathways (typically 3-4 courses) with a pathway completion exam, they are eligible for Perkins legislation funding to pay for staff and equipment. If AP CS is one of those courses, it’s easier to build the pathway (2-3 courses to define, rather than 3-4) and the pathway is more likely to lead to college-level CS, if a student so chooses. But as the below report mentions, many states believe that Perkins legislation disallows the AP to count. It can, and here’s the report describing how.
If you’re hearing this story in your state, be sure to send your department of education this report!
Career and Technical Education and Advanced Placement (July 2013, PDF)
Traditionally Advanced Placement® (AP) courses and exams have not been recommended for students in Career Technical Education (CTE) programs. This paper, jointly developed and released by NASDCTEc and the College Board aims to bust this myth by showing how AP courses and exams can be relevant to a student’s program of study across the 16 Career Clusters®.
An interesting piece on “The importance of expanding CS Education in Massachusetts.” I’m particularly interested in her use of AP CS data to argue for the need to broaden access to computing education.
In July, the Boston Globe reported that, of the nearly 86,000 Advanced Placement tests taken by high school students in Massachusetts, only about 900 were in computer science. This is far too low for a state that aspires to lead the world in technological innovation.
Part of the problem is that, too often, students simply don’t have the interest, or the basic computer skills, necessary to tackle higher-level computer science courses. But the greater challenge, across all levels, is that we do not have enough computer science teachers, so students who are interested are left out in the cold. In 2012, more than half of all students who passed the computer science AP exam came from just 14 high schools around the state, meaning that the other 364 high schools in Massachusetts accounted for only around 275 students who passed the exam.
Mihaela Sabin at University of New Hampshire Manchester took Barb’s AP analysis, and produced a version specific to New Hampshire. Quite interesting — would be great to see other states do this!
77% exam takers passed the test, which is closer to the upper end of the 43% – 83% range reported across all states.
Only twelve girls took the AP CS exam, which represents 11.88% of all AP CS exam takers. This participation percentile of girls taking the exam is 4 times smaller that female representation in the state and nation.
Half of the girls who took the exam passed. 82% of the boys who took the exam passed.
One Hispanic and two Black students took the AP CS exam. The College Board requires that a minimum of five students from a gender, racial, and ethnic group take the test in order to have their passing scores recorded.
2012 NH census data reports that Blacks represent 1.4% of the state population and Hispanics represent 3%. Having two Black students taking the test in 2013 means that their participation of 1.98% of all AP CS exam takers is 1.4 times higher than the percentage of the Black population in the state of NH. However, Hispanics participation in the AP CS exam of 0.99% is 3 times lower than their representation of 3% in the state.