You just don't want them to memorize slightly different variations of Algol syntax.
You just don't want them to memorize slightly different variations of Algol syntax.
“A language that doesn’t affect the way you think about programming is not worth knowing.” —- Alan Perlis. Quite an old quote, but the principle seems sound.
I’d probably add a LISP and an APL-family thing as valuable alternative points of view.
APL could be interesting, but the last time I checked everyone wanted real money for APL that you could run on modern hardware. Maybe some golfed Perl 5 could be used instead.
There are definitely some options today:
There's a GNU APL implementation (https://www.gnu.org/software/apl/). And Dyalog APL has gratis licenses for personal and educational use (https://www.dyalog.com/prices-and-licences.htm#educational).
J is available under the GPLv3 as well as commercial licenses (http://jsoftware.com/source.htm).
There are options for getting gratis licenses of KDB+ for non-commercial use (https://kx.com/connect-with-us/licenses/).
With the average cost of college being as high as it is and more than likely the students will come out with a ton of debt, the languages worth knowing are those that will help them get a job and start paying back the student loan in 6 months.
As long as you're taking non-bullshit upper level courses you will have to use one of "those languages that will help them get a job." Systems will have you doing C and ASM. AI will have you doing Python. Scientific computing will have you do Matlab, Fortran, Python and R. Software engineering will have you do Java. Computer Vision will have you do C++.
Vocational training in a four year program is a side-effect, not a feature.
Why is computer science special? Most other degrees are meant to prepare you for a career.
Do you think most people can afford to spend tens of thousands in college to be a theoretical “better citizen of the world”?
What are the people who didn’t get an education that was going to help them get a job do?
False. Employability is a side-effect of those as well.
If you don't like that, don't get a four year degree. Many people don't and are successful.
If you want to be forced to have a broad background of different areas in computer science, learn theory, and do many-many projects, get a four year CS degree. Don't want to be pigeonholed into doing the latest-greatest variation of Visual FoxPro for the rest of your life? Get a CS degree.
And what are they suppose to do after they graduate with a degree that won't get them a job?
Don't want to be pigeonholed into doing the latest-greatest variation of Visual FoxPro for the rest of your life? Get a CS degree.
A CS graduate that learned Java, .Net, Javascript, and/or C++ -- all popular languages a decade ago -- would still find themselves highly employable using those same languages today.
Yes they have to keep learning, but at least they wouldn't be in their parents basement not being able to find a job competing with a bunch of boot camp grads and outsourced cheaper developers.
Medical and Law are professional post-graduate degrees.
Education in the US is heavily subsidized and incentivized to keep a pipeline of K12 educators coming in.
Journalism is a liberal arts discipline. What vocational skills are they coming out with? How to follow a style guide? Most of them have to be fully supported by their parents if they want to take a prestigious unpaid internship in an expensive city, and even then the job market is very bleak. I'm really not sure where you're trying to go by bringing up journalism.
I'm really not seeing what point you're trying to make. The vocational skills learned are incidental. You will be employable in the field if you didn't slack off and challenged yourself while getting your degree.
How are they going to compete when they get in the real world? Most companies aren't willing to train junior devs how to program and why should they when there are plenty of junior developers who came out of the equivalent of "Java schools" and boot camps that can immediately be somewhat productive?
Yes, I've told my sons that I won't help them pay for any degree that won't help them be employable when they get out of school -- basically their choices were STEM related, education, or the medical field. Liberal arts was not an option.
I was also okay with them choosing trade school.
Nice straw-man you built there. If these graduates have either fallen through the cracks for four years and not learned a damn thing, I don't see the point of holding everyone back and forcing them to have remedial write iOS and webpages classes for four years. Why would you assume the outcomes would be any better?
I really don't understand the point you're trying to make.
It became a popular meme because it reinforced the idea that we needed to import more H1-Bs to fill these roles that are going unfilled. Please don't be so naive.
I’ve interviewed computer science grads who can’t do the equivalent of FizzBuzz - write a function that can tell if a number is odd. Even after you tell them what An odd number is.
Is it really that hard to understand the “point I’m trying to make”? When students come out of college most have to get a job. What do you think they go to college for?
I’m not totally against the idea that people should consider the likely financial value of education when choosing between courses. On the other hand it’s concerning if debt funding of university-level education is pushing peoples’ time horizons to be as short as you propose.