Posts tagged ‘computing education research’

Is there a Geek Gene? Are CS grades bi-modal? Moving computing ed research forward

This month’s Communications of the ACM published Elizabeth Patitsas’s ICER paper about bimodality in CS grades (or rather, the lack thereof) as a research highlight, Evidence that Computer Science Grades are not Bimodal. It’s a big deal to have computing education in this position in the ACM flagship publication, and thanks to Shriram Krishnamurthi for his efforts in making this happen.

I wrote about Elizabeth’s paper when it was originally published at ICER at this blog post. Elizabeth wrote a guest blog post here on these topics (see here). These are important issues — Wired has just published an article talking about the Geek Gene with a great discussion of Betsy DiSalvo’s work (see post here about some of Betsy’s work).

I wrote the introductory page to the article (available here). I point out that Elizabeth’s article doesn’t end the debate, but it does move forward how we address questions about how we teach and how students learn:

This paper does not prove there is no Geek Gene. There may actually be bimodality in CS grades at some (or even many) institutions. What this paper does admirably is to use empirical methods to question some of our long-held (but possibly mistaken) beliefs about CS education. Through papers like these, we will learn to measure and improve computing education, by moving it from folk wisdom to evidence-based decision-making.

January 21, 2020 at 7:00 am 6 comments

Abstract Submissions Opens for FIE 2020!

Frontiers in Education 2020 conference will be in Uppsala, Sweden this year. Abstracts due Feb 2. Post below from Arnold Pears.

Featuring an all new submission site and new paper review system launched for FIE 2020.

Don’t delay! Secure your place at the 50th Anniversary FIE event by registering your Abstract today!

The 2020 programme features co-located workshops on Computational Thinking Skills for the 21st Century, the Launch Event for the IEEE/ACM Joint Curriculum project Computing Curricula 2020, a once in a lifetime conference banquet experience in the Uppsala Castle, and much much more.
Submit your Abstract NOW!

FIE 2020

January 18, 2020 at 7:00 am Leave a comment

Computing Education Lessons Learned from the 2010’s: What I Got Wrong

There’s a trend on Twitter over the last few weeks where people (especially the academics I follow) tweet about their accomplishments over the last 10 years. They write about the number of papers published, the number of PhD students graduated, and the amount of grant money they received. It’s a nice reflective activity which highlights many great things that have happened in the 2010’s.

I started this blog in June 2009, so most of it has been written in the 2010’s. The most interesting thing I find in looking back is what I got wrong. There were lots of things that I thought were true, ideas that I worked on, but I later realized were wrong. Since I use this blog as a thinking space, it’s a sign of learning that I now realize that some of that thinking was wrong. And for better or worse, here’s a permanent Internet record.

There are the easy ones — the ones I’ve been able to identify in blog posts as mistakes. There was the time I said Stanford was switching from Java to JavaScript. I should have fought for more CS in the K-12 CS Framework. And I should have been saying “multi-lingual” instead of “language independent” for years. And there was the blog post where I just listed the organizational mistakes I’d made.

The more interesting mistakes are the ones that are more subtle (at least to me), that took me years to figure out, and that maybe I’m still figuring out:

Creating pre-service CS teacher programs would be easy. I thought that we could create programs to develop more pre-service computer science teachers. We just needed the will to do it. You can find posts from me talking about this from 2010 and from 2015. I now realize that this is so hard that it’s unlikely to happen in most US states. My Blog@CACM post this month is about me getting schooled by a group of education faculty in December. We are much more likely to integrate CS into mathematics or science teacher programs than to have standalone CS teacher professional development — and even that will require an enormous effort.

CS for All is about Access. I used to think that the barrier to more students taking CS was getting CS classes into high schools. You can find me complaining about how there were too few high school CS classes in 2016. I really bought into the goal of CS10K (as I talked about in 2014). By 2018, I realized that there was a difference between access and participation. But now we have Miranda Parker’s dissertation and we know that the problem is much deeper than just having teachers and classes. Even if you have classes, you might not get students taking them, or it may just be more of the same kinds of students (as the Roehampton Report has shown us). Diverse participation is really hard.

Constructionism is the way to use computing in education. I grew up as a constructionist, both as a “technically precocious boy” and as a researcher. Seymour Papert wrote me a letter of recommendation when I graduated with my PhD. My post on constructionism is still one of the most-read. In 2011, I thought that the One Laptop Per Child project would work. I read Morgan Ames’ The Charisma Machine, and it’s pretty clear that it didn’t.

