I came across this fascinating paper documenting seven years of experience building and refining an undergraduate robotics course within a Computer Science curriculum, and it's packed with hard-won practical wisdom. Starting back in 20...
I recently rediscovered Midnight Commander and it instantly brought back memories of navigating filesystems before GUIs ruled everything — but honestly, it holds up remarkably well even today. mc is a dual-pane, text-mode file manager that runs beautifully in a t...
I recently stumbled across CodeCombat, and honestly it's one of the more clever approaches to learning programming I've seen in a while. The premise is simple but effective: you write real Python or JavaScript code to control your hero through dungeons, defeat ogres, and so...
Initially, we had languages like Fortran (1957), Pascal (1970), and C (1972). Fortran was designed for number crunching and scientific computing. Pascal was restrictive with respect to low-level access (it was deliberately "safe", as meant for teaching structured programming). So C won out as a language that allowed low-level/unsafe programming (pointer arithmetic, direct memory access) … Continue reading A brief history of C/C++ programming languages
There’s an old concept called Literate Programming. It never stuck or took off, but it came back to me the other day. Here is the Wikipedia explanation. My summary of this approach is to write a program (source code) as if it were a chapter i...
You know I've been using Claude Code and friends extensively in my work. To the extent that most of the python that I generated in the last month was written by Claude Code. You might know that up to recently I was teaching at Brandeis University in the Computer Science department. While teaching so...
Based on my own experience, some of my favorite books and blog posts, and advice from friends, I’ve come up with this. What do you think? What should I add? Please comment! This was my opinion back in 2015 I will create a new post showing what has changed! #### Personal Effectiveness Rules of ...
Seven years ago (2016), we began integrating Robotics into our Computer Science curriculum. This paper explores the mission, initial goals and objectives, specific choices we made along the way, and why and outcomes. Of course, we were not the first to do so. Our...
The author (not me) says: “Right up front, I should say that Rust is very good at what it’s designed to do, and if your project needs the specific benefits of Rust (a systems language with high performance, super strong typing, no need for garbage collection, etc.) then Rust is a great choice. But I think that Rust is often used in situations where it’s not a great fit, and teams pay the price of Rust’s complexity and overhead without getting much benefit.”
This handbook is for grad students, postdocs and PIs who do a lot of programming as part of their research. It will teach you, in a practical manner, how to organize your code so that it is easy to...
Learn programming with a multiplayer live coding strategy game for beginners. Learn Python or JavaScript as you defeat ogres, solve mazes, and level up. Open source HTML5 game!
A good list. I know every single one and would generally agree with it. Some books are too high in the list and some too low. But an excellent starting point.