Last week, I posted on the SIGCSE-Members listserv asking for guidance on supporting black students in CS1. I have been meaning to ask for that guidance for a while, ever since I analyzed the data from my CS1 class last fall and was disappointed to find that I was not doing enough to support this subgroup. Given the current crisis facing America, and spurred by a related post on the listserv, I was motivated to finally ask for help.

Briefly, I asked about how I can 1) better understand the problems my black students are facing, and get suggestions on 2) course-level and 3) department-level interventions that might make an impact. My primary goal in this specific context is to improve DFW rate and course grades for this population. I want to avoid as many of the stupid things that white privileged men do when they try to get involved in this space.

There were many insightful replies. I’ve tried to respond to some of the posts, but there have been a lot. Others have already made informative blog posts, but I was encouraged to amplify their voices. I’m still processing all of this internally, but I also thought that synthesizing it into a blog post would be a good step in that process. A lot of this will be stream-of-consciousness and self-reflective. But I’ll start with the good stuff - other people’s posts and resources.


Below is a list of the resources that were shared on the Listserv thread. Did I miss someone or something good? Let me know and I’ll add it here!

Other blog posts inspired by this conversation:

Targeted Actionable Suggestions:

Courses for Instructors:

Videos/Readings/Essays/Articles about Inclusivity:

Intervention Models:


Building Community

The biggest thing that I’ve seen is that our students of color, LGBT students and female identifying students NEED is not necessarily in-class instructional support (any more than any student who has never seen CS before) but rather a way of being able to feel as though they are a welcomed and necessary part of the CS community at your institution.

Many folks echoed the sentiment above from Manuel A. Pérez-Quiñones, which does seem to be a crucial element. I suspect this is one of the weaker links in my instructional chain, building up my classroom into a community where everyone feels welcome. I don’t say this for total lack of trying. I had inclusivity readings, in-class group activities, paired programming, etc. I try to make my lectures welcoming and avoid stereotypes and avoid micro-aggressions. However, having seen expert senior teachers, I know that these are not sufficient measures. I’m interested in some of the models listed down below as more concrete ways to structure the process of building community.

It’s frustrating, to be honest, trying to build community. As a Senior Fellow in the Honors program back in my undergrad days, I hosted events frequently for Honors students. Getting people to come out and show up was pulling teeth. People are complicated. Now as the teacher in the classroom, I think it’s even harder to build community - especially in my introductory course, when students don’t know each other, haven’t enculturated into university, and are still very unsure about their place in general. It’s not as simple as creating assignments or a video lesson or autograded feedback. It’s a much more delicate human-oriented process, and not one I understand intuitively.

However, building community seems like a critical part of this, so I’m committed to finding at least ONE WAY that concretely builds community this fall. I’ll admit, I haven’t figured out a good idea yet.

Structural Racism

But first, a caveat: it’s hard to ignore the role of structural problems in a learning community, a department, a university, a city, a state, a country, and just focus on the classroom. How can they be ignored? If a sense of safety and stability is an essential ingredient to motivation, and motivation is essential for learning, and danger and instability come from the injustices of those larger structures, then many problems go well beyond our classrooms. And yet we are still responsible for them. This reality gives us two courses of action. We fix the things we can fix in our classrooms, and we advocate up for the things we can’t fix. Do both.

As always, Amy Ko provides a different lens to view the problem, and expands to focus on the bigger, more important picture. I intentionally put a lot of text into my initial post to try and focus the conversation on a narrow domain. This is partially a coping mechanism, to try and find a solvable problem that I can make progress on. I hate hitting walls, I like making progress. Still her point is well-taken and I wanted to give it visibility here.

The bigger picture is that America is racist and our systems are designed against black people. This has been going on for a long time, and things are not really better than the year I was born. As a part of that formal system, I am part of that problem. If I look at my work in improving my CS1 for black students as my sole contribution to solving the problem, then I have not really done enough. This kind of thing has to be part-and-parcel with departmental, local, state, and national efforts that we all make.


In situations like that, having flexible deadlines makes a difference. If students work on weekends, then making a programming assignment on Sunday night (assuming you are giving them more time) is not helping and might actually put those that work at a disadvantage. Similar issues come up with office hours, labs, etc. The way you set and enforce deadlines, as I mentioned above, need to be cognizant that some students have a rough life outside of the classroom. Do not assume that if they miss class they are lazy, irresponsible, or don’t care. No, they might have other things that are more pressing than 5 points in an assignment.

I never know what to do with deadlines. Having flexible deadlines causes a lot of students to stop working, and strict deadlines make their lives too difficult. I try to have policies that encourage students to seek extensions, but many seem too guilted to pursue them. Historically, I have eschewed late penalties in favor of simply not accepting late work - is that really any better, and what is the more compassionate thing to do?

Also difficult to balance here is that I teach the intro CS1 course - I am preparing my students for the rest of the program. Do I have an obligation to get them used to the mindset of my colleagues? Heck, I don’t think I even clearly know what that mindset is, or that it’s a consistent mindset.