The idea of building as a way of learning makes sense. It’s at the heart of Janet Kolodner’s Learning by Design, Yasmin Kafai’s work, Scratch, and lots of other successful approaches. But if you read Seymour carefully, you’ll see that his vision is mostly about learning mathematics and code, through teaching yourself code. That only goes so far. It doesn’t include everyone, and at the worst implementations of his vision, it leaves out teachers.

I was in a design meeting once with Seymour, where he was arguing for making a new Logo implementation much more complicated. “Teachers will hate it!” several of us argued. “But some students will love it,” he countered. Seymour cared about the students who would seek out technical understanding, without (or in spite of) teachers, as he did.

Constructionism in the Mindstorms sense only works for a small percentage of students, which is what Ames’ story tells us. Some students do want to understand the computer soup-to-nuts, and that’s great, and it’s worthwhile making that work for as many students as possible. But I believe that it still won’t be many students. Students care about lots of other things (from business to design, from history to geography) that don’t easily map to a focus on code and mathematics. I still believe in the value of having students program for learning lots of different things, but I’m no longer convinced that the “hard fun” of Logo is the most useful or productive path for using the power of computing for learning. I am less interested in making things for just a few precocious students, especially if teachers hate it. I believe in making things with teachers.

The trick is to define Computational Thinking. Then there’s Computational Thinking. I thought that the problem was that we didn’t have a clear definition. If we had that, we could do studies in order to measure the value (if any) of CT. I blogged about definitions of it in 2011, in 2012, in 2016, and in 2019. I’ve written and lectured on Computational Thinking. The paper I wrote last Fall with Alan Kay, Cathie Norris, and Elliot Soloway may be the last that I will write on CT. I realized that CT is just not that interesting as a research topic (especially with no well-accepted definition) compared to the challenge of designing computation for better thinking. We can try to teach everyone about computational thinking, but that won’t get as far as improving the computing to help everyone’s thinking. Fix the environment, not the people.

But I could be wrong on that, too.

January 13, 2020 at 7:00 am 44 comments

What’s unique about CS education compared to other DBERs?

I was recently asked by an NSF program officer to answer the questions, “What makes CS education different than other discipline-based education research (DBER, like math ed, physics ed, or engineering ed)? What research questions might we ask (that we might not currently be asking) to improve practice in CS education?” If I’m going to write a long-form email reply, I might as well make it a blog post. I’m using the specific term, computer science education, not my preferred and more general computing education because the question was framed specifically about CS programs, not necessarily about information technology, information systems, cybersecurity, or other computing programs.

Computer science education research has a quadruple-whammy right now that isn’t facing any other DBER that I know:

  • ONE: We know less about how to do CS education well than we know about math, physics, science, or engineering education. A point I made in my SIGCSE keynote is that ASEE is 126 years old, NCTM started in 1920, and AAPT in 1950. CSTA started in 2004. With Ben duBoulay, I wrote the history chapter for the new Handbook of Computing Education Research. The field only dates back to 1967. Because CS is so new, there are few mechanisms to track progress at a systemic level. Most US states don’t gather data on CS like they do reading, science, mathematics, and other school subjects. We have less knowledge of how to teach and what’s going on because we’ve been at it for a shorter time.
  • TWO: Below are two slides that I built but decided to edit out of my SIGCSE keynote talk. These are about the relative sizes of CS Ed and other DBER conferences. CS departments are desperately seeking more faculty (see the latest job ads analysis here). We have fewer practitioners and researchers than these other fields.



  • THREE: Perhaps a natural consequence of the first two: CS teachers know less of what we do know about evidence-based methods than STEM teachers in other fields. Charles Henderson showed that the vast majority of physics teachers in the US know about evidence-based teaching methods (over 80%) and try to use them (over 60%). Christopher Hovey presented evidence that it’s a small percentage for CS teachers (closer to 10%, see paper here). This might be expected given that we’re new (e.g., haven’t had the time to develop dissemination mechanisms that actually reach teachers) and there are relatively few teachers (compared to other disciplines) so it’s a smaller target to reach.
  • FOUR: We are facing enormous economic demand for computer science. Undergraduate University CS enrollments are skyrocketing in the US. There’s a great story and infographic from UNC this last week on their enrollment demands.

