• FizzyOrange@programming.dev
    link
    fedilink
    arrow-up
    10
    ·
    1 month ago

    I never did a CS degree but recently I’ve been doing some things that make me wish I had. But it isn’t any of this stuff which seems mostly programming things that you can easily learn outside academia.

    The stuff I would like to understand which I haven’t yet been able to learn on my own is the hard computer sciency stuff: lambda calculus, type inference (how do you read that weird judgement syntax?), how SAT/SMT solvers work, dependent typing systems… Does anyone have any good resources for those sorts of things?

    • SamiDena@programming.dev
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      1 month ago

      I learned most of these stuff (stuff as oblique as Martin Lohf’s System F, which most modern polymorphic types are derived from) on my own. I have ‘Handbook of Satisfiability’ put aside so I can learn how SAT/SMT solvers work. I need them for my electronics circuit simulator. Keep in mind that there are other NPSPACE and NPTIME solvers, for example, BDD solvers (Binary Decision Diagrams). BDD solvers are much easier if you wanna give it a try! People who say “you don’t need college” are seriously missing out on key stuff that helps them understand their day-to-day tasks. Like, in my self-studies, I learned about some neat, oblique stuff. For example, I learned about dataflow languages and Lucid. I learned about Church-Rosser’s confluence. I learned about Curry-Howard Isomorphism. I learned about so many cool stuff! I’m going back to college because college is cheap here, but I’m a 3rdie, college is cheap but even the cheapest college from the US or Europe is much better than “Payam Nur University” is it not? (That’s the college I’m going to, it’s state-funded studies for prisoners!) Also, Americans will have a much easier time getting into an European university. You guys could try that. College is almost-free for me but you guys have access to much better technological foundations in Silicon Valley. Here, you have to include your own batteries. For example, to fund my college (not the tuition, but I have to live right, and my uncle is having a hard time supporting a dozen people, sanctions are getting rough) I’m going to open up a ‘keyboard workshop’. Like I make mechanical keyboards and send it to people.

      So if you don’t wish/can’t study in college, there’s always self-study. This book began my journey, just like many others: Introduction to the Theory of Computation, 3rd edition -- Michael Sipser

      You also need to read papers. So here’s your first homework: Find this book on Google Scholar. You’d be needing it _a lot _!

      It’s sort of a ‘meme’. Dip in. Self-learning is not ‘second bests’ of college students! Especially some shithole like mine. Imagine this, your computer is like a calculator. Use it to learn computation!

      Thanks.