A major in computer science and programming opens many lucrative doors. Many of these students become software engineers and programmers at one of the many technological companies throughout the country. Others find computational theory attractive. Graduate degrees strengthen students’ skills, increasing their value to employers. Since the field is rapidly advancing, many blogs have sprung up to address all aspects of the field. But which ones are the best to read and why? This list of thirty blogs represents a diverse array of perspectives on computer science, programming, computational theory, and the intersection of computer science with contemporary issues such as education, women in the sciences, business, and many more.
General Computer Science and Programming
1. Communications of the ACM: More than 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 on the site, but the blogroll contains links to other blogs that may be of interest to the aspiring programmer.
Highlight: Those who say Code Does not Matter
2. Gödel’s Lost Letter and P=NP: This blog is devoted to the specific question of P = NP in the theory of computing. The entries are more accessible to a lay audience than the standard academic journal article while remaining rigorous and technical.
Highlight: Shifts in Algorithm Design
3. Lambda the Ultimate: The Programming Languages Weblog: This blog features many contributors from both academia and industry, all of whom focus their posts on the topic of programming languages. The generally short posts prompt active comments making it one of the most interactive programming communities in the blogosphere.
Highlight: Cost Semantics for Functional Languages
4. Embedded in Academia: John Regehr, associate professor of computer science at the University of Utah, maintains this active personal blog. Although topics vary, the majority of his posts focus on computer science and programming.
Highlight: Proposal for a Friendly Dialect of C
5. Matt Might: No list of blogs would be complete without to Matt Might’s collection of articles. These articles are published as a list under various headings such as functional programming. They cover a range of topics from the pragmatic concern of an aspiring student to more technical treatments of programming languages, all in accessible language.
Highlight: What Every Computer Science Major Should Know
6. Computational Complexity: This highly technical blog immerses the reader in the complexity that can be found at the intersection between math and computer science. It also relates events and personalities in the field of computational complexity.
Highlight: Favorite Theorems: Quantum Interactive Proofs
7. The Endeavor: John Cook is a former math professor and programmer who has transitioned into consulting. Pragmatic and accessible, this blog gives the reader a sense of how they might combine their programming skills with business and apply those skills to solve real world problems.
Highlight: Classical Programming
8. Female Science Professor: An anonymous blog maintained by a female science professor at a large research institution. It muses on issues in teaching computer science in higher education and explores issues of gender in the programming industry and academia more generally.
Highlight: In Science, it Matters that Women Come Last
9. Shtetl-Optimized: Scott Aaronson, a theoretical computer scientist at MIT, regularly blogs on computational complexity and quantum computing. He also poses more general thoughts on the relationship between computer scientists, industry, politics, and the general public.
Highlight: Do Theoretical Computer Scientists Despise Practitioners?
10. Female Perspective of Computer Science: Gail Carmichael, an instructor at Carleton University in Canada, maintains this blog containing her personal reflections on teaching and research intermingled with technical observations on the art of coding.
Highlight: C++ and Java Together in CS2: Will it Be Great or a Disaster?
11. Coding Horror: Jeff Atwood describes his current projects and interests in computer science and programming. His somewhat infrequent posts generate extensive discussion in the coding community. The blog recently celebrated its ten year anniversary.
Highlight: 10 Years of Coding Horror
12. Proper Fixation: A Substitute for Anaesthesia: Proper Fixation offers the wisdom of Yossi Kreinin, a software developer; it covers a range of topics of interest to computer scientists such as programming languages, career advice, and tips in finding coding errors.
Highlight: Things from Python I’d Miss in Go
13. Jason’s Computer Science Blog: This general blog records the educational and work experiences of Jason Ernst. It focuses on both his current research and his active projects while also pointing at events of interest (e.g. conferences) to the broader community of computer scientists.
Highlight: Updated DNS Zone Update Tool for Hostmonster
14. Terry Tao’s Blog: Terry Tao is a mathematician whose work is frequently relevant for computer scientists and computational theorists. Most of the posts are highly technical mathematical demonstrations that are not accessible to layman. This makes his blog an intellectually challenging but fruitful endeavor for the serious student of computer science or mathematics.
Highlight: Derived Multiplicative Functions
15. Freedom to Tinker: Numerous contributors at Princeton make this highly active blog a useful resource on all matters relating to digital technologies and computing. A few articles focus directly on computer science, but the site provides a more generally useful context in which to view computer science as part of the larger computing world.
Highlight: It’s Time to Bring Bitcoin and Cryptocurriencies into the Computer Science Curriculum
16. Theory, Evolution, and Games Group: This blog weaves together computer science, the theory of evolution, and game theory into a masterpiece of interdisciplinary research.
Highlight: A Theorist’s Apology
17. Young Female Scientist: Although infrequently updated, this academic blog chronicles experiences of sexism in the sciences. It also surveys scientific systems and the general psychological challenges of completing advanced degrees and publishing.
Highlight: Oh, Nevermind Me.
18. Bit-Player: Despite claiming to be the thoughts of an amateur on computation and mathematics, author Brian Hayes is, in fact, a senior Writer for Scientific American. The blog focuses on computation and mathematics.
Highlight: The Pi Man
19. Bits and Pieces: This blog belongs to Harry Lewis, the Gordon McKay Professor of Computer Science at Harvard University. Although mostly a personal blog with musings on many different subjects, Lewis frequently comments on the intersection between computer science and programming and the academic, political and business worlds.
Highlight: The Outsized Influence of Harvard Computer Science
General Computer Science and Education
20. Computing Education Blog: Computing Education Blog is the most definitive and current resource on computing in K-12 education. Thoughts on pedagogy, political resistance to teaching computing skills, and conference announcements predominate.
Highlight: CS Leadership Session on CS Education in K-12 at the National Scale
21. Computer Science Teacher: This blog presents the personal perspective of Alfred Thompson on teaching computer science in the K-12 curriculum. It includes fun thoughts on coding problems, announcements of competitions, and a survey of recent interesting news coming from computer and technological companies.
Highlight: Fun With Code Monkeys
22. Knowing and Doing: This blog comes from Eugene Wallingford at the University of Northern Iowa. Blog posts are relatively short musings, sometimes containing nothing more than a quotation that Eugene found interesting. In addition to computing and software development, Knowing and Doing also includes posts on teaching computer science and on its use in business and management.
Highlight: September Monthly Archives
23. Computer Science Teachers Association: This blog contains announcements, news, articles on pedagogy, and updates to the membership, its leadership and organization.
Highlight: Computational Thinking and Beyond
24. Process Algebra Diary: Process Algebra Diary contains a collection of papers and conference reports in process algebra, general mathematics and computer science. A reader will also find job announcements and calls for award nominations.
Highlight: Call For Nominations: Presburger Award 2015
25. Treehouse Blog: Treehouse blog is one of the best blogs for a 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. These tasks include building websites, coding, and help in understanding popular phone operating systems such as iOS and Android.
Highlight: New Course: Modular CSS with Sass
27. An Open Mind: Miles Berry brings his years of experience as a principal lecturer and subject leader in providing his unique perspective on education, technology, and culture.
Highlight: Creativity in the New Computer Curriculum
28. Academic Computing: Neil Brown brings his perspective on teaching computing at the University of Kent in the UK in this blog. Posts are substantive and engaging without overwhelming the reader.
Highlight: Programming: A Series of Interesting Decisions
29. Teach Computing: Teach Computing is dedicated entirely to the subject of how to teach computing in the K-12 system. Although the blog is relatively recent and receives infrequent new posts, the blog posts address common pedagogical problems and offer insight in how to become better teachers.
Highlight: Do Girls Prefer to Code in Groups?
30. A+ Computer Science Blog: This very general blog raises awareness for events in the computer science community and offers readers instructional aids in the teaching of computer science.
Highlight: New AP CS A Labs – Magpie, Elevens, and PictureLab Part 2