2 minute read

In my first post, I mention Algorithms by Jeff Erickson. This post will reflect some of the books and videos I’ve watched in college and beyond. However, I will credit most of my learning to work experience - after all, the best way to learn how to code is to code.

Algorithms

  • Algorithms, by Jeff Erickson
  • Algorithm Design by Jon Kleinberg and Éva Tardos. This was the book that was recommended to us for EE 360C, the algorithms course I took at UT.
  • I haven’t read the entirety of the Algorithm Design Manual, by Steven S. Skiena but I have heard good things about it. You can watch the lectures for his Algorithms course from Fall 2020 here.
  • No algorithms list is incomplete without the slightly infamous Introduction to Algorithms, by CLRS but I wouldn’t recommend it as a first or even a second book to read. It is a great index, however.

Operating Systems

I will only recommend Operating Systems: Three Easy Pieces by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau. This book is wonderful. I have read this book cover to cover and genuinely enjoy reading it.

Programming

I have had the pleasure of taking a class by Yale Patt. It was the most difficult course I’ve taken in my life but one thing I genuinely appreciated were the tests. One thing I found at UT was that in science courses (I took introduction biochemistry, half a semester of organic chemistry, and biology) were that the tests weren’t that bad - they tested if you knew the material. The tests in Computer Architecture tested if you could apply the material, which is a skill which I still use today.

The class I took was an upper graduate course (involving designing something rather similar to the LC3 in the book).

  • Think Python by Allen Downey is great for learning Python, even with no programming experience

Compilers

Similar to OSTEP, I would only recommend Crafting Interpreters by Robert Nystrom. Another truly beautiful book. I have worked through the first 9 chapters and enjoyed them quite a bit. I hope to eventually create Clox in Rust.

Not Computer Science

If you’re interested in data science, I’d like to recommend this list, from Sam Finlayson.

In my formal college experience, I have also had the pleasure of taking some biology courses. If you would like to learn about introductory biology, I’d like to recommend Campbell’s Biology. After learning about introductory biology, you could proceed to learn about genetics (a truly fascinating subject), with Genetics: From Genes to Genomes. I took a genetics course from one of the author’s, Janice Fischer, and can happily say I pointed out a few typos from the 6th edition for extra credit.

Categories:

Updated: