209

Introduce source version control tools from the very beginning.

Comments
  • 6
    Who here is old enough to have messed with SVN/Mercurial? (for some reason many companies still use them up to this day)
  • 4
    Amen to that.. Well too late for me..but anyways.
  • 4
    It's must have to learn git along with coding, but the reality is ugly.
    Students tend to even don't end up learning programming over their entire college time.
    Imagine a resume with skills GIT, but no coding.
    And uses this skill as file version management.
  • 4
    The first lab you ever have at my uni is to connect and explore the uni’s git ;)
  • 2
    It baffles me that most students just out of education don't have a clue how to use any CVS. I used to be one of them too.

    Never mind using branches properly all the time, just learning to commit, use feature branches and merge should be mandatory.

    Also, the few ones who must use git don't know anything beside commiting.

    That's depressing.
  • 6
    I will merge with your opinion.
  • 2
    You took me words. I agree with 💯%
  • 1
    Version control is a must to learn. I learned it on the job, but that took some very long days at the office and lots of desperation. Same could have been achieved with little training and mentoring.
  • 2
    @Fradow if I had to guess, I’d say the reason most of them don’t know about proper branching and merging is that during university they were never made to do any projects large enough to truly require multiple feature branches. And if they did, it was in a group, where the one person who knew how to use Git would do all the merging and rebasing for everyone.
  • 0
    Oh yes! Another great idea! You guys rock! Since time is limited... Let’s teach people to use a TOOL that will divert them from spending that time learning how to design and build algorithms and programs. Genious!
  • 1
    Yes, let’s teach them a foundational tool that facilitates easily learning those other concepts and being able to effectively work with others to write software. Can you imagine a good software architect that cannot work in a team without breaking the codebase?
  • 1
    Using version control effectively is itself a design pattern.
  • 1
    It’s not about the specific tool (git, svn, hg), it’s about the concept of version control. That’s what people need to learn.
  • 0
    @rhubarbcode no it is not a design pattern
  • 0
    @rhubarbcode not necessary to learn it in programming class. It’s in no way connected to software design or implementation. People outside CS use version control.
  • 1
    “In software engineering, a software design pattern is a general, reusable solution to a commonly occurring problem within a given context in software design. It is not a finished design that can be transformed directly into source or machine code. It is a description or template for how to solve a problem that can be used in many different situations. Design patterns are formalized best practices that the programmer can use to solve common problems when designing an application or system.”

    It solves the problem of “how do I update my codebase in a stable manner and retain the ability to revert changes if they turn out to break things”, among others. It definitely qualifies as a design pattern.
  • 1
    People outside CS write code, too, does that mean CS shouldn’t teach how to write code?
  • 1
    @rhubarbcode anyway just do add it to the curriculum. It can be understood in matter of minutes! But it’s by no means what makes CS teaching bad.
  • 0
  • 0
    If you’d worked in some of the uni project groups I worked in where nobody understood version control, you’d see why it’s essential to teach.
  • 0
    @rhubarbcode you learned its purpose by not being taught xD
  • 0
    @rhubarbcode you need to understand I’m playing devil’s advocate. I am the professor that went out of his way to teach version control every time. But you also need to understand that it is not necessary. You could have learned it without the assistance of a professor.
  • 0
    Indeed I mostly did learn it without the assistance of a professor. But others did not, and it is that fact which is the important part. Having to use version control for a group project when there’s already someone (me) in the group who knows how it works just means everyone else makes you commit their changes for them, instead of taking the time to learn.

    I’m glad that part of my life is over now.
  • 0
    @rhubarbcode part of being a good student is to surround you with good students. It’s like real life: you can either let coworkers be bad coworkers, or try elevate the team. Or just burn/fail and go somewhere else.
  • 1
    Hell yea. They actually only accept work in my school via pull requests from proper forks.
  • 0
    so.. git.
    you know how there's a theory of parallel universes branching out from ours depending on actions people decide to take? so version control is the same, except for code, and it likes to try and merge those various dimensions into one codebase.

    also, it's console-driven, because nothing screams "user-friendly" more than trying to navigate a 4-dimensional possibility tree via plaintext interface.

    better than an atom bomb directly into your face, though.
  • 1
    oh, the rant wasn't a task for commenters to fulfill?

    nevermind. i agree with the original content of the rant as well
Add Comment