Posts tagged ‘CS Principles’

The goal of the first CS course should be to promote confidence if we’re going to increase diversity in CS: Paying off on a bet

This should be a thing: If you make a public bet on Twitter, and lose, you should have to write a blog post explaining how you got it wrong.

Let me set the stage for the bet. There are studies suggesting that the Advanced Placement (AP) Computer Science A exam has a significantly different impact on students’ majors than other AP exams. (For non-US readers: AP tests provide an opportunity for secondary school students to earn post-secondary school credit.) AP CS A exam-takers are more likely to go on to take more CS courses or become a CS major — more likely than, say, students taking AP Calculus or AP US History exams to become mathematics or history majors. But does that extend to the newer AP CS exam, AP CS Principles? AP CS Principles was designed to be less about the kinds of programming that CS majors do in their first year, and more about a broader understanding of computing and its effects (see College Board site here). There were several of us talking about this in the Spring. On April 1, 2019, I tweeted to Jeff Forbes (see link): “I bet that AP CS Principles has no impact on CS or STEM majors. It’s such a different course (eg doesn’t map to CS courses on most campuses).” He took that bet, and he was right. A study released by the College Board shows that there is a causal relationship between taking AP CS Principles and majoring in CS in undergraduate (see report link here). The impact is large. Overall, students who take AP CS Principles are three times more likely to major in computer science in college. AP CSP students who are female are twice as likely to major in CS.

I wasn’t crazy for expecting that AP CS Principles would not have such a big impact on recruitment and retention. At SIGCSE 2020, Joanna Goode and co-authors published a paper showing that (see blog post link here) AP CS Principles is effectively recruiting much more diverse students than the AP CS A course (which is mostly focused on Java programming). But, AP CS A students end up with more confidence in computing and much more interest in computing majors and tech careers. ACM TOCE in 2019 published a paper using NCWIT Aspirations award winners (see blog post link here) showing that taking the CS Advanced Placement A exam was one of the best predictors of persistence three years after the high school survey in both CS and other technology-related majors. The TOCE paper authors made a particular emphasis on the importance of programming: “It seems that involvement in general tech-related fields other than programming in high school does not transfer to entering and persisting in computer science in college for the girls in our sample.”

So I had good reason to believe that non-programming-intensive courses might not have a big impact on recruitment into the CS major and retention. But I accept the evidence that I was wrong. What else is going on?

Here’s another recent piece of evidence that supports Jeff’s belief that AP CS Principles (and classes like that) could be having a big impact. Philip Boda and Steve McGee have a paper coming out in SIGCSE 2021 showing that the Exploring CS course (see website here) is having a significant impact in driving up AP CS A participation and diversity (see paper here), which continues to have a large impact on majoring in CS. Exploring CS, like AP CS Principles, is de-emphasizes programming in favor of a broader understanding of computing and helping students to see themselves as successful at CS.

Neither of these papers offers an explanation for why AP CSP or ECS is having this positive impact. They’re both large scale quantitative stories. You’d think that I might have learned my lesson from this last failed bet. Nah. I’ve got guesses. My guesses might be wrong, as they were in this case. I’m a post-positivist. I don’t think we’ll ever get to the place where we know the complete truth, but we should keep trying, keeping making hypotheses, and we can keep getting closer.

Here’s my hypothesis for what’s going on, stated as a prediction:

A first course will be successful at promoting recruitment into CS as a major or career and at retaining students in CS if it increases students self-efficacy about programming tasks.

The critical part is for students to increase their confidence that they can be successful at programming tasks. AP CS A easily does this, which is why it has such great results in recruitment and retention. Not all classes or experiences do, as the NCWIT study suggests. AP CS Principles and ExploringCS are all about increasing student confidence, helping them to see themselves as successful at computing. I don’t know how little programming a student needs to do to increase their self-efficacy. Maybe it’s enough to see programs and what programming is about.