The result is that we’re providing CS education to many students with few resources (teachers) and without a whole lot of data or use of evidence-based methods. From a research perspective, it’s also interesting that lots of students are resisting CS education — which is pretty common across STEM education. Students complain about algebra, calculus, physics, chemistry, and so on. The interesting twist is that students resisting CS ed are also then resisting the economic benefits, which makes it a bit more intriguing to study. The incentives are there, but many students still find the costs greater than the benefits.

Some of the research questions that I find interesting which are unique to CS education research:

  • Why isn’t the enrollment boom extending to high schools?. Undergraduate education is exploding, but over 90% of US high school students are avoiding computer science, even when it’s being offered (which Miranda Parker explored in her dissertation). These are much lower numbers than in other STEM fields. (See blog post here about the low CS numbers in high schools, and this blog post comparing CS to other STEM fields.) We need ethnographic work and design work, to understand what’s going on and to document what might influence students to find CS more attractive.
  • What would computing education look like for the other 90%? If we wanted to invent computing education that would reach the rest of US high school students, what would it look like? I suspect that the answer is going to be mostly about integrating CS into other-than-CS classes (like Bootstrap, STEM-CT, and Project GUTS). It’s an issue both of engaging students and getting teachers to adopt. I’m working on task-specific programming with teachers informing the design (see post here), to create programming that they’ll actually adopt and integrate into their non-CS classes. Katie Cunningham is working on inventing CS education that is focused on user needs rather than programming language demands. This is an area where we need a lot of design studies to explore a wide range of possibilities.
  • What’s going on in community college CS? I know of studies of CS education at the high school level, the four year college, and the university level. I know of few studies at the community college level. How do they manage the economic imperative of CS education with preparing the students to go on to university? How do they motivate students to complete degrees if students just want to get a good job?
  • What’s going on in undergraduate CS classes, especially during the enrollment boom? One of Lecia Barker’s greatest hits was her definition of the “defensive climate,” how students in CS are more about competing than collaborating, and even questions in class are more about showing-off than gaining knowledge. We published a paper that drew on defensive climate research at ITICSE last year (see blog post) — and that was one of the few papers published on the subject since Lecia’s ground-breaking work in 2002-2004. As I search in Google Scholar, I see a couple papers from Colleen Lewis (2011 and 2013), but other than those, there are very few papers testing or extending these notions over the last 15 years. Is “defensive climate” still an issue? I bet it is. How do we test for it? How do we address it? Is there a difference in climate between liberal arts and engineering based CS? How does the climate impact diversity? We have few studies of what’s going on in CS classes under these extreme conditions these days.
  • How do we improve teaching quality in CS education? CS education has an issue like Engineering, but unlike science and math. I bet few calculus teachers are seriously swayed by, “How do professional mathematicians use calculus?” But in CS Ed, we’re always swayed by that economic benefit — many CS teachers worry about preparing students for current jobs, for current tools and languages. That focus on industry may inhibit a focus on pedagogy, but that’s a hypothesis to be explored. How do we teach CS teachers to know and use better teaching methods? What influences adoption of new teaching methods? This is particularly an important question in post-secondary where we have such extreme enrollment pressure. When I talk to CS teachers about new methods, the most common response is, “Sure, but when could I learn to do that?!?”
  • What influences access to CS education?. When I teach my class on CS education research, I ask my students to identify open research questions. Last semester (see blog post here), a lot of their questions were about access to CS classes, which is complicated by the unique issues of CS education: How do parents’ education level/career influence student choices in CS, e.g. ,to take a CS class, to get a CS degree, to seek a CS job, etc.? Do students with learning disabilities (e.g., dyslexia) view code differently, and does that influence their participation in CS? Could we use fMRI or eye tracking to measure this? Why don’t more lower-income students go into CS, especially since it has such a large economic benefit? What percentage of current CS students are lower-income? How many lower-income students have the opportunity to learn CS and don’t take it?

With this post, I’m taking a break from the blog, both for the holidays and to deal with some intense proposal writing. It’s been an exciting year. I’m going to end with a picture from the recent Georgia Tech PhD graduation ceremony. Not only did I get to hood Dr. Miranda Parker, but Barbara and I watched our son, Dr. Matthew Guzdial, get his doctoral hood. It’s a nice bright spot to close out the year. I wish you a happy holiday season and a successful 2020.

December 23, 2019 at 7:00 am 20 comments

