I met someone when I was at college who went to ITT and said that he paid $30k and learned nothing from unqualified instructors, he felt (and clearly was) scammed.
I told them I wanted to be a computer programmer, they said "Oh, you want a Computer Science major, then." I didn't realize until after graduating that I'd learned about electrical engineering and processor architecture and compiler design and lots and lots of math, but almost no actual, y'know, computer programming. Pretty much had to start from scratch to make an actual career.
Programming is hard, and for some people it´s hard bordering on impossible. A surprising number of the latter still manage to get CS degrees.
Part of the problem, IMNSHO, is that we have widespread disagreement with the profession of software 'engineering' (such as it is) about what is mandatory, what is excellent, what is good, what is minimally acceptable and what is intolerable. We even see that what some people think is mandatory others think is intolerable, and vice-versa.
I don't know that we'll be able to have an actual proper software engineering profession for at least another two decades, but honestly closer to a century.
CS is the only field where this happens, as far as I can tell. There's plenty of degrees that aren't really useful career prep, but they're generally well-known--no philosophy major expects to graduate into the highly-paid world of professional philosophy. But if you're studying law or medicine or architecture, you absolutely do expect to be learning career skills.
There's this bizarre hole in CS where students come looking for a law degree and somehow get philosophy training instead. And then we have a thousand blog posts complaining about how fresh CS grads can't code FizzBuzz, and nobody at the universities ever makes the connection.
I dropped out of the CS department after I screwed up my math pre-reqs, studied history, and spent what time I wasn't drinking beer or playing basketball, fooling with game programming. That actually left me in good stead when I managed to leverage the few programming-centric courses in the CS department into a minor - I still can't do proofs, but I can sling code and I read enough Joel on Software and Coding Horror to pick up some software engineering and architecture by osmosis.
even better, learn programming on your own before college. then hacking out assignments is easy, and you can form a great appreciation for the theoretical work.
Focusing on practice or theory alone misses some of the magic, imo.
While, or right after, taking these theoretical courses in Java or graphics or whatnot, I would launch a project in that area to ground all that theory in something I could then manifest. I don't think this occurred to many of them, but to be fair, they are young and have been in school all their lives, and I went to class with a lot of (mostly non-programming) experience in the IT business already under my belt.
I was pretty intimately familiar with CVS by the time I graduated (very late in the 90s). But now that I think about it, it was probably introduced in an "Intro to C and Unix" which was a 1-credit class one of the faculty forced as a pre-req for certain higher-level courses like those on compilers. It was a crash-course on C (for students who had mainly used Pascal in their first year or two), Unix philosophy, and some associated tools (make, cvs, vi/emacs).
It only met the first third of the semester, so it could be taken concurrently with the class the required it. I wonder if other schools do something similar. It worked quite well, since by the the time you got up to speed, it was time to start building lexers in the compilers course.
I should mention, also, that our programming exercises were in C++ exclusively, on the campus Unix system exclusively, and the only development environment we were ever officially taught was vi. Not even Vim. IDEs, debuggers, webcode, and GUI libraries were never mentioned. Hell, they didn't even teach us anything about CLI or vi beyond the absolute minimum needed to create a file, compile it, and run it. I spent some time trying to figure out how to just get a C++ compiler on my desktop so I wouldn't have to mess with vi anymore, with no help whatsoever from my classes.
I have never had to use C++ in my entire career since.
I've heard the same complaint from a lot of my classmates. The ones who were successful right out of school were the ones who were working on their own projects outside of class, and learning that way--which some people will say that I "obviously" should have been doing myself, but in my teenage naivete I assumed that the curriculum I was paying so much to receive would actually teach me what I needed to know.
I suspect you were down voted because there are a lot of people who went the traditional route into programming who now feel threatened by (or at least indignant towards) people coming in via accelerated routes like bootcamps and self-teaching.
The reality is that the universities _should_ be doing a better job.
Personally, I think splitting the two roles into different kinds of institutions with different goals makes a lot of sense, and we already have this with universities vs. trade schools and community colleges, but (unfortunately, IMO) employers have consistently shown that they prefer to hire people from places that at least make a show of being more of the "higher education" persuasion than the "job training" persuasion. Sooo, yeah, you're probably right that in the current world, universities should just do a better job of teaching job skills.
The only one I know which doesn't charge is 42. Are there others? Which ones?
We* do the opposite and offer a 100% refund if the student isn't employed as a developer within 6 months of graduation.
As for the original comment, some coding bootcamps are starting to publish stats on graduate rate/outcomes (a few of which are also 3rd-party audited). The industry as a whole still has some bad eggs, but it's getting better.
https://techcrunch.com/2016/06/25/students-are-demanding-the...
What real-world skills does a typical Thinkful grad possess?
Students focus on web development in JavaScript, specifically React & Node. I run our Full Time program where students gain experience in "thinking" like an engineer as they learn a new skill on their own (enough to present it to the group) during "Flex week", work on polishing the features of an unfinished app during "Swap week", collaborate in a larger team in the 3 week "capstone project" where they divide responsibilities and assign clear roles, develop wireframes/specs, and join daily standups led by our instructors to prioritize features/descope when needed.
You can dig more into the curriculum/day-to-day schedule here: https://www.thinkful.com/bootcamp/web-development/full-time/. If you have questions not answered or clarified enough by that page, you can reach me by email (in bio) for anything else. Always welcome to constructive feedback as this specific program is only 7 months old.
In fact many are quite proud of not being that.