Recent research in computing education has been focusing on self-efficacy as one of the most important variables predicting student recruitment and retention in CS. Alex Lishinski and his co-authors showed that self-efficacy had different relationships for female and male CS students (see paper link here) and that programming projects influenced students’ sense of self-efficacy, which in turn influenced performance in the CS class (see paper link here). Jamie Gorson and Nell O’Rourke found (in an ICER 2020 paper that I blogged about here) that CS students had deflated self-efficacy, in part, because they had unreasonable expectations of what real programmers do. Dr. Katie Cunningham, soon to be a post-doc joining Nell’s lab, showed in her dissertation how students simply give up on programming tasks that they don’t think that they’ll be successful at (see blog post on Katie’s dissertation defense). Self-efficacy is likely an important variable in recruitment and retention, particularly of female students, and it’s one that we can manipulate with better designed education.

I’m not the first person to to suggest this relationship. In a study with over 5 million participants, Peter Kemp and colleagues suggest that female participation in secondary school computer science in England is being negatively impacted because of female students’ low self-efficacy in CS — and that this is because of the CS classes (see paper link here). In England, curriculum in Information and Communications Technology is being faded out in favor of a Computer Science focus. They write in their paper “Female Performance and Participation in Computer Science: A National Picture”:

The move to introduce CS into the English curriculum and the removal of the ICT qualifications look to be having a negative impact on female participation and attainment in computing. Using the theory of self-efficacy, we argue that the shift towards CS might decrease the number of girls choosing further computing qualifications or pursuing computing as a career. Computing curriculum designers and teachers need to carefully consider the inclusive nature of their computing courses.

I made my bet because I thought that the programming-light focus of AP CS Principles (or even ExploringCS) would have less of an impact on CS recruitment and retention than the programming-intensive focus of AP CS A. I now believe I was wrong. I would now bet that the amount of programming probably isn’t the critical variable at all. It’s whether students come out of these courses saying, “I can do this. I can program.” That’s the critical variable for recruitment and retention that I believe AP CS Principles and Exploring CS are influencing successfully.

December 29, 2020 at 7:00 am 25 comments

Report from Jan Cuny on Computer Science Education for Everyone: A Groundswell of Support

Jan Cuny wrote a blog post about where we are in the effort to provide CS education to everyone.  Next month is important for the CS for All effort — the first offering of the AP CS Principles exam is May 5.  Last I heard, over 46,000 students had turned in materials for their digital portfolios as part of the AP CSP exam.  I’m eager to hear how many actually take it!

Progress has been dramatic. Many school districts and states now require CS in all K-12 schools – examples include New York City, San Francisco, Broward County (FL), Rhode Island, Virginia, and in 2016, Chicago became the first major district to make CS a graduation requirement. Also in 2016, a new organization — CSforAll.org— formed to build community among national stakeholders and provide resources for parents, teachers, school districts, and education researchers. And the new AP CSP officially launched this year with 2,700 teachers, putting it on track to be the largest AP launch ever.

Source: Infosys Foundation USA – Media | Blog | Computer Science Education for Everyone: A Groundswell of Support

April 14, 2017 at 7:38 am Leave a comment

The Limitations of Computational Thinking: NYTimes

The New York Times ran a pair of articles on computing education yesterday, one on Computational Thinking (linked above and quoted below) and one on the new AP CS Principles exam.  Shriram and I are quoted as offering a more curmudgeonly view on computational thinking.  (Yes, I fixed the name of my institution in the below quote, from what how it is phrased in the actual article.)

Despite his chosen field, Dr. Krishnamurthi worries about the current cultural tendency to view computer science knowledge as supreme, better than that gained in other fields. Right now, he said, “we are just overly intoxicated with computer science.”

It is certainly worth wondering if some applications of computational thinking are trivial, unnecessary or a Stepford Wife-like abdication of devilishly random judgment.

Alexander Torres, a senior majoring in English at Stanford, has noted how the campus’s proximity to Google has lured all but the rare student to computer science courses. He’s a holdout. But “I don’t see myself as having skills missing,” he said. In earning his degree he has practiced critical thinking, problem solving, analysis and making logical arguments. “When you are analyzing a Dickinson or Whitman or Melville, you have to unpack that language and synthesize it back.”

There is no reliable research showing that computing makes one more creative or more able to problem-solve. It won’t make you better at something unless that something is explicitly taught, said Mark Guzdial, a professor in the School of Interactive Computing at Georgia Tech who studies computing in education. “You can’t prove a negative,” he said, but in decades of research no one has found that skills automatically transfer.