Why don’t high schools teach CS: It’s the lack of teachers, but it’s way more than that (Miranda Parker's dissertation)

Back in October, I posted here about Miranda Parker’s defense. Back then, I tried to summarize all of Miranda’s work as a doctoral student in one sentence:

Readers of this blog will know Miranda from her guest blog post on the Google-Gallup polls, her development of SCS1 as a replication of a multi-lingual and validated measure of CS1 knowledge, the study she did of teacher-student differences in using ebooks, and her work exploring the role of spatial reasoning to relate SES and CS performance (work that was part of her dissertation study).

That was a seriously run-on sentence for an impressive body of work.

On Friday, December 13, I had the great honor of placing an academic hood on Dr. Parker*.

I haven’t really talked too much about Miranda’s dissertation findings yet. I really want to, but I also don’t want to steal the thunder from her future publications. So, with her permission, I’m going to just summarize some of my favorite parts.

First, Miranda built several regression models to explain Georgia high schools teaching computer science in 2016. I predicted way back at her proposal that the biggest factor would be wealth — wealthy schools would teach CS and poorer schools wouldn’t. I was wrong. Yes, that’s a statistically significant factor, but it doesn’t explain much.

The biggest factor is…teaching computer science in 2015. Schools that taught CS in 2015 were many times more likely to be teaching in 2016. Schools have to get started! Hadi Partovi made this argument to me once, that getting started in schools was the biggest part of the battle. Miranda’s model supports his argument. There’s much more to the story, but that’s the biggest takeaway for me on the quantitative analysis.

But her model only explains a bit over 50% of the variance. What explains the rest? We figured that there would be many different factors. To make it manageable, Miranda chose just four high schools to study as case studies where she did multiple interviews. All four of the schools were predicted by her best model to teach computer science, but none of the did.

Yes, as you’d expect, access to a teacher is the biggest factor, but it’s not as simple as just deciding to hire a CS teacher or train an existing teacher to teach CS. For example, one principal laid out for Miranda who could teach CS and who would take their class, and how to fill that gap in the schedule, and so on. In the end, he had a choice of offering choir or offering CS. There were students in choir. CS was a gamble. It wasn’t even a hard decision for that principal.

Here is the story that most surprised me. At two of the schools Miranda studied, they teach lots of cyber security classes, but no computer science. As you would expect, there was a good bit of CS content in the cybersecurity classes. They had the teachers. Why not then teach CS, too?

Because both of these schools were near Fort Gordon which has a huge cybersecurity district. Cybersecurity is a community value. It’s a sure thing when it comes to getting a job. What’s “computer science” in comparison?

In my opinion, there is nothing like Miranda’s study in the whole world. There are the terrific Roehampton reports that give us a quantitative picture about CS in all of England. There are great qualitative studies like Stuck in the Shallow End that tell us what’s going on in high schools. Miranda did both and connected them — the large scale quantitative analysis, and then used that to pick four interesting high schools to dig into for qualitative analysis. It’s a story specific to Georgia, and each US state is going to be a different story. But it’s a whole state, the right level of analysis in the US. It’s a fascinating story, and I’m proud that she pulled it off.

Keep an eye out for her publications about this work over the next couple years.

* By the way, Dr. Parker is currently on the academic job market.

December 16, 2019 at 8:00 am 6 comments

Why some students do not feel that they belong in CS, and how we can encourage the sense that they do belong

One of my favorite papers at ICER 2019 was by Colleen Lewis and her colleagues, and is available on her website. I’ll quote her first:

Does a match between a students’ values of helping society and their perception of computing matter? Yes! A mismatch between a students’ goals of helping society and their perception of computing predicts a lower sense of belonging. And students from groups who – on average – are more likely to want to help society (women, Black students, Latinx students, and first-generation college students), this may be particularly problematic! (pdf)

  • Lewis, C. M., Bruno, P., Raygoza, J., & Wang, J. (2019). Alignment of Goals and Perceptions of Computing Predicts Students’ Sense of Belonging in Computing.Proceedings of the International Computer Science Education Research Workshop. Toronto, Canada.

I want to expand a bit on that paragraph. I often get the question, “Why aren’t more women and URM students going into CS?” We’re seeing female students and students of color leaving/avoiding CS at many stages, e.g., Barb’s deep analysis of AP CS*. Colleen and her collaborators are giving us one answer.

We know that students who have a sense of belonging in computing are more likely to stay in computing. Colleen et al. found that students who found that their values were supported in computing were more likely to feel a sense of belonging. So, if what you want to do with your life matches computing, you’re more likely to stick around in computing. This is the “alignment of goals” and “perceptions of computing” part of the title.

Next step: Students from demographic groups underrepresented in computing were more likely to value community and helping society than other students. These are their goals. Do students see that their goals align with their perception of computing? If so, then you have an increased sense of belonging. Colleen and her colleagues found that If the students who valued community perceived that they could use computing to support communal values, then they were more likely to stick around.

This result is obviously explanatory. It helps us to understand who stays in computing. It also suggests interventions. Want to retain more under-represented students in your CS classes? Help them to see that they can pursue their values in computing. Help them to update their perceptions so that they see the alignment of their goals with computing goals.

But what if you (as the teacher) don’t? This paper suggests future research questions. What if your CS class is entirely de-contextualized and doesn’t say anything about what the students might do with computing? What perceptions do the students bring to the CS class if nobody helps them to see the possibilities in computing? Which student goals align with these perceived goals of computing? We might guess what the answers might be, but it really does call for some explicit research. What are students’ goals and perceptions of computing in most CS classes today?


* Check out Barb’s blog at https://cs4all.home.blog/. As I’m writing this, Barb is finishing up the 2019 AP analysis. The gap between white and Black student pass rates on AP CSP is enormous, far larger than the gap on AP CS A. I’m hoping that she has updates there by the time this post appears.

December 9, 2019 at 7:00 am 1 comment

Please forward to high school history teachers: Task-specific programming in social studies data viz

Hi,

We built this tool, DV4L (Data Visualization for Literacy), to help teachers quickly create data visualizations for social study classes. This is currently a minimum viable product (MVP) version of our tool, and we would like to collect your feedback so that we can improve! 

  • Please take a few moments and try out our tool at http://b48ca06e.ngrok.io/index.html
  • We intend for DV4L to be intuitive and easy to use, so you shouldn’t need any instructions to start. (If you ever see a screen with ‘TOO MANY CONNECTIONS’ on the top, please just wait for a few seconds and refresh the page.)
  • After you have tried out the tool, please take a few minutes to fill out this survey at https://forms.gle/jASed4f7GfTZD9xa8

We would really appreciate it if you could do this by Sunday Dec 8th to meet our class requirements. 

Feel free to share this with any other teachers or students who would like to try this out. Thank you so much!

I have been working with a team of four University of Michigan Computer Science students (in a class with Elliot Soloway) to develop a data visualization tool for history classes. They have a prototype ready for testing, and they need user data for their class by Sunday, December 8. Could you please forward this to any high school (or middle school) history teachers you know? They would also love to get some feedback from high school history students, too.

Here are three reasons why I’m excited about this tool.

First, the team really listened to us, our history professor collaborator (Tammy Shreiner), and the social studies teachers who gave us feedback on different data visualization tools. One of the students drove 2.5 hours to attend a participatory design session with social studies teachers in October. As an example, there are driving questions for each database, to guide students in what they might inquire about — that’s a specific request from Tammy.

Second, this is a tool for history inquiry. Data visualization tools like Vega-Lite and CODAP are terrific. (Readers of this blog know how impressed I am by Vega-Lite.) But they’re not designed for inquiry. As Bob Bain has taught me, historical inquiry starts from two pieces of evidence or two accounts that disagree. This tool is designed to support comparing different pieces of evidence, and maintaining a trace of what you’ve explored. Inquiry is about comparison, not from building a single visualization.

Third, this is task-specific programming in a subtle and interesting way. You build visualizations by making choices from pull-down menus on the left. As you find interesting graphs, you save them to the right. When you want to remember what the graph is about, you hover over it and get a textual representation of what pull-down menus generated this graph. I’m arguing that hover text is a program —- it’s a representation of the process for generating that graph, and it serves as a reminder of where you’ve been. It’s a program whose value is in reading it, not executing it.

Amy Ko told me once (I’m paraphrasing) that a program is a description of a process for the future. Using a tool is for now. A program represents the future. This program could be executed by the user in the future — set the pop-up menus to the same values, and you’ll get the same visualization. More importantly, the program represents the past and serves as a reminder for what you can do next.

Please do pass this around so that our team can get a sense of what’s working and what’s not in this prototype. Thanks!

December 5, 2019 at 8:00 am Leave a comment

Older Posts


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

Join 7,130 other followers

Feeds

Recent Posts

Blog Stats

  • 1,723,434 hits
January 2020
M T W T F S S
« Dec    
 12345
6789101112
13141516171819
20212223242526
2728293031  

CS Teaching Tips