Canvas knows which students are struggling. It just doesn’t tell you.

On a Monday morning, you open Canvas and see a grid filled with dozens of students across the top, a dozen or more assignments down the side, and several hundred cells overall. Most of these cells are perfectly fine, but among them are the students who have quietly stopped submitting their assignments.

The data isn’t hidden. Canvas has all of it. But a gradebook answers what did everyone get?, and the question I actually have on a Monday is who do I need to write to? Those are different questions. Getting from one to the other means scrolling, sorting, and keeping a running tally in your head per course, every week, for as many sections as you teach.

So I built EarlyARC. It’s a free, native Mac app that reads your Canvas courses and gives you the list: who needs attention, worst first, with a reason on every line.

Every flag says why

The rule I set at the start: EarlyARC never shows you a number without a reason. Not a risk score, not a colored dot, not “82% confidence.”

Each flagged student gets plain English: “3 of 15 assignments missing — 23% of the grade,” “current score 61%, below 70%,” and ” how long since they were last active in the course. You can see, in one line, whether this is someone who’s drifting or someone who had one bad week.

That’s partly so you can act on it. It’s also because you may end up explaining the flag to the student, and “the algorithm said so” is not an explanation either of you deserves.That’s partly so you can act on it. It’s also because you may end up explaining the flag to the student, and “the algorithm said so” is not an explanation either of you deserves.

Read-only, and it keeps almost nothing

EarlyARC only reads from Canvas. It cannot change a grade, post an announcement, or alter your course. There’s no path in the code that writes to Canvas at all.

Rosters live in memory while the app is running and are gone when you quit. No cache, no database, no file of student work sitting on your laptop. Your access token goes in the macOS Keychain, protected like a saved password.

This is student data. The safest place to put it is nowhere.

The part that was genuinely hard

The way out was to store the app’s opinion instead of the student’s work. EarlyARC keeps a course ID, a Canvas student ID, a date, the risk level it assigned, and how many pieces of work were missing. No name, no grade, no score, no assignment titles, no message text.

I want to be precise about what that is and isn’t, because “no name” is not the same as “anonymous.” A Canvas student ID is an identifier — under FERPA’s definition, it is personally identifiable information, just as a name would be. Anyone at your institution who can already see your course could resolve one to a student.

What the design buys is smaller and more honest than anonymity: the file holds the least that will answer the question, nothing in it is a grade or a piece of student work, and it never leaves your Mac. It’s a much thinner record than the gradebook export most of us have sitting in a Downloads folder right now. One entry per student per day, forgotten after a year, switched off or deleted from Settings in one click.

Storing grades would have been easier and would have bought nothing except a file I’d have to defend.

What it won’t do

It won’t tell you why a student stopped. That part is still your job, and it always should be. EarlyARC doesn’t predict, doesn’t reduce anyone to a percentage, and doesn’t contact anyone on your behalf. When you’re ready to reach out, it fills in your own message template and hands it to you to send.

It surfaces. You decide.

Try it out! It’s free


EarlyARC is free, runs on macOS 14 or later, and has a sample-data mode so you can see exactly how it works before you connect it to anything real.

I built it alone, with Claude Code. One instructor, no dev team, no budget.

Three Times and Still Surprised

A few weeks ago, I received a phone call from Clark College Vice President of Instruction Dr. Terry Brown. At the beginning of the call, he first informed me that I had not been selected for a sabbatical I had applied for, but then told me he had some good news. During that conversation, I learned that I had been selected to receive the Clark College Exceptional Faculty Award. The recognition will also be shared during the graduation ceremonies in June and publicly announced on the Clark College website during Opening Week events this fall.

I was also honored to be one of seven faculty members receiving the award this year, and I want to congratulate the other six recipients. There are so many talented and dedicated people doing incredible work across this college, and I’m proud to be included alongside them.

What makes this especially meaningful to me is that this is now the third time I’ve received the award during my years at Clark College.

When I first came to Clark College in 2013 after many years working in industry, I never imagined something like this would happen once, let alone three times. Teaching has been one of the most meaningful chapters of my life. Exhausting at times? Absolutely. Frustrating sometimes? Of course. But also rewarding in ways that are difficult to explain unless you’ve worked closely with students and watched them slowly build their confidence.

I’ve always tried to bring a real-world perspective into the classroom. Technology changes fast. Sometimes faster than education can keep up with. I want students to see the reality of the field they are entering, not a cleaned-up version. That means learning technical skills, but also learning how to adapt, communicate, collaborate, solve problems, and keep learning when the tools inevitably change again next year.

Accessibility has also been a huge part of my teaching. As someone who is legally blind, I have never found this theoretical for me. It’s part of my daily life, and I’ve worked hard to make it a foundation of our Web Development program at Clark College.

And then there’s AI, which is obviously the elephant in the room right now.

