
Ask HN: As a self-taught programmer where can I learn some CS? - eberfreitas
I&#x27;ve seem some resources scattered around but I was looking for something more &quot;definitive&quot;. Any ideas? Thanks!
======
gen_greyface
[https://teachyourselfcs.com/](https://teachyourselfcs.com/)

------
wdr1
[https://bigmachine.io/products/the-imposters-
handbook](https://bigmachine.io/products/the-imposters-handbook)

~~~
ud0
How good is this book?

------
wikibob
I highly recommend Gregor Kiczales‘s CS classes from UBCx as a starting point
[0]

Gregor’s courses are based on the “How to Design Programs” book that Matthias
Felleisen at Northeastern, Shriram Krishnamurthi at Brown, and others wrote.

They have a great paper discussing the pedagogical philosophy called The
Structure and Interpretation of the Computer Science Curriculum [1]

[0] [https://www.edx.org/course/how-code-simple-data-ubcx-
htc1x](https://www.edx.org/course/how-code-simple-data-ubcx-htc1x)

[0] [https://www.edx.org/course/how-code-complex-data-
ubcx-](https://www.edx.org/course/how-code-complex-data-ubcx-)

[1]
[https://www2.ccs.neu.edu/racket/pubs/jfp2004-fffk.pdf](https://www2.ccs.neu.edu/racket/pubs/jfp2004-fffk.pdf)

------
algodaily
I built [https://algodaily.com](https://algodaily.com) to serve as a gentle
intro to CS fundamentals for non-traditional students. Check it out and see if
it's what you're looking for.

------
connor11528
I’ve collected resources for getting better at CS here:
[https://github.com/connor11528/cs-
fundamentals](https://github.com/connor11528/cs-fundamentals)

------
ftl64
[https://github.com/ossu/computer-science](https://github.com/ossu/computer-
science)

------
p1p
MIT Introduction to Computer Science

~~~
xyzwave
MIT Structure and Interpretation of Computer Programs :-)

The opening statement:

“I'd like to welcome you to this course on computer science. Actually, that's
a terrible way to start. Computer science is a terrible name for this
business. First of all, it's not a science. It might be engineering or it
might be art, but we'll actually see that computer so-called science actually
has a lot in common with magic, and we'll see that in this course.

So it's not a science. It's also not really very much about computers. And
it's not about computers in the same sense that physics is not really about
particle accelerators, and biology is not really about microscopes and petri
dishes. And it's not about computers in the same sense that geometry is not
really about using surveying instruments

...

Now, the reason that we think computer science is about computers is pretty
much the same reason that the Egyptians thought geometry was about surveying
instruments. And that is, when some field is just getting started and you
don't really understand it very well, it's very easy to confuse the essence of
what you're doing with the tools that you use. And indeed, on some absolute
scale of things, we probably know less about the essence of computer science
than the ancient Egyptians really knew about geometry.”

Still prescient 30 years later...

[https://ocw.mit.edu/courses/electrical-engineering-and-
compu...](https://ocw.mit.edu/courses/electrical-engineering-and-computer-
science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/)

~~~
a-saleh
This is the reason why i kinda like, I didn't study Computer Science. I
studied Theoretical Informatics :)

------
sweetbee
MIT’s CS50 is great!

