Then again some colleges seem to think training folks for the workforce to somehow demean their efforts.
Then again some colleges seem to think training folks for the workforce to somehow demean their efforts.
In a country with paid tuition, universities need to provide education that provides the fastest path to paying off student debt, otherwise they are doing their customers a disservice in life.
Far too many programmers exit from university without the skills that industry needs. If universities are places for free learning that's okay, but if you're paying $$$ for such a degree and been saddled with a mountain of debt then I think you've been robbed.
(Not that I disagree with your general thesis though. I just think it applies to free uni tuitions as well...)
Governments everywhere subsidize the arts because a society where people only go in to economically productive careers is culturally barren.
So I don’t think any Government enlightened enough to offer mass free university tuition would be unenlightened enough to see universities as mere training centers for industry, rather than as places of higher education at arm’s length from industry.
Whereas when individuals pay fully for their own tuition then they do need to see degrees as training for industry because they have to pay the money back with interest. Interest accrues with time so they need to be productive as quickly as possible. If universities have their students’ best interests at heart then they need to acknowledge this reality and design courses to give students useful skills that will let them pay the money back ASAP.
Research universities have theoretically oriented curricula, because that's what they are good at teaching. They also operate from the principle that universities are places of learning, not places of teaching. The curriculum is just the bare minimum, and students are expected to learn more on their own, according to their interests. For some people, this is exactly the right kind of learning environment. Others may prefer educational institutions that are more active in guiding them towards the right path.
Learning how to use the tools of the trade, e.g. OS, IDE, version control, etc, is not something you need to spend $50k/yr to have a Ph. D. Teach you, it’s something you pick up on your own.
A lot of younger adults these days seem to think that college entitles you to a well-paying job, possibly due to the messaging from previous generation(s), but that is not (and never has been) the case.
What? A* is a brute force solution. Here's a complete description of A*:
A* is a breadth-first search in which we use weighted path length, rather than unweighted path length, to calculate tree depth.
Tons of people will invent it on the spot. The algorithm is just "let's try everything, in order of desirability, until something works".
Edit: most people don’t even think about recursion as a possibility until taught about it in a formal setting, and even then it’s typically a struggle to understand. Even using a queue, that’s a data structure that a person with a task to do isn’t likely to spend the time to invent on the spot.
If you're not dealing with nodes, you won't be inventing A* on the spot because you don't have a problem to which it can be applied.
But otherwise, it's literally a breadth-first search with the queue replaced by a priority queue.
> Even using a queue, that’s a data structure that a person with a task to do isn’t likely to spend the time to invent on the spot.
A to-do list is as simple as data structures get.
A heap is complex, but if you want to insist on developing everything used by the algorithm from scratch, the person faced with this problem is likely to just use a sorted list.
Try it out. Ask some people how they'd find the shortest path between two points through a weighted graph (use whatever terminology you want); see what they say.
An individual isn't going to invent a VCS either. They learn how to use it.
I'm not seeing the difference here. If somebody needs to use A* search, it's entirely plausible they just pick it up in a couple days on their own without spending 4 years studying a CS degree.
In a sense most knowledge these days are just a youtube video away.
To be fair the world has changed so much in the past ~30 years that I think in general universities should be thinking long and hard what their position in society ought to be going forward. They can't gatekeep knowledge any more, and word has gone out that degrees don't imply employability. Lots of people believe universities are required to learn theoretical knowledge, but I don't see what's special about those over trade skills (other than universities' traditional gatekeeping roles).
I'm pretty sure college degrees did open up a lot of doors in the past than today though. A simple matter of supply and demand I guess.
You also make it sound like Github (which is just a commercial Git hosting service) is advanced "CS stuff" that you can't grasp without having this knowledge handed to you at an elite school. Most professionals and students of CS literally learn most or all of it in their spare time.
Or put differently: ask any computer science professor employed at a University if they ever required to explain or use CI/CD, or ask Geoffrey Hinton how different his work on backpropagation algorithms would have been if he had had AWS.
That’s… not really surprising? Why would a CS course teach github? Hell I’d be surprised if a CS course taught git, that’s more of a CE subject, and not an amazing one either.