Live data from Hacker News

Why Computing Students Should Contribute to Open Source Software Projects

cacm.acm.org

51–60 of 179 posts

Re: Why Computing Students Should Contribute to Open Source Software Projects

#51
post #8

> in the 21st century programming proficiency on its own is neither representative of the skills that the marketplace requires from computing graduates, nor does it offer the strong vocational qualifications it once did. Universities are not vocational education facilities though. Time a student has in university is better spent on getting deeper understanding of things that are hard to pick up in the workplace, and…

Universities are not vocational education facilities though

the problem is that this doesn't matter, because all the industry expects is programming skills, and while any fachhochschule, french engineering school, or even a US community college could provide those programming skills, the university provides them too, and as a result, a university graduate has more job options than a graduate from those other schools.

if i can, i will prefer the school that gives me more options later on. that also explains why everyone wants to get into the top schools, because those provide even more options.

computer science students would have to have a bad reputation as programmers in order to stop companies who need programmers from hiring them.

or we change the system such that you always start with vocational training as a programmer on a school dedicated for that before you decide to either get a job or move on into academics. requiring that academic researchers have relevant industry level training doesn't seem like a bad idea.

Re: Why Computing Students Should Contribute to Open Source Software Projects

#52
post #37

Lovely. I hope university teachers help with reviewing the PRs too. Reviewing even a trivial PR, making sure it doesn’t introduce any regressions, costs time. Every added functionality needs to be maintained until it’s retired. I hope students who do that understand that contribution to an open source project is not a trivial thing.

Maybe the only contributions that could be useful in this case is tests.

Re: Why Computing Students Should Contribute to Open Source Software Projects

#53
post #52
post #37

Lovely. I hope university teachers help with reviewing the PRs too. Reviewing even a trivial PR, making sure it doesn’t introduce any regressions, costs time. Every added functionality needs to be maintained until it’s retired. I hope students who do that understand that contribution to an open source project is not a trivial thing.

Maybe the only contributions that could be useful in this case is tests.

Not even that is 100% sure. You still need to vet the tests.

Documentation is also a good thing to add. The perspective of a fresh user is precious and only lasts so long. Documenting the onboarding process can point to documentation shortcomings that are great to fix.

Re: Why Computing Students Should Contribute to Open Source Software Projects

#54
I paritally agree with the bottom line, but completely disagree with the author's business-and-market-focused outlook.

Universities have existed across social eras and political regimes. They should not be catering to the contemporary commercial interests of powerful market forces. They should teach principles, and basic skills, and deeper fundamental knowledge - with concrete programs or programming projects buttressing this goal rather than being the end-all in themselves.

However, collective and collaborative work on a joint project, in particular a software project, intersects that sphere to some extent - so there's a place for it in a curriculum and as a means of practice.

IMHO, however, student involvement in FOSS projects should be voluntary rather than mandated by such a course. It will also help those students who go on to work as professional programmers, but even for the researchers - help to counterpose what they have learned in theory with how you get things to work in practice.

Moreover, and no less importantly: FOSS projects need developer time. So students should contribute to them because they need contributions (and - they're benefiting the public typically more than non-FOSS projects, so better to contribute to the former rather than the latter).

Re: Why Computing Students Should Contribute to Open Source Software Projects

#55
IMHO students will more benefit from studying/reading open source software code than trying always to contribute. University is a big time commitment with coursework, exams, labs, which is unavoidable to graduate.

Open source is a great source of learning; architecture choices, battle tested real-world software. So, if a student asks for my opinion, I would say fork it, clone it, study it and if you find something to contribute, great submit your pull request.

Re: Why Computing Students Should Contribute to Open Source Software Projects

#56
What seems to give the best ROI, in the current climate, is to read and understand Data Structures and Algorithm books from cover to cover, and grind standard leetcode/hackerrank problems.

In fact, many of the companies that really prioritize those types of screening tests, don't seem to care much for your side projects - or even your major.

Re: Why Computing Students Should Contribute to Open Source Software Projects

#57

What seems to give the best ROI, in the current climate, is to read and understand Data Structures and Algorithm books from cover to cover, and grind standard leetcode/hackerrank problems. In fact, many of the companies that really prioritize those types of screening tests, don't seem to care much for your side projects - or even your major.

That only gets you in the door - it doesn't make you a competent engineer.

Re: Why Computing Students Should Contribute to Open Source Software Projects

#58
post #53
post #52

Earlier quoted context omitted.

Maybe the only contributions that could be useful in this case is tests.

Not even that is 100% sure. You still need to vet the tests. Documentation is also a good thing to add. The perspective of a fresh user is precious and only lasts so long. Documenting the onboarding process can point to documentation shortcomings that are great to fix.

Commenting on documentation and maybe updating is a good point yes. Onboarding docs can get quite stale.

Both doc and test have the advantage of not breaking stuff for other users. Sort of, adding huge tests that make CI timeout or bogus doc is not ideal either.

But at least both of those are on the starting path of understanding how the project works, which is a pre-requisite for contributing code.

Re: Why Computing Students Should Contribute to Open Source Software Projects

#59
Skilled students can make some very fine PRs when they are working on something that intrigues them enough that they get very immersed in the code.

But not all students in training are skilled, and making code contribution a required part of a program seems certain to reduce the average quality of PRs. The problem is that somebody has to review those PRs, and often interact with the proposer for quite a while, to teach them the approach that is desired for the individual project. PRs that go against the grain are not always worth the effort.

In the scenario of the article, open-source developers are saddled with a new task: teaching students, many of whom will be unmotivated by anything more than a grade.

No thanks. Hard pass.

If professors want students to learn how to interact in a group setting, then the students ought to be designing their own software. If there's a perceived need for larger-scale projects, the professors ought to set them up and maintain cohesion and momentum across terms. If the professors don't have ideas for such projects or the time to spearhead them, well, then that's a bit of a sign.

Re: Why Computing Students Should Contribute to Open Source Software Projects

#60

Earlier quoted context omitted.

but there's already significant amount of ds, algos, OOP in academia, also I don't see how those are "scientific types of skills" I do also wonder what people *precisely* mean when they talk about "data structures and algorithms" in context of academia You talk from perspective of competitive programming?

Yes, there is already a significant amount of it; and that's good. My opinion is that academia should not waste too much time preparing people for a job, but give them as much as possible of precisely the kind of problem solving skills that they won't be picking up on the job.

How can you learn to solve engineering problems without doing engineering?

University teaches you about theoretical computer science, not problem solving skills for software engineering.

No university teaches you about how to assess an engineering problem, how to break it down, how to create at timeline/estimate, etc.

Post reply on HN