By CSDH Staff

June 2020

Blogs have become one of the most effective outlets for teaching and learning about all things computer science and computer programming. While some computer science blogs are made up of the interesting musings of various tech types, others are helpful how-to’s covering everything from building a website to building a computer. Despite their many differences, the best blogs are entertaining, informative, and well-written. Keep scrolling for this year’s rundown of the top 30 computer science and programming blogs!

To come up with a name for his blog, U.C. Irvine professor David Eppstein interpreted his initials as the hexadecimal number oxDE, then converted the result to binary. 11011110 is the result. Anyone interested in computer science is sure to find Eppstein’s posts both entertaining and informative. He writes on just about everything, always from a computer science perspective. Recent articles include “The inbox of a triangle,” “An unflippable polygon,” and “More on uniqueness in Sudoku.”

Neil Brown, a computing education researcher at King’s College London, writes and publishes the popular computer science-themed blog Academic Computing. Brown writes mainly “essays and arguments about computing education,” with a few interesting outliers here and there. Recent blog posts include “While My Guitar Gently Beeps,” “Code highlighting: the lowlights,” and “What makes a [computing education] research paper?”

Despite claiming to be the thoughts of an amateur on computation and mathematics, bit-player is actually authored by Brian Hayes, the one-time “Computing Science” columnist at American Scientist. Hayes’s posts are always based in computer science, yet cover such topics as biology, linguistics, neuroscience, and social sciences. Some of bit-player’s most recent posts include “April fool Redux,” “The Teetering Towers of Abstraction,” and “737: The MAX Mess.”

Bits and Pieces is the blog of Harry Lewis, the Gordon McKay Professor of Computer Science at Harvard University. Though Bits and Pieces is mostly a personal blog with musings on a variety of subjects, Lewis frequently comments on the intersection between computer science and programming, and the academic, political, and business worlds. Recent posts include “A question unanswered in the Epstein report,” “The Wheaties box,” and “Let the snitching begin.” Bits and Pieces is a must-read for anyone interested in Harvard, especially.

CodeWall is the work of British web developer Dan Englishby. The blog features articles on such topics as JavaScript, HTML/CSS, and PHP, among other things. Just about everything is written as a useful, in-depth tutorial that will appeal to both experienced coders and those who are just learning. Recent posts include “PHP Arrays Explained,” “Select All Checkboxes with JQuery,” and “Building Data Visualizations in PowerPoint Using Python.”

The Stack Exchange founder Jeff Atwood is the author of Coding Horror, a popular computer science blog about “programming and human factors.” Though posts are made infrequently, anything and everything that is posted generates extensive discussion in the coding community. Some of Coding Horror’s most popular posts include “Electric Geek Transportation Systems,” “The Cloud is Just Someone Else’s Computer,” and Jeff’s “Building a PC” series,” part nine of which was published in April 2020.

Combinatorics and more is the blog of Gil Kalai. Since the blog’s inception in 2008, Kalai has published hundreds of posts on topics ranging from applied mathematics and probability, to computer science and optimization and everything in between. There’s even a category for poetry! Recent posts include “A guest post by Noam Lifshitz on the new hypercontractivity inequality of Peter Keevash,” “What Then, To Raise an Old Question, is Mathematics?”, and “Towards the Entropy-Influence Conjecture.”

Far more than just a blog, Communications of the ACM is an entire online publication dedicated to all aspects of computing and information technology. Both blog entries and news articles are posted directly to the site, but the blogroll contains links to other blogs that may be of interest to the aspiring programmer and computer scientist. Recent posts include “Is a (Nearly) Zero-Cost Model Plausible for Science and Engineering Programs?”, “Hacking the Axis,” and “Can AI Become Conscious?”

Computational Complexity is a fun and popular computer science blog written by computational theorists Lance Fortnow and Bill Gasarch. The highly technical blog posts immerse the reader in topics, events, and public figures spanning both computer science and mathematics. Recent posts include “Why is there no (d,n) grid for Hilbert’s Tenth Problem?,” “Theoretical Computer Science for the Future,” and “The Importance of Networking.”

A must-read for any teacher, Computer Science Teacher is the personal blog of educator Alfred Thompson. Thompson writes about all things related to teaching computer science as part of the K-12 curriculum, and posts include thoughts on coding problems, announcements of competitions, and interesting updates from computer and tech companies. “What About the Students Who Thrive Learning Online,” “What is Your School IT Department’s Mission?”, and “Teaching From Home – What About Cheating?” are all recent posts.