April 5, 2017 at 7:00 am 7 comments

College-level CS Principles Courses

My Blog@CACM post for July is about why I gave up on creating a CSP equivalent course at Georgia Tech — see post here.  The conclusions are (a) I’m not convinced that AP is the best lever available for getting CS into Georgia schools that don’t have CS and (b) Georgia Tech already has a set of intro courses that cover CSP-like content, are contextualized for different majors, and are successful.  I wish more universities had CSP-like courses.

Towards that end, I’m listing there the college-level CSP courses that I found when starting to build one for Georgia Tech.  Offered here as a resource to others.

August 5, 2016 at 7:01 am 2 comments

Join us for a CSP Webinar on Teaching with Pseudocode

Should be interesting — see if you can guess where each of us sits on the Pseudocode question tonight.

Computer Science Principles (CSP) is a programming language agnostic course. CSP aims to teach students the fundamentals of programming and the process involved in building algorithms and solving problems. Pseudocode and flow charts are two common tools, but how useful are they? How best should they be used in a CSP high school classroom?

Come and listen to Deepa Muralidhar (our webinar host) and the following experts discuss these questions during our next CSPwebinar on Tuesday, January 26 at 4:30pm PT/7:30pm ET:

  • Dan Garcia – Professor, UC Berkeley
  • Mark Guzdial – Professor, School of Interactive Computing, Georgia Tech
  • Jill Westerlund – CS Principles Teacher, Hoover High School, Alabama

To join via Adobe Connect, go to http://air.adobeconnect.com/pseudocode/. Or call in at +1-8667678829.

January 26, 2016 at 7:51 am 10 comments

Student and Teacher CSP Ebooks are now Available

We now have TWO ebooks supporting CS Principles (see website here) now available — one for teachers and one for students.

Our teacher ebook summer study is now ended. (Announcement about launching the study is here.) We’re crunching the data now. We’ve already learned a lot about what teachers want in an ebook. We learned where our user interface wasn’t obvious, and where we needed to explain more. We learned that teachers expect end-of-chapter exercises. We have used what we have learned so far to produce the two new ebooks.

STUDENT CSP EBOOK: About a year ago, we received additional NSF funding (from the Improving Undergraduate STEM Education (IUSE) program) to develop a student version of our CSP ebook. We have been running participatory design studies and gathering usability surveys from students to get input on what a student ebook should look like. We have now released the first version of the student ebook.

The student CSP ebook is available at http://interactivepython.org/runestone/static/StudentCSP/index.html  It doesn’t require a login, but we recommend that teachers have their students login. Without a login, we store saved answers on the local computer, but if the student logs in, we save the answers by the student’s username.  The course name is StudentCSP.

We recommend that teachers create a custom version of the student ebook for your students.  This allows teachers to customize the ebook, assign homework, and view student’s progress, and even create additional assessments for students.

New Version TEACHER CSP EBOOK: We iterated on our teacher ebook at the same time that we were developing the student ebook. We hypothesize that the student CSP ebook may actually encourage teachers to complete the teacher ebook. We can imagine that teachers who use the student ebook might want to stay one step ahead of the students, e.g., “My students are starting Chapter 3 on Monday, so I better finish Chapter 3 this weekend.”

We have now created a second version of our teacher CSP ebook. This one is in lockstep with the student CSP ebook, includes all the end-of-chapter exercise answers and teacher notes (e.g., on how to teach particular concepts, common student difficulties, etc.). We are not making the second teacher ebook available openly (because it includes answers to the student problems).

Teachers, please contact us at cslearn4u@gmail.com with the name and location of your school, and we’ll send you the URL.

