The Role of Encouragement for Success in Computing Education, and how that differs by demographics

A new report from NSF tells us a story that we’ve heard before — encouragement is a critical aspect of developing the confidence to succeed in CS. We found this in our statewide study in 2010, and Joanne Cohoon found this to be critical in her work. In our work, we found that encouragement was more critical for under-represented groups.  The new Google study tells us that the encouragement is not received equally.  The important part of Joanne’s work is that the encouragement could come from teachers of any gender.  This report is part of the growing trend to study the importance of affect in succeeding in computing education.

Students who have been told by parents or teachers they would be good at computer science (CS) are 2.5 to three times more likely to be interested in learning CS in the future, but students do not receive this encouragement equally. Additionally, despite positive perceptions about the CS field, lower personal perceptions of skills in math and science and a self-perceived low ability to learn CS may contribute to a gap in interest in CS among underrepresented groups that starts as early as age 14. This report summarizes key differences in interest in and confidence to learn CS among seventh- to 12th-grade students from underrepresented groups — girls, Black students and Hispanic students — as well as the level of encouragement to learn CS that these groups receive from key influencers such as parents and teachers, based on 2015- 2016 surveys.

Source: Google Report: Encouraging Students Toward Computer Science Learning

March 2, 2018 at 7:00 am 2 comments

Confusion over the forms of programming problems: Mathematics/Physics versus CS

I’m teaching Media Computation again this semester, about 250 students (over 50% female) in a huge lecture hall.  It’s hard to wander the room to answer questions, especially during peer instruction, but we do it anyways.

I’ve been thinking a lot about one question on the first quiz in week #2 of the class.  All my students are Georgia Tech undergraduates but not-CS majors, so, very smart, lots of math and science background, but almost no programming background.

Here was one of the two problems that had the lowest score. Students were to write down what this program would print.

def computeSalary():
  rate = 10.00
  hours = 40
  salary = hours * rate
  hours = 30
  print salary
  increase = 1.00
  salary = hours * (rate + increase)
  print salary

I suspect most teachers would think that this is a pretty standard first semester, even first couple weeks problem. I certainly did. I even discussed almost the exact same program in lecture.

The most common wrong answer was to write only what the second print statement generated. The first print statement was ignored.

During the last 5-10 minutes of the quiz, almost everyone was gone, and I answered lots of questions from the remaining students — picking my way through the narrow aisles in the lecture hall. They were struggling, so one might expect that they would try to get clues by asking questions. This was a problem that they asked lots of questions about.

I was struck by the words that students used when they described what was the one number that they were writing. One told me that the number she wrote down was the “result” of the function. Another told me that that was the “answer.” I came away with the sense that the students were thinking about the program as a mathematics function or a physics story problem.

We often talk about how computer programs might lead to misconceptions for students because of flawed transfer from mathematics. For example, Python functions have mutable data, use the “=” sign in a non-mathematical way, and have side effects. I wonder if the confusion here is about the similarity in form of the problem. Students see a series of equations in math, or a description of a situation in physics, and the answer is a number, an answer, a single result. Not so with programs — it’s a series of statements (like those others), but there may be more than one thing that the program does. We’d need to do real research to see if there is anything to this, not just me noting anecdotal comments from a half dozen students.

February 26, 2018 at 7:00 am 11 comments

What Universities Must Do to Prepare Computer Science Teachers: UTeach leads a multi-university group to grow computing education

Kimberly Hughes, Director of the UTeach Institute at The University of Texas at Austin has written a blog post about a multi-university effort to grow CS education. They have an interesting set of recommendations. I look forward to seeing the white paper that the blog post promises!

In-service teacher professional development has been key to the explosive growth of K–12 CS education offerings, but the role of universities in the preparation of computer science teachers is absolutely critical if we are going to address the current shortage of CS teachers at scale and with any kind of lasting impact. Yet there are precious few exemplars on which to model new programs. Partly this has been a chicken and egg problem. For example, the UTeach program at UT Austin has had an undergraduate pathway to CS certification for more than ten years. But with so little demand for CS teachers at secondary schools throughout the state, very few students were recruited and prepared. Now that the demand for CS teachers is increasing, UTeach Austin and other UTeach partner universities are ramping up and expanding their efforts.

Source: What Universities Must Do to Prepare Computer Science Teachers: Networked Improvement in Action

February 23, 2018 at 7:00 am 5 comments

SIGCSE 2018 Preview: Black Women in CS, Rise Up 4 CS, Community College to University CS, and Gestures for Learning CS

While I’m not going to be at this year’s SIGCSE, we’re going to have a bunch of us there presenting cool stuff.

On Wednesday, Barb Ericson is going to this exciting workshop, CS Education Infrastructure for All: Interoperability for Tools and Data Analytics, organized by Cliff Shaffer, Peter Brusilovsky, Ken Koedinger, and Stephen Edwards. Barb is eager to talk about her adaptive Parsons Problems and our ebook work.

