Today’s newsletter is shorter than usual because my PhD workload was heavier this week, but everything I’ve manually selected is with much love. Hope you like it!
🔍 Resources for Learning CS
→ An MIT Computer Vision Course worth your time
A lot of video processing and OCR this week for a project I’m working on. While looking for resources, I came across this MIT course on advances in computer vision that I highly recommend if you’re interested in the topic. The course website includes a link to the slides and some guest videos that are worth watching.
→ How software really works
Making Software is an illustrated book by Dan Hollick that clearly explains key concepts of software we use constantly but rarely understand, with excellent design. From how a screen works to what is a color space, each chapter clarifies technical concepts without losing rigor. It’s not a programming manual, but rather an invitation to understand how the digital tools we work with actually function. The little detail of the status code when I subscribed to the waiting list gives me confidence.
→ A tool for exploring the space between two concepts
Enter two concepts and it uses AI to chart paths between them. Check it out.
One good byte from the industry
→ The human element in autonomous coding
Adam Stacoviak is joined by Beyang Liu from Sourcegraph — this time, talking about Amp. Amp is one of the many agentic coding tools to use. They talk through all things agents. If you’re babysitting agents, this episode is for you.
How to prepare students for an AI world
Josh Brake sat down with Priyanka Kanagaraj, host of the Everything Playbook podcast, to talk about all things AI, education, and character development. Seriously, you won’t hear wiser AI in Education ideas than the ones Josh brings to the table in this fascinating conversation.
Here are the ideas that most resonated with me:
We need to revamp the curriculum in ways, but I think maybe not in exactly the same ways that people think we need to revamp the curriculum. Most people when they hear that think we need to make everything AI enabled, right, like AI integrated. And I think that actually is, you know, not true. I don’t think we need to do that. Because to your point, we don’t need to actually teach people how to use AI. Part of the whole point is that it’s actually quite easy to do and use. And like, whatever you teach kids today about how to use AI will probably be obsolete next year. Just, you know, a year ago, everybody was prompt engineering, prompt engineering, prompt engineering. Now it’s like, oh, yeah, you don’t really have to do any prompt engineering, because the AI can engineer the prompt for you. It’s like, who could have seen this coming? All of us, right? Like, this was kind of said in this, like, don’t bother teaching prompt engineering, like, maybe you need to think about what is the problem I’m trying to solve? How might AI be used to help me solve that based on a fundamental understanding of what AI is.
What we need to do is try to design an environment where we prepare our students to be their best selves. We need to put them in situations, we need to think about the ecosystem in which we are asking them to engage in friction.
I also want him to learn what it feels like to do something hard that you might not feel like doing. But what it means to stick with it, what does it mean to develop determination that to keep trying even when you fail, and actually to grow okay with failure, right? Because failure, honestly, if you’re not failing, then you’re not trying new things, right? You have to get outside of your area of expertise. If you want to grow, it’s back to this whole gym metaphor and progressive overload. Like if you can always just go in and lift the weights, no problem. You’re not going to grow. Stresses can be really bad for us. But without good stress, without stress, we don’t grow, we need to be able to push ourselves.
Technology in the classroom
I’m sharing some ideas that came to me while listening to this episode of a Spanish podcast called “Pausa” about technology in classrooms and screens in education in general:
Computational thinking can be done without technology.
Given the major technological revolution that’s coming and precisely because AI is becoming increasingly sophisticated, now children’s brains need to be trained to do difficult, complex cognitive tasks that aren’t easy to replicate with technology. We need to go back to basics, to critical thinking.
They suggest that the bottom-up approach is the right one, that is, developing a mature and prepared brain and a foundation for developing complex cognitive tasks to better adapt to LLMs later. I agree.
The debate in education is dichotomous. It’s black or white. And here there are grays and colors galore because what we need to extract are the use cases.
We don’t know what future education will look like, but there are two certain things: 1) it’s going to have an extremely high level of diversity, there will be people with thousands of characteristics that will shape them in all kinds of ways and 2) it’s going to be education heavily mediated by technology. If these issues are going to shape future classrooms, they should be reflected that way in curricula.
The policy of device deployment, just for the sake of device deployment, but without processes that help with how to implement these devices in the learning process, doesn’t work.
Once elementary school is ending, which is where technology starts to enter, that’s where the consensus is clear: it’s individualized practice with adaptive software based on algorithms, AI, in short periods several days a week. Short periods are 15, 20, 25 minutes of practice during part of one of the math classes where the teacher somehow solves what we called the sigma 2 problem, that is, I can’t personalize my teaching and support for everyone, I’m going to facilitate technology doing it and I feel confident because I know that my student during that time is in good hands, but that’s just a little while a day or two little whiles a week. And there are several experimental, causal studies that show how, well, adding up those little whiles, maybe an hour a week of practice in math or science, are associated with learning improvements.
There are tons of tools that are capable of identifying in real time and giving the teacher a lot of information that then, when working directly with students, allows them to act.
The implementation of those tools in the past didn’t take much into account that there needed to be a transition process. And you have to keep that very much in mind when integrating any technology. It’s more about accompaniment processes. Going to observe and give feedback and being there seeing how they do it and facilitating.
The schools that have been successful at this, their transformation processes, their trigger, meaning what sets it off, isn’t technology. It’s the educational objective they want to achieve. And then they find that technology can be a tool that helps them. In other words, it’s not a magic wand. It depends on the user manual for the wand and the objective you want to set for the wand.
Personal connection is what generates motivation and effort to learn and expectations for learning, and most students need that connection at school. And that connection is a human connection, based on emotions and that’s how the human brain works.
I hope this resonates with you. Let’s chat in the comments.
🔍 Resources for Teaching in CS Education
→ The overlooked skill every CS student needs
Reading code is a little-discussed but very important skill. And it’s going to become much more important soon, as more code is produced automatically. I enjoyed this episode on a potential framework to teach code comprehension to introductory students. The framework is presented in a CEP paper.
→ Create tiny little apps in your classroom
Scrappy is a prototype tool for creating personalized, easily-shared apps. Ideal for showcasing software behavior.
→ A Free Course on Working with Large Codebases
Anshul Shah received the Best Paper Award at ICER 2025. I was browsing through his portfolio and found this upper-division software engineering course that he co-created with Gerald Soosairaj called “Working with Large Code Bases”. The course website, lecture recordings, and the free, online textbook he created are all publicly available. BTW, he is on the job market now searching for postdoc positions, tenure-track academic positions, or industry research positions.
→ Teaching AI Literacy Through Minecraft
Hands-on training designed to empower educators to teach AI literacy using Minecraft Education’s AI Foundations curriculum and Microsoft Copilot. Go to https://education.minecraft.net and select Computer Science to find lesson plans and ways to get started with using Minecraft in the classroom.
🌎 Computing Education Community Highlights
ACE 2026 (28th Australasian Computing Education Conference) is seeking papers. Submissions open soon.
University of Toronto’s Department of Computer Science has two faculty openings for Assistant Professor, Teaching Stream. Details here.
🤔 Thoughts For You to Ponder…
I appreciated this post from Joanne Jang (OpenAI) on human-AI relationships:
It reflects on how and why humans establish emotional bonds with AI systems, and what the implications are. It points out that we seek empathy, validation, and companionship, and that many current AIs already offer this type of emotional response, which can generate real emotional attachment.mHowever, it warns that an AI that’s too accommodating can reinforce our biases and make us dependent on one-sided relationships.
I also liked this reflection on academia from the first part of this SED episode (0:02:10-0:06:36). And the truth is that in my research group, the next two to graduate are going down different paths: industry and academia. There’s no single pattern when we talk about careers in research—it’s a fascinating topic!
📌 The PhD Student Is In
→ Building Together
Today will be the 4th session of our internal hackathon. We’ve been developing a web application that enables communication between internal servers using open source LLM APIs. It’s something experimental, but we’re enjoying everything that the process of creating from scratch entails, plus strengthening the bonds between us.
→ Exciting News: Poster Accepted
It looks like the work we’ve been doing in the research group is paying off, and it’s always great to receive positive results. In this case, I’m not part of the poster, but I’m really happy for Mahdi and team. Getting accepted into NeurIPS is not easy at all – it’s a huge accomplishment.
🪁 Leisure Line
Giving my time to the residents of this Houston nursing home. There’s nothing more comforting than an elderly person feeling companionship and being able to simply have a conversation for 30 minutes. If you can go, do it—they’ll be incredibly grateful.
📖📺🍿 Currently Reading, Watching, Listening
I really enjoyed Carlos Vives’ Tiny Desk. It made my commute more pleasant this week:
Found comfort in the words of this song:
That's all for this week. Thank you for your time. I value your feedback, as well as your suggestions for future editions. I look forward to hearing from you in the comments.
Quick Links 🔗
🎧 Listen to Computing Education Things Podcast
📖 Read my article on Vibe Coding Among CS Students
💌 Let's talk: I'm on LinkedIn or Instagram