I honestly don’t know exactly what the future holds for two-year Web Development programs. I think anybody claiming they fully know is probably fooling themselves a bit. The technology world is shifting incredibly fast right now, and higher education is trying to figure out where it fits in. Maybe in the future, it will become less a traditional web development degree and more an AI-first program centered on design, development, accessibility, problem-solving, and human-centered technology. I think we’re already starting to see that shift happen.

What I do know is that students still need guidance, mentorship, honesty, and people willing to help them navigate uncertainty.

What means the most to me about this award is knowing that students are part of the nomination process. That matters to me more than I can probably put into words.

To my students, past and present, thank you. Thank you for trusting me, pushing me, challenging me, making me laugh, and occasionally putting up with my long stories and stubbornness.

And to my colleagues across Clark College, thank you as well. None of us does this work alone. I’ve been fortunate to work with incredibly thoughtful and supportive people over the years, and I’ve learned a great deal from all of you.

I also want to acknowledge many of my friends who may be reading this. A lot of you have helped shape who I am in ways you probably don’t even realize. Some of you are friendships I’ve kept since childhood, while others came from previous jobs, industry work, organizations, and different chapters of my life over the years. Some of you have been there through career changes, personal struggles, difficult moments, successes, losses, long conversations, random technology debates, music discussions, and all the twists and turns life throws at people over the years. All of that matters more than people sometimes say out loud.

And finally, to my family, including my wife Gayle and my parents, thank you for helping shape the person I am today. Your support, patience, honesty, and encouragement carried me through more than you probably realize.

I’m deeply grateful for all of it.

Winter Quarter, Full Classrooms, and Finding the Rhythm Again

The Winter 2026 quarter is in the books.

For the first time since COVID, I was back teaching full-time in person. This quarter, I taught Intro to Programming and Problem Solving (CS50P), PHP with SQL 1, and Web Interface Design. Walking back into full classrooms again felt good. There is something about hearing students talk before class starts, seeing whiteboards filled, watching students help each other, and feeling the energy in the room that you simply cannot recreate online.

I’ll be honest, though. Teaching full-time in person really drains you. There’s something about it that feels like being part of an interactive educational show. You’re on your feet, constantly moving, reading the room, trying to keep students interested, answering questions, shifting gears, and making sure no one gets left behind. That gets harder with age, and by the end of some days, I definitely feel it.

Attendance was close to 100% throughout the quarter. Participation counts for 30% of the grade, which certainly helps, but students still had to choose to show up, be engaged, ask questions, contribute, and work with each other. They did, and that meant a lot. College works better when people are actually in the room together.

There were some struggles, too. One of the software development tools we needed was not accessible in our classrooms, so students had to spend the first 15 to 20 minutes of class installing it on their own devices before we could even begin. That became an unexpected routine for a while. It was frustrating, and it took away valuable class time. That is probably a story for another day.

Students today are different from those they were six years ago. Their confidence has changed. Their communication styles have evolved. Their attention spans are shorter. The world has shaped them differently. However, one thing remains the same: students still seek connection, support, structure, encouragement, and someone who believes in them.

This quarter reminded me why I still love teaching. There is something special about a full classroom, pizza days, rubber ducks on tables, group work, inside jokes, and the quiet student who finally raises their hand for the first time.

I am grateful for all of it.

And thank you to Juniper, Katie, Theo, Tiffany, Chef Earl, Niira, Fellene, Robert, Tom, Zach, Karl, Adam, Lucy, David, Rongxin, and, of course, Gayle for helping make the quarter a success.

Bringing it Back to the Classroom

Today, my classes, which usually meet on Zoom, gathered in person. And wow, what a difference. You can read the room in ways you simply can’t through a screen. You see confusion, curiosity, lightbulbs flicking on, and you can adjust right there in real time. When students are right in front of you, you can sense when something isn’t clicking and pivot immediately. That kind of feedback loop makes teaching feel alive again.

After today, I’m convinced. Starting this winter, I’ll be bringing my courses back to being fully in person. I’ll still have a few online sections, but not many. My goal is to get them all back to the classroom eventually. There’s an energy and rhythm that come from being together that technology can’t replicate.

Because it was our first in-person class in a while, I handed out rubber ducks to each student. They’re part of how I teach coding, a symbol of debugging, reflection, and patience. Watching students line them up on their laptops made me grin. It reminded me that learning works best when it’s hands-on, a little playful, and shared with others.

To top it off, my morning class enjoyed cookies, pumpkin loaf, and scones from the Clark College bakery. For a moment, the room felt like a true community again, warm, curious, and connected.

There’s also an honesty to being in a physical classroom. You can’t hide behind AI or a screen. You have to show up, think on your feet, and engage. That’s where the real learning happens. And yes, I’m still an AI proponent. My students use it, and I teach them how to use it responsibly. However, AI doesn’t replace the value of showing up, questioning ideas, or learning face-to-face.

