Introducing Students To the World of Open Source
paulproteus writes "Most computer science students never see a bug tracker, and very few learn about version control. Classes often don't teach the skills needed for participation. So I organized a weekend workshop at the University of Pennsylvania. Total newbies enthusiastically spent the day on IRC, learned git, built a project from source, and read bugs in real projects. I learned that there's no shortage of students that want to get involved."
Most computer science students don't know how to write code. So it doesn't matter at all.
I've been a professional software developer for over 20 years and this is one area that I really think would benefit the REAL world so much.
I would also love to see a 2 semester class where 1 semester is where they learn how to write software specifications for fictitious business software package.
Then the 2nd semester is where it has to be implemented by a different group of students.
UPS Sucks
What you have is great but you should check out: http://ucosp.ca/ and participate if you can.
I am mentor with the program and work with a small group of students on a project. The student get to work for an entire semester on an open source project producing or contributing things of real value. On top of that they learn how to work in a distributed environment, which is essential these days. Really it is just amazing for the students.
Congratulations! You win the internet! No one has ever won the internet at such a young age!
Wait until you get into college for your CS degree and see what level your classmates are at. It's sad, really.
It was the same way for me over 10 years ago.
This is very true. Version control and the ability to diff against previous check-ins would have made finding some bugs (and avoiding others) much easier, had I known how to do it at the time.
Not even. You could just check out the last revision checked in on the due date. Subsequent revisions wouldn't even matter.
You are an idiot. Version control isn't that simple, even in a smaller project. Merges and Tree Conflicts are something that everyone should learn how to work out. I'm not saying it hard, but the sooner you are introduced to these concepts the better it will be in the long run. I would hope that after using a VCS that the students would continue to use it later on in other class projects.
It isn't really that surprising to me. Computer science and software engineering are not identical disciplines. Computer Science programs on a core level are about data structures, algorithms, and the theory behind why we program things the way we do. The actual specifics of a development cycle, while obviously important if you want to put any of that to practical use outside of research positions, are disjoint from those concepts.
You can make an argument that more people should be learning Software Engineering instead of Computer Science, but that's really a different discussion.
The first thing that struck me, both from the summary and the article itself, is that none of these are really open-source specific.
To reiterate, the four they listed in the article are:
OK, well, you could argue command-line Linux skills are open-source, but that's not guaranteed.
If anything, these are skills that all businesses who have programmers would want them to understand.
Heck, even my current project, an internal project that I swear I could submit things to The Daily WTF every weekday for the next year on, has version control and bug tracking software!
GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
Not to diminish the complexity of version control or anything, but I'd rather have a programmer that knows how to design an algorithm and needs help getting it checked in than a lousy programmer who knows his way around SVN well enough to check in his crap code.
Of course there are people with CS degrees that can't design an algorithm and vice-versa, but they are really trying to teach the more important part of the equation. If you can figure out the core theory behind computer, I'm confident that you'll be able to eventually navigate the software development process; I'm not sure the reverse is always true.
I'm confused as to how you got anything regarding "administration" out of my point that there was no need to lock a repository. Can you explain your point than just saying "you don't know anything" in the typically condescending attitude of a know-it-all?
Honestly, I mis-read your statement to mean that there was a way to bypass the lock.
I agree with your statement, but have no way of correcting the original post...
Apology offered
Hey all! I'm going to be working on organizing more, similar events going forward.
If you want to stay on top of that, or try to organize an event near you, join the mailing list for OpenHatch events: http://lists.openhatch.org/mailman/listinfo/events
This is part of the OpenHatch project, an ongoing effort to help new contributors get involved in open source. If you want to stay in touch with OpenHatch, join us on #openhatch on irc.freenode.net or follow the links on our "About" page, http://openhatch.org/about/.
|/usr/games/fortune
Using and administration are two very different things
Not so much with git. Just do your final git pull at the due time (start of class that day or whatever)
The prof can also git pull at their leisure to see what if anything the students are trying to do.
And it makes cheating accusations much more fun when there is a timestamped record.
"Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
In my late-night Slashdot writing, I forgot to mention this the summary: Yuvi Masory and Felice Ford played a huge role in organizing the workshop. Yuvi and Felice handled all the logistics, getting all the details down to a T -- that included asking Github for sponsorship, staying up late the night before to organize the students into groups, reserving rooms, and earning the support of Penn computer science.
The workshop was just a pipe dream until Yuri and Felice nailed down all the pieces. My hat's off to them!
Further thanks go out to John Stumpo, Jonathan Simpson, and Zach Goldberg, who all came in from out-of-down to help these students get their feet wet in open source.
|/usr/games/fortune
Accepted. Slashdot does need an edit command.
Wait until you get a job and see what level your coworkers are at.
Give me Classic Slashdot or give me death!
I thought that was suppose to Linux Torvalds?
"To prevent this day from getting any worse, I'll just read ERROR as GOOD THING" 1GJU8xLuDKDxEs4KLf8fAGyptoDsqvEsBT
I teach for a BS degree in Web Design & Development. If you look at our courses, you'll see that we have a number that are very Open Source friendly. Sure, we partner with Adobe and Apple and have a huge focus on the Adobe CS apps (Flash, Photoshop/Illustrator, Flex, ColdFusion), but we also have entire courses on PHP, jQuery, mySQL, and Red5. And those are just the apps for which we spend an entire course. We also work in Git, CouchDB, Audacity, Eclipse, and many more common OSS apps and platforms. It's an open secret that we're working to launch a BS degree in Mobile Development that will have a very large Android curriculum.
Higher education doesn't have to be all boring theory and no practical application. Anyone who tells you that the university system can't keep up with rapidly-changing technology is sorely misinformed.
Twenty years from now, 90% of the technologies you mentioned will be just memories. A traditional BS from a traditional university is useful for pretty much an entire lifetime. Your BS program sounds a lot like a trade school program repackaged so that students can get financial aid. Don't get me wrong, I think these skills are useful -- I spent 10 years of my professional life teaching IT certification courses. However, I never considered what I did to be an alternative to a degree.
I would much rather see a university have trouble keeping up with technology than see one lose all sense of perspective chasing shiny things.
Maybe you missed the part where I said I taught these classes for ten years. My point is that trade school is fundamentally different (not better or worse, different) from what the university system is designed to deliver. Giving a BS for learning thirty web development technologies is a bad idea. People will learn the tool of the day at work. The golden opportunity to learn to write and think critically is during an undergraduate degree program. I also don't think a web developer needs a BS. Everything needed to be a good web developer can be learned at a trade school.
The big problem with what is going on at a lot of "alternative" schools is the idea that any learning that is useful in the real world can be packaged together into a degree program. Web development is a skill, not a topic of study. I commend anyone who masters this skill and I wish them well in the work world (I might even hire them), but I don't think they have earned a BS. None of the HVAC or truck driving schools tried to turn into degree-granting institutions in the 70s or 80s. I've been on the inside of some of these schools and unfortunately the shift to degree-granting programs has usually been done solely so the students can qualify for financial aid.
BTW, I don't have a CS degree.