On Wed, Jul 11, 2007 at 03:32:51PM -0300, Margarita Manterola wrote: > Yes, I have the same feeling. But why? Starting up from what someone > already knows, instead of from the bare basics would allow them to > learn much more in the same amount of time.
I think it's more that people start off knowing different amounts, so in order to be able to offer a degree to the most number of people at once, they start more or less from scratch. > Is it that universities > do not want students to become experts? Do they do this so that they > can afterwards charge you more for the post-graduate courses? If you've got enough experience that the first level undergrad courses aren't useful, I think the idea is you go for a masters based on your existing experience, at which point you tend to be able to do the higher level undergrad courses. > Well, they are currently very much focused in end-user apps, and that > ends up in a problem because everyone is specialized in that. I think > that the IT field has expanded enough to justify more than just > "Programmer" or "Computer Science" degrees. The expansion's really what's forced the work-oriented stuff -- the majority of people interested in computers are interested in Java or .NET or PHP or whatever, instead of having come from a maths or physics or engineering background with more of an interest in the underlying stuff. That's definitely the way things worked at my uni, though it's changed again sometime after I finished, going back to teaching fundamentals (lisp!) in first year. > On browsing through the web, looking at Universities around the world > I found that the UCSC (University of California, Santa Cruz), offers a > "Certificate Program in Linux/UNIX Administration and Programming": > http://www.ucsc-extension.edu/ucsc/public/category/courseCategoryCertificateProfile.do?method=load&certificateId=184 > Which looks similar to what I was wishing to find, although it's just > a "Certificate" and not a full degree. FWIW, I'd expect you could learn more from participating in projects like Debian, or Linux user groups and similar, than doing a course like that. To take each example: * Linux Kernel Architecture and Programming (1.5 units) * Linux Device Drivers (3 units) * Linux Device Drivers, Advanced (2 units) -- follow lkml, do kernel janitoring, watch videos from LCA or OLS, try the latest kernels and try to fix bugs that come up * Perl Programming I (2.5 units) * Perl Programming II (2.5 units) * Python for Programmers (3 units) -- join the perl/python development lists, join some irc channels and have competitions like "perl golf" on writing the niftiest code, start hacking on some perl/python software upstream * Linux System Administration (3 units) * Linux/UNIX Shell Programming with Bash (2 units) * UNIX System Administration I and II (4 units) -- maintain some Debian packages, do support in Debian or in a LUG * C Programming, Advanced (3 units) * C Programming, Comprehensive (3 units) -- follow lkml, work on some software that's already written in C, ideally by coders that are well respected in the open source community (eg, samba, rsync, apache, linux, bsd, etc) * Linux System Programming (3 units) -- find some bugs in things like coreutils, tar, gzip, dpkg, the kernel, gcc, etc and try to fix them -- keep reading and talking to people and thinking and trying things until you've succeeded * UNIX Security for System Administrators (2 units) -- participate in some of the security groups in Debian or elsewhere, by reading lists like bugtraq, following exploits, backporting fixes, and trying to help people understand if they're vulnerable * TCP/IP Essentials for IT Professionals (3 units) * Linux Networking Administration (2.5 units) -- maintain a server on the internet, let other people use it, maintain some Debian server-type packages and help support people who use them, setup a honeypot, work on fixing wishlist bugs in networking packages * Linux Embedded Design and Programming, Introduction (3 units) * Real-Time Embedded Systems Programming, Hands-On (3 units) -- get an NSLU2 and install Debian on it, start hacking at useful things you can do; port Debian to a console; instead of Debian try ucLinux; get an arduino board or one of the other fairly cheap but easily programmable microprocessors out there and hack on it; tell one of the companies that like Debian and do embedded-ish stuff that you're interested in doing some embededded hacking and seeing if you can get a freebie Formal learning is a great way to meet like minded people and do cool stuff, particularly ones that you can meet in person rather than just electronically. It's a great way of getting introduced to a topic so you have some vague idea how to learn more about it, and having the fundamentals so you can understand what you're seeing and know what areas exist that you might not have even thought of. But it seems to me, that if you want to get a really thorough understanding, or learn stuff that's kinda specialist you really need to end up teaching yourself. (Which in a sense is what this list is really all about -- Debian and women teaching themselves useful things, so I dispute the "[OT]" tag :) Cheers, aj
signature.asc
Description: Digital signature