Technology has its place, but the best learning still happens when we share the same energy, the same attention, and the same spark that only real presence can create.

After five hours of what can only be described as interactive educational theater, I’m wiped. But in the best possible way.

Fellow educators, have you experienced this difference as well?

Tenure Made Me a Worse Professor (But I’m Taking It Back)

Today, May 24, marks my second anniversary of tenure. And I’ve got a confession. Tenure made me a worse professor.

Not worse in the “I don’t care anymore” sense. I still show up. I still teach my heart out. I still hand out pizza and rubber ducks, as if they were course materials. But something shifted during that long, grueling tenure process and hasn’t entirely returned.

The tenure process trains you to be careful. You learn to document everything, justify everything, and reflect on everything until your teaching feels more like a performance than a practice. You stop experimenting because experiments might not look great on paper. You stop taking risks because risks don’t always make for clean committee reports.

And if you’re not careful, you start teaching like someone is always watching. Because for a while, someone is.

That’s what happened to me. I slowly backed away from the version of myself who took bold swings and tried weird ideas. I started playing it safe, saying no to chaos and yes to control. I polished everything, trimmed the messy parts, and stopped leaning into the stuff that made my teaching mine.

But here’s the thing. I’m two years in now. I’ve got the stability. The security. The keys to the castle.

And I’m done playing small.

I want the pre-tenure Bruce back, who did things that made students laugh, think, and engage. The one who brought music into lessons. The one who asked, “What if?” instead of “Will this fit in my tenure binder?” The one who knew learning is supposed to be messy, unpredictable, and sometimes a little loud.

If tenure turned down your volume, I hear you. If it made you cautious, you’re not alone. But now that we’re here, we can choose how we show up again.

I’m choosing to take it back, one student, one duck, one slightly chaotic lesson at a time.

Let’s go.

That Makes 4 Years

Well, this week marks the end of my 4th full year of teaching classes at Clark College. It’s amazing how quickly time goes by. I’m working on a longer post which reflects back on my experiences. It’s also incredible how much I have grown personally and professionally. I’m looking forward to teaching this winter and spring and am delivering a brand new course entitled “Programming Essentials” which will focus on learning to program using HTML, CSS, and JavaScript.

On Teaching

As a college instructor, there is one thing that I rarely have ever talked about and that is how I have improved my skills. Every day in class I am constantly being asked to help solve student programming problems and demonstrate and explain my solutions. There has rarely been a time when I couldn’t come up with a solution.

The other skill that I have developed is solving problems “over the air”. What this entails is being able to solve a student’s problems without even seeing their code. I ask a series of questions and by the time we get to the second or third question the student has resolved their own problem.

I highly recommend that you give teaching of any kind a try. It will not only help your students but yourself.

Year 4

Today marks the beginning of my fourth year as a college instructor at Clark College. I’m amazed at how quickly the time flies by. Here are a few things that I have learned about teaching at a community college that I thought I would share with you:

  • Seeing students graduate from your program and getting jobs is awesome.
  • Office hours are a thing of the past. Virtual office hours are seven days a week.
  • 10-30% of your students truly want to learn and the others simply go through the “motions” of school.
  • Teach to the “middle” of the class.
  • Teaching people who range in age from 13 to 75 is extremely rewarding and challenging; especially when they are all in the same class.
  • Excuses are a constant.
  • Classroom management is not as easy as people think it is.
  • Developing the right mix of assignments, testing, labs and other assessments takes time to develop and constantly needs tweeking.
  • I love what I am doing.
  • I’m always learning new things.

I highly encourage anyone who is thinking about teaching at a college or university to do it. Your first couple of semesters will be rough but, once you realize the impact you make on students lives,  you will embrace and love doing it.

I’m always available if you want to talk about becoming a college instructor or want to learn more about the web development program at Clark College.

This is why I teach at Clark College

I just received this message from a graduate of the Clark College Web Development program:

Hey Bruce! Just wanted to say hi and give you an update. I’ve been at my front end developer job for almost three months and I received an awesome 90 day review from my employer (they had nothing bad to say about me and everything is going well). So this career has been pretty awesome for me so far. You really made a difference in my life when you mentored me because I wouldn’t have gotten this far without your guidance.

I am very blessed.

Where you can find me for the next few months

Here’s my teaching schedule for the Winter Quarter at Clark College:

  • Monday/Wednesday: CTEC 121 – Intro to Programming and Problem Solving at Clark College/Washington State University (2-4:20pm/Room 104)
  • Tuesday/Thursday: CTEC 122 – HTML Fundamentals (12-1:50pm/Room SHL 124) and CTEC 127 – PHP with SQL (3:30-5:50pm/Room SHL 124)

My office is SHL 127 located in Scarpelli Hall.