#2 — Learning computing concepts visually
Abstraction before we start understanding all the details
AHA Symposium 2025
Should we design AI to augment human work or completely automate it?
Should we design AI to enhance human creativity or take over the creative process?
This recent symposium from the MIT Media Lab titled 'Can we design AI to support human flourishing?' features more than six hours of recordings with leading researchers and thinkers from industry, academia, and the nonprofit sector. As you can imagine, there are a ton of ideas and information, but you can use the chapters to jump to whatever you're most interested in.
A friendly guide to choosing a chart type
A researcher normally has to create different kinds of charts depending on the paper. This post maps 40+ chart types to specific analytical goals. It covers time trends, proportions, flows, correlations, and more. It's a practical taxonomy that helps you select the right visualization for your message, without falling into the 'just use a bar chart' trap. Found in the Data Elixir Newsletter.
Read the post here.
Wanna learn CS this summer? I have something for you
Great free online resources with professors from top universities to go more in-depth in different aspects of computer science this summer:
Guess the SQL Statement
This wordle inspired game will help you level-up your SQL skills with new games everyday, archives, and leaderboards! No login required.
Two good bites from the industry
→ A CS researcher turned founder
Chris Lattner of Modular joined Latent Space to talk about how they are breaking the CUDA monopoly, what it took to match NVIDIA performance with AMD, and how they are building a company of "elite nerds". Get ready for a very technical talk. I don't recommend watching it after a busy day at work. But it's a fascinating conversation, don't miss it.
You can watch it here.
→ Andrej Karpathy just dropped a masterclass on how software is changing (again)
An inspiring, comprehensive, well-organized talk, presented in an entertaining and accessible way, about a future that is not so “hyped” and more grounded, with clear proposals and guidelines. If you develop software, I recommend spending 30 minutes watching Andrej Karpathy's Software 3.0 vision.
Check out the talk here.
A really good online compiler
If you want to do live programming in class without installing anything, OneCompiler is a platform that allows you to run code in different programming languages such as Python, PHP, Java, C, etc.
Resources for Teaching in CS Education
→ Scratchapixel 4.0
Exciting news for computer graphics enthusiasts as Scratchapixel 4.0 is now available, offering a fantastic opportunity to learn computer graphics programming.
More info here.
→ Visual Data Structures Cheat-Sheet
I love learning concepts visually. This cheat sheet is great for explaining and understanding some of the main data structures used in computer science that also have real-world applications. It covers the most important ones. If you're preparing for interviews, I hope you find it useful. If not, I hope it also helps you get an overview of some key concepts in data structures and algorithms.
→ Intro to Database Systems - CMU 15-445/645
Now that the semester has ended, it's the perfect moment to reflect on some other courses and explore new approaches for next term. Here is one recent one on databases to help enhance your teaching materials and methods.
The fall 2024 semester of Carnegie Mellon's Intro to Database Systems is open to everyone online. It covers data models, query languages, architectures, vector/full-text indexes, transaction processing, and much more. Case studies and weekly flash talks from database vendors are used to explore techniques and trade-offs.
The video recordings of the lectures are available on YouTube.
→ Code Reading Club
This is a code reading club where they do readings of code and then look at techniques for demystifying unfamiliar code. I love it—it's like reading code together and talking about what you see. A fantastic initiative from Felienne Hermans.
Code Reading Club website
Benefits of joining a Code Reading Club, a great post from Marit van Dijk
🌎 Computing Education Community Highlights
New paper from Michael Kölling and co. which discusses computing curriculum design – principles and considerations. This may be a good read for those who are interested in the current debate in England.
Are you teaching a programming course? Please participate in this short survey on Generative AI! Hieke Keuning and co are conducting this survey as part of a Taskforce of the ACM Education Board on Generative Artificial Intelligence (GenAI) and Student Programming Assessment. They would appreciate your viewpoint on how GenAI tools (ChatGPT, GitHub Copilot, etc.) impact your instructional experiences. The survey should take only 10 - 15 minutes to complete.
Exciting opportunity to shape cyber security education at the University of Melbourne!
🤔 Thought(s) For You to Ponder…
Great post from Hollis Robbins on the scandal of outdated science textbooks:
AI will force universities to change their value proposition: from delivering known information to guiding students at the frontier of knowledge.
I'll read your comments below!
The PhD Student Is In
→ New episode of the Computing Education Things podcast with Naaz Sibia is out!
I really enjoyed this conversation with Naaz from UofT about visualization tools in computing education. You can also listen to it on your podcast app of choice or on the podcast website.
→ Talking to Future CS Students
Last month I was invited to give a talk to high school seniors interested in studying Computer Science, Data Engineering, and AI. I accepted without thinking twice. I told them what it means to study CS, what it means to work in the tech world, and gave them tips on how to choose a college major. It was super fun!
🪁 Leisure Line
Saying goodbye to my friend Jared from Colorado, who spent the 2024-25 academic year in Barcelona. I'm sure this summer's tour with his band will be a success, and we've already agreed to grab our next beer together in Houston.
What I'm reading 📖
I’m continuing to work my way through Slow Productivity by Cal Newport and very much enjoying it. Great insights on how to pursue meaningful accomplishment while avoiding overload, based around three principles: (1) Do Fewer Things; (2) Work at a Natural Pace; (3) Obsess Over Quality
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.