Computing Education Research Blog is perhaps the most definitive and current resource on computing in K-12 education. Worth the bookmark for anyone involved in education and computer science, Computing Education Research Blog offers thoughts on pedagogy, political resistance to teaching computing skills, and upcoming conferences, mainly. Recent posts include “Measuring progress on CS learning trajectories at the earliest stages,” “Thought Experiments on Why Face-to-Face Teaching Beats On-Line Teaching: We are Humans, not Econs,” and “Active learning has differential benefits for underserved students.”

Computer scientists and programmers interested in JavaScript will want to bookmark the David Walsh Blog. Walsh and a variety of guest bloggers publish posts focusing on modern libraries, shortcuts for programming in JavaScript, and helpful tutorials, among some other things. Recent posts include “Devising the Cloak of Invisibility in JavaScript,” “Unlock Your Mac with Apple Watch,” and “How to Play Retro Game ROMs on Windows.”

Embedded in Academia is the popular blog of John Regehr, a professor of computer science at University of Utah. Though most of Professor Regehr’s blog posts are academic in nature and relate to computer science and programming, others are of a more personal nature, such as a recap of a hiking trip taken to Utah’s San Rafael Swell. Some of Embedded in Academia’s recent articles include “Write Fuzzable Code,” “It’s Time for a Modern Synthesis Kernal,” and “Design and Evolution of C-Reduce.”

The Endeavor is the popular computer science-themed blog of John Cook, a former math professor and programmer who has transitioned into consulting. Pragmatic and accessible, The Endeavor gives readers a sense of how they might combine their programming skills with business, and/or use those skills to solve real world problems. Recent blog posts include “The Fundamental Theorem of Algebra,” “Inverse Optimization,” and “To integrate the impossible integral.”

Freedom To Tinker is an active and popular blog hosted by Princeton University’s Center for Information Technology Policy. A slew of brilliant contributors post on all matters relating to digital technologies and computing. While some articles focus directly on computer science, others view computer science as part of a bigger computing world. Recent posts include “Fair Elections During a Crisis,” “Improving Protections for Children’s Privacy Online,” and “Watching You Watch: The Tracking Ecosystem of Over-the-Top TV Streaming Devices.”

Named for the famous letter in which mathematician Kurt Gödel was the first to state the P=NP question, Gödel’s Lost Letter and P=NP is a blog all about — you guessed it — P=NP and other questions relating to the theory of computing. The blog posts are written by Dick Lipton, a professor of computer science at Georgia Tech, and Ken Regan, a professor of computational complexity theory at University at Buffalo (SUNY). Posts cover a variety of topics within the theory of computation, and recent articles include “Mathematics of COVID-19,” “Proof of the Diagonal Lemma in Logic,” and “Consistency and P=NP.”

Knowing and Doing is the blog made up of “reflections of an academic and computer scientist” — that is, of Eugene Wallingford at the University of Northern Iowa. In addition to the subject of computer and software development, Knowing and Doing also includes posts on teaching computer science and its use in business and management. Other posts are short musings on outlying topics, sometimes containing nothing more than a quotation that Wallingford has found interesting. Recent posts include “Not Receiving Negative Feedback Makes it Hard to Improve,” “Software Can Make You Feel Alive, or it can Make You Feel Dead,” and “Three Quotes on Human Behavior.”

The subtitle of the popular blog Lambda the Ultimate is “The Programming Languages Weblog.” A number of computer scientists from both industry and academia contribute to this blog, and nearly all of the blog posts fall under the topic of programming languages. Lambda the Ultimate is also one of the most interactive blogs, with each post prompting dozens of comments and replies. Recent articles include “Histogram: You have to know the past to understand the present,” “Three Things I Wish I Knew When I Started Designing Languages,” and “On compositionality.”

The Leisure of the Theory Class is definitely worth the bookmark. The blog — which features a fragment of a battle painting by Paolo Ucello as its sophisticated header image — is mainly devoted to the authors’ thoughts on all aspects of economic and game theory. Recent posts include “Universities After the Pandemic,” “Effects of a Partially Effective Vaccine,” and “The game theory of the electoral threshold.”

No list of the top computer science blogs would be complete without Matt Might’s blog. This massive collection of articles is published as a list with various subcategories, such as “Functional Programming” and “HOWTOs.” The blog posts cover a range of topics, and are written in language that is accessible to the professional or the lay audience. Recent posts include “10 easy ways to fail a Ph.D.,” “7 lines of code, 3 minutes: Implement a programming language from scratch,” and “Practicing privacy: Encryption.”