My PhD student, Amber Solomon, is presenting at RESPECT 2018 (see program here) on a paper with Dekita Moon, Amisha Roberts, and Juan Gilbert, Not Just Black and Not Just a Woman: Black Women Belonging in Computing. They talk about how expectations of being Black in CS and expectations as a woman in CS come into conflict for the authors.

On Thursday, Barb is presenting her paper (with Tom McKlin) Helping Underrepresented Students Succeed in AP CSA and Beyond, which are the amazing results from the alumni study from her Project Rise Up effort to help underrepresented students succeed at Advanced Placement CS A. When Barb was deciding on her dissertation topic, she considered making Rise Up her dissertation topic, or adaptive Parsons problems. She decided on the latter, so you might think about this paper as the dissertation final chapter if she had made Rise Up her dissertation focus. Project Rise Up grew from Barb’s interest in AP CS A and her careful, annual analysis of success rates in AP CS A for various demographics (here is her analysis for 2017). It had a strong impact (and was surprisingly inexpensive), as seen in the follow-on statistics and the quotes from the students now years after Rise Up. I recommend going to the talk — she has more than could fit into the paper.

On Friday, my PhD student, Katie Cunningham, is presenting with her colleagues from California State University Monterey Bay and Hartnell College, Upward Mobility for Underrepresented Students: A Model for a Cohort-Based Bachelor’s Degree in Computer Science.  The full author list is Sathya Narayanan, Katie, Sonia Arteaga, William J. Welch, Leslie Maxwell, Zechariah Chawinga, and Bude Su. They’re presenting the “CSin3” program which drew in students from traditionally underrepresented groups and helped them earn CS degrees with remarkable success: A three year graduation rate of 71%, compared to a 22% four-year graduation rate, as well as job offers from selective tech companies. The paper describes the features of the program that made it so successful, like its multi-faceted support outside the classroom, the partnership between a community college and a university, and keeping a cohort model. The paper has been recognized with a SIGCSE 2018 Best Paper Award in the Curricula, Programs, Degrees, and Position Papers track.

On Friday, my colleague Betsy DiSalvo is going to present at the NSF Showcase some of the great work that she and her student, Kayla des Portes, have been doing with Maker Oriented Learning for Undergraduate CS.

On Saturday, my EarSketch colleagues are presenting their paper: Authenticity and Personal Creativity: How EarSketch Affects Student Persistence with Tom McKlin, Brian Magerko, Taneisha Lee, Dana Wanzer, Doug Edwards, and Jason Freeman.

Also on Saturday, Amber with her undergraduate researchers, Vedant Pradeep and Sara Li, are presenting a poster which is also a data collection activity, so I hope that many of you will stop by. Their poster is The Role of Gestures in Learning Computer Science. They are interested in how gesture can help with CS learning and might be an important evaluation tool — students who understand their code, tend to gesture differently when describing their code than students who have less understanding. They want to show attendees what they’ve seen, but more importantly, they want feedback on the gestures they’ve observed “in the wild.” Have you seen these? Have you seen other gestures that might be interesting and useful to Amber and her team? What other kinds of gestures do you use when explaining CS concepts? Please come by and help inform them about the gestures you see when teaching and learning CS.

February 21, 2018 at 7:00 am Leave a comment

Stanford is NOT switching from Java to JavaScript: I was mistaken

Last April, I wrote a blog post saying that Stanford was abandoning Java for JavaScript in their intro course (see post here).  The post was initiated by an article in the Stanford Daily. The post caused quite an uproar, way more than I expected. More than one Stanford faculty member reached out to me about it.  In particular, Marty Stepp told me that I was definitely wrong, that Stanford would mostly be teaching Java in a year. I promised that if I was wrong a year later, I would write another post correcting my first post.

It’s been a year, and I was wrong. Stanford is NOT abandoning Java for JavaScript.

I’m glad I was wrong, but it has nothing to do with Java or JavaScript.

I heard about the possible switch to JavaScript several months before from a Stanford faculty member.  When I saw the Stanford Daily article, I thought it was okay to talk about it. Marty told me at the time that I was wrong, and that the article was ill informed.  Still another Stanford faculty member wrote me about the tensions over this issue.

A lesson I learned from Mike Lach and others involved in the NGSS roll out is that all curricular decisions are political decisions.  A framework might be based on scientific expertise, but what is actually taught is about choice and vision — different opinions of how we interpret where we are now and what we want in the future.  If you haven’t heard about the politics of curricular choices before, I highly recommend Schoolhouse Politics.

I am not at Stanford, so I don’t know how curricular decisions have been made and were made here. I based my post on talking with some Stanford faculty and reading the Stanford Daily article.  I predicted that the forces pushing for JavaScript would end up changing the curriculum. They didn’t (or haven’t so far).  The Stanford lecturers are excellent, and they are the ones actually teaching those classes. I’m glad that they get to continue teaching the classes the way that they think is most valuable.

