• @aviation_hydrated@infosec.pub
    link
    fedilink
    English
    233 months ago

    “College is needed” comments are so weird in a field that can be done on an island with a solar battery. CS isn’t medicine or engineering, and the field is so young that requiring a “formal education” most likely will have negative effects of teaching poor practices that are not up to date

    • lad
      link
      fedilink
      English
      23 months ago

      I want to add that getting a degree likely will create a social network and provide experience of working in a team. These days that may be replaced by contributing to open source and going to free conferences (although these seem rare 😢).

      So even though I am pro getting at least one first year of CS degree (because it’s the most useful one because teaches to think rather than specifics), I agree that it can be fully replaced by a well though out self-education, and from purely CS standpoint self-education might even be of a better quality.

      But yeah, I must disclose that I am a European rubbing free education, and I studied in university not college. So my opinion may be influenced by that and I don’t know if first year in college would’ve been as useful as it was in university.

  • NostraDavid
    link
    fedilink
    18
    edit-2
    3 months ago

    I’m going to toot my own horn here, because I hate these lists, because it does not show you a clear order in which to learn things.

    https://thaumatorium.com/articles/mit-courses/mit.drawio.svg

    This svg is a dependency graph of most, if not all, Programming/Math related courses from MIT, which means the leftmost courses are dependencies for those to the right. The lines are the dependencies. They are color coded for your convenience.

    I made this because I tried to follow a course I was missing dependencies for, where I found out most courses have dependencies and this provides a nice overview of what you’d need to learn to get to the point you want to reach.

  • @FizzyOrange@programming.dev
    link
    fedilink
    103 months 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?

  • @Mikina@programming.dev
    link
    fedilink
    10
    edit-2
    3 months ago

    Whi getting through college, I was always bummed that we have to learn a lot of stuff that seemed super irelevant to my future carreer, while also being annoying. Stuff like prolog, Phyro, Lisp, Assembly, or bunch of obscure math.

    It was only years later when I finally realized why it was important - the school wasn’t for teaching me to be the C#/Java programmer, but it taught me to be A programmer. I can pick up and start successfully writing anything I need, in any language, relatively quickly and without issues, nonmatter whether it’s functional, objective, or wharever style of language, because I’ve very probably already had to deal with, learn, understand and pass exams in language that is similar to it, since college made me learn a language from almost every style or flavor of languages there are.

    I was surprised when I first saw colleagues struggle with picking up languages other than the ones they work in, and that was when I finally realized why and how sneakily did the college make me a universal programmer without me noticing it. And that’s something that’s harder to get when self-taught, because you don’t get exams and it’s easier to miss the point and just skip courses on lisp, prolog or lambda calculus, because it seems irrelevant, but the different point of view and approach used when writing in those languahes is what will teach you the most.

    • Yup, people often mistake being a software developer for learning a language or a platform. Nope knowing and understanding the underlying systems and ideas / structures you will be working with is often far more important. The code pretty much stays the same. They syntax and features just differ a little

  • @hellofriend@lemmy.world
    link
    fedilink
    9
    edit-2
    3 months ago

    Interesting, but means little without accreditation.

    EDIT: Also, why’s it all Java?

    EDIT2: Addressing the downvotes: If you really think that any employer these days is going to be happy with “Learned from a list on Github” on your resume then you’re sorely mistaken. It doesn’t matter if the courses match an accredited program. The accreditation is what matters because no accreditation = no diploma. Employers like diplomas.

    • Sickday
      link
      fedilink
      13 months ago

      The ReadMe states these are all courses taught at reputable universities. Do you know of any courses taught at these universities that utilizes Rust or C/C++? Not asking to criticize or anything, I’m legitimately curious because I too would like to see more focus on these languages over Java.

      • @hellofriend@lemmy.world
        link
        fedilink
        33 months ago

        Idk about American universities, but C++ was taught at Memorial University of Newfoundland when I attended 8 years ago. Granted it was a robotics class so maybe it’s different. Either way, makes more sense to me to learn C/C++ since most things are programmed in that.

      • lad
        link
        fedilink
        English
        23 months ago

        I second @hellofriend, I learnt C++ as practical courses in the University.

        I could somewhat understand teaching Java as professional education (although it creates positive feedback loop that doesn’t do much good), but not exclusively teaching Java as part of CS degree.

  • Brickardo
    link
    fedilink
    73 months ago

    I am piggybacking a comment that I can’t find anymore, but let me state again their concerns:

    • No logic? No automata theory? Language processors?
    • What about math that isn’t usually part of every course in engineering but is in CS, like discrete math?

    It’s all over the place.

  • astrsk
    link
    fedilink
    63 months ago

    This is a really neat idea but I would like to see all the Java replaced with C/C++ or Rust.

    • Sickday
      link
      fedilink
      23 months ago

      The ReadMe suggests these courses are administered and taught by Universities. I’m genuinely curious if you know of any Computer Science courses taught at any of these reputable universities that utilizes Rust or C?

        • @andioop@programming.dev
          link
          fedilink
          English
          1
          edit-2
          3 months ago

          In my opinion this comes off as just passionate about the subject, not as I AM RIGHT YOU ARE WRONG GO DIE IN A FIRE YOU DUMBASS YOUR CODE IS DOGSHIT BTW (yes, I may be referencing a specific harsh comment about a project I saw on Lemmy), but my perception could be very colored by your disclaimer about not wanting to come across as a dick.

    • Sickday
      link
      fedilink
      13 months ago

      The ReadMe suggests these courses are administered and taught by Universities. I’m genuinely curious if you know of any Computer Science courses taught at any of these reputable universities that utilizes Rust or C?