• Fizz@lemmy.nz
    link
    fedilink
    arrow-up
    30
    arrow-down
    1
    ·
    11 months ago

    I can’t believe in my comp sci course they never went over git. Like cmon that’s core to software development these days.

    • catfish@lemmy.ml
      link
      fedilink
      arrow-up
      23
      ·
      11 months ago

      It’s a little unfair to criticise a CS course for not being a SWE course. But I agree that graduating students in CS without having covered the basic requirements in the SWE day job most of them will move into is a disservice.

      I did CS (30 years ago) and things entirely missing in the syllabus back then:

      • any and all soft skills
      • version control
      • refactoring
      • testing and the value of testing
      • staging and replicated environments for raw dev, QA, live, etc
      • HobbitFoot
        link
        fedilink
        English
        arrow-up
        1
        ·
        11 months ago

        A lot of it is still missing today.

        A part of the problem is that CS as a degree is really taught more as an applied math degree. There doesn’t seem to be a professional organization willing to really define what software engineering is.

    • mesamune@lemmy.world
      link
      fedilink
      arrow-up
      11
      ·
      11 months ago

      Totally agree! git is a standard for a reason.

      It never fails too how many times I have to teach jr devs git right off the bat. Its just weird enough to require a little bit of handholding when they start.

    • toastal@lemmy.ml
      link
      fedilink
      arrow-up
      4
      ·
      edit-2
      11 months ago

      Teaching about version control would be preferable to a singular tool. Git wasn’t always the #1 tool nor will it be forever, & there are some great tools pushing against Git as we speak which will be great for all of us when something truly better usurps—like Subversion, the former king. Training on a singular tool is like learning Microsoft Word instead of document processing where the broader concepts are more valuable for your career as you understand not just how but why.

      Personally I had a lot of fun giving darcs & Pijul fair shakes in 2023 to understand what makes the patch theory cool to work with. You could probably do a whole course on VCSs & their models since you are correct that they are rather integral to real world teams & projects.

    • JustSomePerson@kbin.social
      link
      fedilink
      arrow-up
      6
      arrow-down
      3
      ·
      11 months ago

      It doesn’t require university level study to understand. You took Comp Sci, not applied software development. If you can pass Comp Sci, you should be able to use a system like git without it having been part of a tertiary level curriculum.

      • Fizz@lemmy.nz
        link
        fedilink
        arrow-up
        5
        ·
        11 months ago

        it doesnt require university level study to understand

        Yeah you can learn it outside of uni but I could say the same for anything in that course. Students wouldn’t know they need to learn it because they haven’t worked in the industry.

        During the course you are doing projects with multiple people. Looking back it would have been a great place to introduce version control.

        • JustSomePerson@kbin.social
          link
          fedilink
          arrow-up
          2
          ·
          11 months ago

          If you were to study version control in a comp sci degree, you would study the way it’s implemented, not how to use it. The data models for how to store and access repositories of many files with many changes is interesting, and can have different aspects depending on if it is text content or binary. Is it optimal to store each file as an aggregate of its diffs, no matter how many. Should there be snapshot points, etc?

          Those are the aspects of version control that belong in tertiary level computer science. Learning how to use “git add” and “git push” don’t.