Teaching oneself a full CS curriculum

I'm a self-taught dev but I feel like my knowledge is lacking in a lot of areas, including the mathematical foundations of CS, operating systems, algorithms, architecture, things like that. Basically, stuff you would learn in a good university's CS curriculum.
What are some book or online resources I can use to acquire this foundational knowledge?
I'm already reading SICP, but I want to learn about the full breadth of CS and possibly some CE as well; not just programming.

POSIWID: The Purpose Of A System Is What It Does Shirt $21.68

DMT Has Friends For Me Shirt $21.68

POSIWID: The Purpose Of A System Is What It Does Shirt $21.68

  1. 2 weeks ago
    Anonymous

    https://teachyourselfcs.com/ was made for people like you. There will inevitably be a discussion where people say it's shit and you should do this or that instead. But it's simple enough and gets the job done.

    • 2 weeks ago
      Anonymous

      https://teachyourselfcs.com/

      This looks perfect. Thank you anons.

      I am in a pretty good college right now and haven't learned a thing. took a c++ course and ended with A- just cheating. The way they teach classes is extremely slow and I end up not paying attention. Teaching yourself is better than college.

      Maybe my expectations for university are too high. Although taking a cursory glance at a CS curriculum in an average university in my country, the first year has classes like computer architecture, functional programming, OOP, and various math. Seems pretty solid.
      I guess it depends on the place.

    • 2 weeks ago
      Anonymous

      Is there something like this but for mathematics?

      • 2 weeks ago
        Anonymous

        yes I think it was called something like "uneyverseteeh"

      • 2 weeks ago
        Anonymous
        • 2 weeks ago
          Anonymous

          Seems considerably longer and more difficult than self-teaching CS

      • 2 weeks ago
        Anonymous

        https://IQfy-science.fandom.com/wiki/Mathematics
        Pick some

      • 2 weeks ago
        Anonymous

        Not quite the same format but made me think of https://teachyourselfmath.app/
        For math there are many routes you can take. There are some books for university-level math covering (not in depth) a range of subjects from the undergrad curriculum. That typically includes analysis, linear algebra, abstract algebra, differential equations, probability, as well as possibly some functional analysis and discrete math. You can probably start with the math-for-compsci book that they recommend on the CS site.
        However, learning math is really about shaping your brain, much more so than programming. With self-learning it can be hard to sustain the necessary intensity to get anywhere. At a minimum I would recommend a study group.

      • 2 weeks ago
        Anonymous

        No, because it's an enormous field. Shilov as in your pic is unironically a good linear algebra text though (frick Axler - his hate for determinants is just because they don't carry over to functional analysis well, so ignore his ramblings). If you're into programming, I'd also recommend Trefethen and Bau since even though that's technically *numerical* linear algebra (what should really be called applied linear algebra, or computational linear algebra), a course of that flavour often gives people a very solid grounding especially when they don't take so well to abstraction, and if you do then great, you're even better off.
        You should cover calculus and linear algebra at a bare minimum, and you should really do them together, especially when you get to multivariable calculus. You should also cover complex analysis.
        You should also cover abstract algebra, and there are plenty of good texts for this. And you should give discrete maths a go to see whether you're that kind of person or not (if you're into programming, you probably will be). Combinatorics has almost no barriers to entry which makes it a great way to get into maths fast.
        From there you have all the basics you need to branch out into areas which take your fancy. But you can't cover them all, so you have to follow your interests. Maths is far too big for you to even attempt covering it all.

        • 2 weeks ago
          Anonymous

          I notice you didn't mention number theory, topology, or things like differential geometry
          Are those not standalone fields?

          • 2 weeks ago
            Anonymous

            You can't go into any of those things without covering at least the basics of what was mentioned in that post.
            The exception is very basic number theory. Number theory has a variety of simple problems which can be accessible to newcomers, which can be fun, but number theory also gets extremely deep very quickly. Entire fields of algebra have been created with the motivation of solving certain number theory problems. It's by far one of the hardest fields to get into.
            However, if you are interested in a relatively friendly introduction, there's a book by Oystein Ore which is quite easy to read with no background.
            As for differential geometry, that's just calculus on a manifold, so you should cover calculus first. You'll figure out when you need topology as you go.

          • 2 weeks ago
            Anonymous

            Thanks for the advice friend

          • 2 weeks ago
            Anonymous

            Maybe you should post your interests (or what you think your interests are) so that you can more easily get advice, because otherwise people will just rattle off lists of topics in mathematics with little to no benefit to you. Or if you're looking for an idea of how certain fields relate to one another, then you could specify what it is you're after.

          • 2 weeks ago
            Anonymous

            >what you think your interests are
            Honestly I'm gonna get shat on for this but I wish I understood the stuff Witten works on and what is currently being done in theoretical physics with M-theory and so on (which as I understand is almost entirely about manipulating mathematical objects rather than physics as we usually conceive of it)
            Vulgarization just isn't very satisfying to me, I wish I could really get it.
            I have a basic university level understanding of math; calc, some real analysis, some linear algebra, basic statistics, whatever. Far from being sufficient to tackle what I'm talking about.
            Also I've been interested in topology lately, just because I think it's neat. Abstract algebra as well. But I'm not studying either in a rigorous manner right now

          • 2 weeks ago
            Anonymous

            That's a heavy geometrical flavour so you want to focus a lot on first getting a grounding in topology, then moving into differential geometry and depending on what parts you're interested in, algebraic geometry. You should be able to get some of the ideas of basic topology and differential geometry pretty much right after what you've got now, if you've done some analysis. Do Carmo would be a good start. There's also another small book out under the AMS which is a fairly simple introduction to differential geometry but I don't remember the author. It has plenty of pictures (this isn't patronising, it's important for geometrical thinking).
            You also need complex analysis, and then go and get a book on Riemann surfaces (Miranda or Donaldson would be good) since Witten's stuff often has that algebraic flavour and Riemann surfaces are probably your easiest approach to algebraic geometry ideas.
            After you're comfortable enough with algebra, that'll let you get into the idea of why Lie groups/algebras are important in physics.
            As for
            >what is currently being done in theoretical physics with M-theory and so on
            research is moving away from it. The new generation is kind of approaching strings in a very very loose way. The idea is that strings are nice because they give us a rare example of a framework in which quantum gravity does work, and we don't have any other reasonable way of doing this. But the difficulties are so serious that we know it's not really what we want in the end. So people are kind of taking those ideas and applying them to other problems, like information (a popular trend right now, with Penington etc.).
            t. former physicist - I was actively advised against going into anything stringy when I was in grad school. It was probably good advice, too.

          • 2 weeks ago
            Anonymous

            Appreciate it. I've done real analysis and some very basic complex analysis but I should probably brush up on both beforehand. It's good if I can dive into topology from the get-go without tons of prerequisites though.
            >research is moving away from it
            Is it partly because of the difficulty of testing the theories experimentally?
            If I'm not mistaken, string theory has actually been useful to further the advancement of pure mathematics, hasn't it?
            >applying them to other problems, like information
            So, what is the current state of physics research concerning quantum gravity, have physicists put aside the idea of unifying theories?
            >former physicist
            What are you doing now?

  2. 2 weeks ago
    Anonymous

    https://teachyourselfcs.com/

  3. 2 weeks ago
    Anonymous

    I am in a pretty good college right now and haven't learned a thing. took a c++ course and ended with A- just cheating. The way they teach classes is extremely slow and I end up not paying attention. Teaching yourself is better than college.

Your email address will not be published. Required fields are marked *