this post was submitted on 22 Dec 2023
89 points (98.9% liked)
Asklemmy
43898 readers
1271 users here now
A loosely moderated place to ask open-ended questions
If your post meets the following criteria, it's welcome here!
- Open-ended question
- Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
- Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
- Not ad nauseam inducing: please make sure it is a question that would be new to most members
- An actual topic of discussion
Looking for support?
Looking for a community?
- Lemmyverse: community search
- sub.rehab: maps old subreddits to fediverse options, marks official as such
- !lemmy411@lemmy.ca: a community for finding communities
~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Computer Science was great dont get me wrong, but I totally agree. Comp Sci helped with some of the basics, but didnt prepare you at all on the soft skills that get you ahead, nor why task management, version control, and other such concepts are so important.
I can't believe in my comp sci course they never went over git. Like cmon that's core to software development these days.
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:
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.
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.
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.
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.
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.
My comp sci course used SVN.
There was one tutor who used git on their course though, albeit via GitHub Classroom so that was probably more a convenience thing
My university created an entirely new school because while the computer science graduates could do computer science they couldn't write an email or contribute to a meeting.