Live data from Hacker News

Can we create a thread for some of the best materials on CS available online?

news.ycombinator.com

21–30 of 50 posts

Re: Can we create a thread for some of the best materials on CS available online?

#22
this isn’t nearly as comprehensive, but Michael Collins’ notes on machine learning for NLP are really succinct and IMO intuitive

http://www.cs.columbia.edu/~mcollins/

(search for notes, where he’s listed links to pdfs he uses in classes)

Re: Can we create a thread for some of the best materials on CS available online?

#24
Lots of great suggestions here.

I'll throw out a recommendation for The Little series of books (e.g., The Little Schemer, The Seasoned Schemer, The Reasoned Schemer, The Little Typer, etc.)

The first book is all you need to grok recursion. You can just toss a copy at any student who struggles with it.

The second book ends with some really non-trivial CS stuff.

They're fantastic examples of the power of good pedagogy to explain interesting and difficult concepts normally relegated to drier texts.

Re: Can we create a thread for some of the best materials on CS available online?

#25
# Programming

"A Data-Centric Introduction to Computing"

https://dcic-world.org/

# Programming Language Theory

"Programming Languages: Application and Interpretation"

https://www.plai.org/

"Crafting Interpreters"

https://craftinginterpreters.com/

# Algorithms/Data Structures

* Pure C *

"Algorithmic Thinking: A Problem-Based Introduction"

https://nostarch.com/algorithmic-thinking-2nd-edition

# Competitive Programming/Interviews

"Competitive Programming book, 4th edition (CP4)"

https://cpbook.net/

"Elements of Programming Interviews in Python"

http://elementsofprogramminginterviews.com/

# Compilation

"Essentials of Compilation: An Incremental Approach in Python"

https://github.com/IUCompilerCourse/Essentials-of-Compilatio...

# Database Systems

"CMU: Intro to Database Systems"

https://15445.courses.cs.cmu.edu/

"CMU: Advanced Database Systems"

https://15721.courses.cs.cmu.edu/

# Calculus I/II & Real Analysis

"A Course in Calculus and Real Analysis"

https://link.springer.com/book/10.1007/978-3-030-01400-1

"A Course in Multivariable Calculus and Analysis"

https://link.springer.com/book/10.1007/978-1-4419-1621-1

# Physics

"Matter and Interactions"

https://matterandinteractions.org/

# Linear Algebra & ML

* A Series of books by prof. Joe Suzuki without using any external library for the implementations *

"Statistical Learning with Math and Python"

https://link.springer.com/book/10.1007/978-981-15-7877-9

"Sparse Estimation with Math and Python"

https://link.springer.com/book/10.1007/978-981-16-1438-5

"Kernel Methods for Machine Learning with Math and Python"

https://link.springer.com/book/10.1007/978-981-19-0401-1

# Discrete Mathematics

"CMU 21-228 Discrete Mathematics (prof. Poh-Shen Loh"

https://www.math.cmu.edu/~ploh/2021-228.shtml

# Mathematical Logic

"Mathematical Logic Through Python"

https://www.logicthrupython.org/

# CS Complexity and Theory:

Courses by Ryan O'Donnell at CMU

http://www.cs.cmu.edu/~odonnell/

# Cryptography

"Serious Cryptography: A Practical Introduction to Modern Encryption"

https://nostarch.com/seriouscrypto

# Problem Solving

"Math 235: Mathematical Problem Solving"

https://www.cip.ifi.lmu.de/~grinberg/t/20f

# Computer Graphics

* Also look up the course by @pikuma for a pure c impl without OpenGL *

"Computer Graphics from Scratch: A Programmer's Introduction to 3D Rendering"

https://gabrielgambetta.com/computer-graphics-from-scratch/

"The Ray Tracer Challenge A Test-Driven Guide to Your First 3D Renderer"

https://pragprog.com/titles/jbtracer/the-ray-tracer-challeng...

# Reverse Engineering

"Reverse Engineering for Beginners"

https://beginners.re/

# SAT/SMT

"SAT/SMT by Example"

https://sat-smt.codes/

Also Hakan Kjellerstrand's z3 page:

http://www.hakank.org/z3/

# Game Engine Development

* 2/4 volumes out (no digital format for the 2 pending volumes due to the authors "piracy" concerns *

"Foundations of Game Engine Development"

https://foundationsofgameenginedev.com/

# Creative Coding

"Generative Design: Visualize, Program, and Create with JavaScript in p5.js"

http://www.generative-gestaltung.de/2/

Articles by Tyler Hobbs specially the one on "Flow Fields" :

https://tylerxhobbs.com/essays/2020/flow-fields

Articles by Sighack specially the one on "Watercolor Techniques":

https://sighack.com/post/generative-watercolor-in-processing

Re: Can we create a thread for some of the best materials on CS available online?

#26

https://teachyourselfcs.com . I have read few books from the list and found it to be comprehensive as well as manageable. The courses and books have been selected so that one can study it outside of regular university course. Books are self contained and full with exercises. It can easily take 1-2 years of serious effort to get through the material.

> It can easily take 1-2 years of serious effort to get through the material.

Still faster than my CS degree.

Re: Can we create a thread for some of the best materials on CS available online?

#27

From Nand to Tetris: Build a Modern Computer from First Principles https://www.coursera.org/learn/build-a-computer Phenomenal look at different systems involved in a computer, and has you build simple versions of logic gates, ALU, assembler, compiler, bootloader, and graphics engine. Highly recommend for folks who didn't study CS in school.

I have been considering going through this book/program myself. I do have a CS degree, but I really need to brush up on somethings, and I will imagine I will learn a lot of new things too.

However, I noticed there are two versions of the book. Do you think the version matters?

Re: Can we create a thread for some of the best materials on CS available online?

#28
https://fullstackopen.com/en/

Full Stack Open, a free course by University of Helsinki, is very good on quickly teaching the core concepts for modern frontend and backend in the JS ecosystem. Such a good primer on React and the rest of the things, CI/CD, DB, backend API, auth, etc. involved in fullstack development.

Re: Can we create a thread for some of the best materials on CS available online?

#30
post #27

From Nand to Tetris: Build a Modern Computer from First Principles https://www.coursera.org/learn/build-a-computer Phenomenal look at different systems involved in a computer, and has you build simple versions of logic gates, ALU, assembler, compiler, bootloader, and graphics engine. Highly recommend for folks who didn't study CS in school.

I have been considering going through this book/program myself. I do have a CS degree, but I really need to brush up on somethings, and I will imagine I will learn a lot of new things too. However, I noticed there are two versions of the book. Do you think the version matters?

The book (and course, IIRC) is split across two books. The first one focuses on the lower level systems, and I believe the seconds one deals with the bootloader, language implementation, screen animation, and building the game.

It doesn't look like there are multiple versions of the books, unless I'm missing something. I did the two versions of the course without the book, and really enjoyed both. Although the writers of https://teachyourselfcs.com/ only recommend the first one, so it depends what you want to get out of it and whether the approach resonates.

Post reply on HN