Below is what Marty wrote me about the courses at Stanford, and a link to the Stanford course offerings, showing that Stanford is still primarily a Java house:

This calendar year our CS1 Java course is still quite clearly the dominant course. Nick Parlante is also teaching two smaller experimental offerings of a Python class in our winter and spring quarters. There may be another experimental JavaScript and/or Python course on the books for fall, but it certainly will not be the main class; the CS1 in Java will continue to be so throughout all of the next academic year. Currently no plan is under way to change that, though we certainly are open to evolving our courses in the long term like any other school would be. I would like to note that the state of intro at Stanford is exactly as was described to you by myself and others 10 months ago.

February 19, 2018 at 7:00 am 2 comments

Governor of Rhode Island explains why we should teach programming to everyone

Gina Raimondo, the governor of Rhode Island, was on Freakonomics Radio a few weeks ago. Stephen Dubner challenged their plans to offer computing education at all grade levels in every district.  She had a strong response. Dubner’s question is good. We still don’t have the empirical evidence for the value of teaching computing to everyone. We should do that research — not to figure out if Raimondo made the right bet, but to tune what we’re doing to make sure that we get the maximum benefit for the investment.

I recommend the whole interview.

DUBNER: So, I hear about this kind of thinking a lot, and I certainly understand the appeal and the resonance. But I do also wonder if there’s a proven upside of having everyone learn computer science or programming. It strikes me a little bit like the equivalent of having every student in America during the boom of the internal combustion engine learn to take apart a carburetor. And then I think, if you look at the history of economics and progress, that one of the main strengths of economic progress is the division of labor and specialization, rather than everybody chasing after the latest trends. So I’m curious what the evidence was that inspired that move of yours.

RAIMONDO: I think of it as access and exposure, and also just providing people with a basic level of essential skills. So, everyone has to take math. They may become a writer, they may become an actor, but they ought to have a certain basic level of math skills. First of all, because it’s an essential skill to function. And by the way, they might like math. I think digital skills are the same thing. No matter what job you have, you have to have some basic familiarity with computer skills and digital skills. And so it is as essential in this economy as any other skill that we teach. But also, we know — and there’s loads of data on this girls, people of color, and low-income folks are less likely to go into I.T. fields, which tend to be higher-paying. However, if they’re exposed to some computer training, they’re much more likely to go into the field and do well at it.

Source: How to Be a Modern Democrat — and Win – Freakonomics

February 16, 2018 at 7:00 am 1 comment

Teasing out the meaning of “online classes” — Online Courses Are Harming the Students Who Need the Most Help: NYTimes

The NYTimes published an interesting piece on the state of online education today. Increasingly, online education is being used in schools as a response to students failing in face-to-face, traditional classrooms.  If you’re not making it in the regular class, try it again in the online class.  The article describes how that’s not working. Students who fail in traditional classes need more personal contact and support, not less.

I love that the name of the column where this article appeared is called “The Economic View,” because that’s exactly what it is.  We do now how to teach every student well — give each child a well-educated teacher for their particular subject (Bloom’s two-sigma effect). We can’t afford that, so we make do with less.  But we should aim to do no harm.  Current practice with online classes is clearly doing harm.

The NYTimes article is reporting on empiricism.  We cannot empirically determine what might online classes become. The author, Susan Dynarski of the University of Michigan, is reporting on current practice and on the result of policy.  Can online classes help students?  Absolutely, and the OMS CS is a good example of that.  Can we build online classes that work better for students who struggle with traditional classes?  Maybe — it’s hard to see them in this study. At the ECEP 2018 meeting, Caitlin Dooley (Associate Superintendent for Georgia) said that their online classes do better than face-to-face classes, in part because of caring (“mama bear”) teachers who support the students outside of the online classes.  The online classes that Susan Dynarski is studying are clearly not working well for struggling students.  There may already be models that work well, but they’re swamped in a general study of policy across different kinds of online classes.  Dynarski’s article may just be telling us that the current average practice is insufficient. There may be better models (maybe still in research) that could correct these ills.

Dynarski’s article is fascinating and is sounding an important alarm. It should be even greater motivation for those of us who are working to invent better online education.

Online education helps school districts that need to save money make do with fewer teachers. But there is mounting evidence that struggling students suffer.

In the fully online model, on the other hand, a student may never be in the same room with an instructor. This category is the main problem. It is where less proficient students tend to run into trouble. After all, taking a class without a teacher requires high levels of self-motivation, self-regulation and organization. Yet in high schools across the country, students who are struggling in traditional classrooms are increasingly steered into online courses.

Source: Online Courses Are Harming the Students Who Need the Most Help

February 12, 2018 at 7:00 am 1 comment

Older Posts Newer Posts

Recent Posts

March 2018
« Feb    


Blog Stats

  • 1,487,975 hits

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

Join 5,232 other followers

CS Teaching Tips