I have increasingly come to believe that self-regulation is one of the primary components of success in CS1. I want to find ways to increase my students’ self-regulation. I don’t think that means stricter deadlines, or looser deadlines - I think the answer is probably more complicated and requires more 1-1 interactions with students. A place for my TAs to get involved?

Equitable Assessments

I believe, however, that it goes way beyond equity and gets to the heart of learning for all our students (which I guess is the heart of equity). Implementing the ideas starts with identifying desired “outcomes” to be achieved (not content to be covered), building equitable assessments, and using the assessments equitably. It also means not including attendance, participation, late penalties, group work (mostly), homework (mostly), etc. in grades since they can be inequitably applied and/or do not directly relate to desired learning.

To me, this sounds like proper Instructional Design, which is something I have always tried to follow in my curricular development. Alignment is key to designing assessments matched to instructional materials. There seems to be a point here about “outcomes” separate from my content… I think my projects do cover that to some degree, but it’s hard to say if I’m missing a bigger point? Certainly, you should not be teaching “For-each Loops” because that is a thing in the textbook; I teach “Collection-based Iteration” because it means we can do more exciting projects and prepare them for later classes that require that concept.

I am nervous about the idea of not grading students based on participation and effort. I want to reward students who are able to put in consistent effort. I’ve grown increasingly fond of the theory that learning to program is like learning a language, and that you need consistent regular practice (with feedback). If they aren’t working regularly on something, then how will they learn? On the other hand, I don’t want to bog my students down with bookkeeping and minutia.

I understand the bigger point about avoiding over-reliance on grades rather than intrinsically motivating material… However, it’s difficult to map that into a college environment where grades are the very currency that we trade in. I’m interested in the prospect of this almost “Communistic” take on higher education, where we forgo grades. But… I think I need more buy-in from the rest of the world before I can join that attitude. I suspect if I give up on grades, I’m just going to lose many of my students to their other courses which do grade. 19-year-olds are not historically good at recognizing when they need more practice and deciding how to balance their time. Awful incentive though it is, grades seem to have a purpose for now in structuring students to prioritize work (so here I am, suggesting I perpetuate a broken system).

Thoughts and Feelings

Make space for students’ full lives, not just their student life, and not just their life in your class. To do this, be radically vulnerable, train your TAs to be radically vulnerable, and ask your students to be vulnerable when they feel safe doing so. There needs to be space in the classroom to share what’s not working, that requires a psychologically safe space to express that feedback, and be confident that someone’s listening. That can’t happen without us being vulnerable. You’ll know you’ve made space when students feel safe coming to you and share the traumas that are interfering with their learning: a sibling that was assaulted, a sick parent, months of racist bullying, sexual assault. This are just a few of the things students have shared with me just this academic quarter.

The most recurring advice is to essentially treat my students like humans who have lives outside of school, and to try and work with them. I’ve done my very best to work with all my students this past crisis semester to make accommodations and have extremely flexible deadlines. I’ve tried to handle some small amount of their emotional burden, but it’s left me feeling a little raw. I’ve never tried to be someone who took on more than the immediate burdens of my closest loved ones.

There’s a part of me that just wanted to make cool educational software, and got into teaching because it’s satisfying when I see that someone learns a new idea. I don’t really feel that my training or my experiences have adequately prepared me to help students this way. I have had a student asking me for an Incomplete after missing the class for a month, and another who wanted to know how they can pass the class after they unequivocally failed my final exam a second time. What even is the compassionate thing to do there? How should I respond differently to those students when I find out that a sibling was assaulted or their parent was sick?

I don’t want to get mired in myself here, but I do want to try and capture that the “radical vulnerability” suggested makes me feel… tired, I suppose. Worn down. Emotionally burned out. There is probably partially lingering sentiment from the awful Spring semester clouding my judgment. Hopefully this vulnerability is like a muscle, and I will be stronger for having flexed it. On the other hand, right now it feels more like a tear. Is this a sustainable component to my job?

Next Steps

Regardless, I have some next steps for my course:

  1. Implement MaGE mentoring for our TAs. Perhaps I can leverage my TAs to build up more community?
  2. Observe my behavior and actions towards students this Fall, and reflect on what I am doing that may encourage or discourage community. Do I still have unconscious biases or am I doing something that inhibits them? I had an external course observation last Fall, but it didn’t expose anything - unfortunately, as Manuel points out in his blog post, you can’t really prove it doesn’t exist.
  3. I’d like to make my final project something that can address racial inequality more head-on. Not solving societal problems with algorithms, but rather exposing societal problems inherent in algorithms.
  4. It seems like we need more departmental programs to address this. Perhaps a new organization? But is there enough interest/utility for the students?
  5. Find a more equitable deadline scheme that encourages self-regulation and works with my students’ diverse lives.
  6. Help the fight against structural racism of our system.

Not all of these are clear and actionable.