Not surprisingly, Massachusetts Institute of Technology’s blog, MIT Technology Review, is a rich source of information relating to computer science and programming. Myriad authors contribute to the blog, and specific topics include everything from social media trends and artificial intelligence, to climate change and blockchain, and everything in between. Recent article topics include coronavirus tracking apps, training self-driving cars, and the birth of a planet.

My Biased Coin is the work of Michael Mitzenmacher, and he describes the blog as his “take on computer science — algorithms, networking, information theory, and related items.” Posts are published once or twice a month, and recent articles include “Teaching Randomized Algorithms,” “Current CS 124 Stats,” and “Harvard Admissions Lawsuit Decision Out.”

Paul Goldberg is a professor of computer science at Oxford, and he uses his self-titled blog to ruminate on “theoretical computer science, economics, and academic life in general.” His posts are short and fascinating, and are appropriate for the academic, industry pro, or learner. Recent posts include “Surge pricing, anyone?”, “A competitive foraging/gathering game,” and “What do you know that deserves more publicity?”

Process Algebra Diary is the blog of Luca Aceto. It covers various papers and process reports about Process Algebra, plus some other “fun stuff in Mathematics and Computer Science at large and on general issues related to research, teaching and academic life.” Especially interesting blog posts include “An interview with Rob van Glabbeek, CONCUR Test-of-Time Award recipient,” “The Complexity of Identifying Characteristic Formulae,” and “Three questions to three junior female computer scientists for the International Day of Women in Science.”

Semantic Domain is the computer science and programming blog of Neel Krishnaswami. Aesthetically simple, yet interesting for both professionals and the layman, Semantic Domain features Krishnaswami’s thoughts on mathematics, computer science, and a few other niche topics. Recent posts include “Thought Experiment: An Introductory Compilers Class,” “On the Relationship Between Static Analysis and Type Theory,” and “All Commands, All the Time.”

Scott Aaronson is the MIT-based theoretical computer scientist behind Shtetl-Optimized. Aaronson regularly blogs about computational complexity and quantum computing, while also posing more general thoughts on the relationships between computer scientists, industry, politics (fair warning: he’s anything but neutral), and the general public. Recent blog posts include “The Collapsing Leviathan,” “The Quantum Computer That Knows All,” and “Four Striking Papers.”

Treehouse is certainly one of the best blogs for any student looking to learn directly from the web. The authors introduce themselves as teachers, and their posts frequently contain step-by-step instructions on how to accomplish computing tasks. Recent “how to”s include “5 Ways to Improve Your Website in 2020,” “What is PHP?”, and “JavaScript Loops 101.”

With a title that references the great Alan Turing, it should come as no surprise that Turing’s Invisible Hand is a blog dedicated to all things computation, economics, and game theory. Since its inception in March 2009, Turing’s Invisible Hand has featured hundreds of articles on these topics. Recently popular posts include “Computer Scientists and Braess’s Paradox,” “Auction Algorithm for Bipartite Matching,” and “Should technical errors disqualify conference papers?”

What’s New is the work of Terry Tao, a mathematician whose work is frequently relevant for computer scientists and computational theorists. Most of Tao’s posts are highly technical mathematical demonstrations relating to his current research and expository papers, although he also posts open problems and other math-related topics. While the layman may be a little lost whilst exploring What’s New, the serious student of computer science or math is sure to find Tao’s articles a challenging, yet fruitful, endeavor. Recent posts include “Decoupling Theory,” “Restriction Theory,” and “Almost Everywhere Convergence of Fourier Series.”

Although Windows on Theory was started by a group of theoretical computer science researchers at Microsoft Research Silicon Valley (MSR-SVC), the blog’s list of authors now includes a slew of other theoretical researchers from around the country. The blog describes its purpose as “a forum for exchanging ideas and debating topics of interest to the Theory of Computing.” Always topical, Windows on Theory’s recent posts include “Foundations of responsible computing,” “Lessons from COVID-19: What works online and what doesn’t,” and “Life and CS theory in the age of Coronavirus.”

Related:

30 Most Affordable Bachelor’s Degrees in Computer Science

Top 50 Master’s in Computer Science Degree Programs

The 30 Most Influential Computer Scientists Alive Today