We recommend that teachers create their own course for their students.  See http://interactivepython.org/runestone/static/overview/instructor.html for why a teacher might want to build a custom course and how to do it.

  • You must register on Runestone first at http://interactivepython.org/runestone/default/user/register. Enter StudentCSP as the course name. Be sure to record your username. We find that users often forget what they entered and assume it was their e-mail address — and it may not have been. You can also choose to sign in with your account on Google Plus, Facebook, Twitter, or several others.
  • Then go to http://interactivepython.org/runestone/admin/index and select “Create your own Course”.
  • Create a unique name for your course (use your school name and StudentCSP and year maybe), add a description, and your institution, and then select “CS Principles: Big Ideas in Programming by Mark Guzdial, Barbara Ericson, and Briana Morrison“.
  • Leave the rest as defaults and click the “Submit” button.  This will build a custom version of the student ebook for your students and it will have a unique URL and course name.  You will be listed as the instructor and can look at the log files and view other information on the instructor page (you can get to this by clicking on the icon that looks like a head and shoulders and the top right of your screen when you are in the ebook).

September 25, 2015 at 8:00 am 8 comments

Code.org grows CS Ed partnership to reduce the Babble in CS Ed

I wrote my May Blog@CACM post on the “Babble of Computing Education,” about the wide variety of perspectives, definitions, and cross-purposes going on in the US in computing education.  At the end, I talk about the new Code.org partnership with the College Board and how this may reduce the Babble — the definition of CS Principles will become Code.org.  Owen Astrachan, co-PI of the NSF CS Principles grant, and I have a bet for dinner and beer that we made on Facebook.  I predict that in the first offering of the AP CS Principles exam, more than 50% of the schools that teach CSP and send students to the exam will be using Code.org curricula.  He thinks that there will be greater diversity.

I don’t know how the new partnerships announced below fit into our bet.  BJC, PLTW, and other curricula are now going to be promoted by Code.org as their partners.  Will a school adopt BJC because Code.org recommends it?  I think that’s likely.  Will the school believe that they are adopting a curriculum out of Berkeley or a Code.org curriculum?  I expect the latter.  From schools’ perspective, all the eleven new partners will be Code.org curricula. The definition of CS Principles will become Code.org.  That’s not necessarily a bad thing — that may provide a corporate face that will assure administrators in schools who don’t know CS.

“Code.org’s courses already reach millions of students globally in grades K-8,” Partovi said. “But as we expand in high school, we work region by region, and we can’t do it all. We’re leading a movement and we need partners to help.”

When Code.org meets with school districts, it will now also highlight the new partnerships as alternative ways to teach computer science versus utilizing Code.org’s own programs.

via Code.org inks 11 new partnerships to help expand computer science education – GeekWire.

June 17, 2015 at 7:15 am 10 comments

AP is a national curriculum: Lawmakers Vote Overwhelmingly To Ban AP US History

Oklahoma isn’t the only state picking a fight over AP US History. Georgia’s legislators just introduced a similar bill (see article here).  I disagree with what they’re doing, but I do agree with the argument below.  The Advanced Placement program is a kind of “national curriculum.”  That’s why efforts like CS Principles are so valuable — they impact many schools across the country all at once.  My PhD advisor, Elliot Soloway, argues that it’s past time to establish national curricula (see article here), and he’s probably right.  The American political sentiment goes strongly against that perspective.

For other lawmakers, however, Fisher is thinking too small. Oklahoma Rep. Sally Kern (R) claims that all “AP courses violate the legislation approved last year that repealed Common Core.” She has asked the Oklahoma Attorney General to issue a ruling. Kern argues that “AP courses are similar to Common Core, in that they could be construed as an attempt to impose a national curriculum on American schools.”

via Oklahoma Lawmakers Vote Overwhelmingly To Ban Advanced Placement U.S. History | ThinkProgress.

March 25, 2015 at 7:34 am 1 comment

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).

tim-bell-stages-in-curricula

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.

poland-curricula

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.

csnyc-girls-losing-interest

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.

where-5K-users-go

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.

programming-profiles

Here’s the disappointing part: The highest level of programming activity was almost all boys. Girls don’t go much beyond the simplest programming.

scratch-where-girls-disappear

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.

November 21, 2014 at 8:51 am 12 comments


Enter your email address to follow this blog and receive notifications of new posts by email.

Join 10,185 other followers

Feeds

Recent Posts

Blog Stats

  • 2,039,504 hits
December 2022
M T W T F S S
 1234
567891011
12131415161718
19202122232425
262728293031  

CS Teaching Tips