Earlier quoted context omitted.
Computer science graduates also need a lot of training. If not more, a boot camp graduate has already been exposed enough to modern tech stacks to at least come in as a junior. Too many CS grads have little practical experience to hit the ground running on even the simplest real world projects. Yes I have a CS degree.
It should be a requirement to have each student complete a modern full stack. Some schools have pitiful results for what they say is a degree.
Computer science as a lost art (2015)
131–140 of 146 posts
Re: Computer science as a lost art (2015)
#132Earlier quoted context omitted.
> What else are you going to do? Look at the stuff "deep" people are generally into, it mostly revolves around POSIX some way or another. And databases, but nobody wants to talk about that. Self-driving cars (controls, perception, planning, safety, sensor design, localization, mapping, integration, security, etc.), human-competitive NLP/image classification, advanced robotics (repeat list from cars here but for thing…
> Self-driving cars Self-driving cars are new. You've missed my point. The OP is from an older age. There wasn't a lot back then, so for choosing what to focus in, weren't a lot of choices. Funny, you mention graphics, what do graphics usually involve? C, C++. Back to POSIX. Operating systems? Same. Robotics? C. Basically, if you picked C, you're good. On the other hand, how often do you hear about a Java expert? Som…
RALPH, a 1990 Pontiac Sport minivan, drove across the US 98% autonomously. In 1995.
Much of the control theory, robotics, and AI work that enabled the current self-driving gold rush was invented decades ago.
The Dartmouth workshop was in 1956. Dearth of choices? Please! Those days provided an enormous surplus of choices, almost all of which were good ones! People from that older age invented reinforcement learning, image classification, natural language processing, OOP, hell, even the notion of a pointer! And the list goes on.
Today there are far fewer choices than there were back then because so much has already been done.
That is, of course, assuming you're in the business of "doing things no one else has done before" as opposed to the business of "following a well-trodden path".
So, I guess if your view of the world is confined to "using things other people already invented and explained to me", you might consider the 1950s and 1960s a bleak period when no one knew how to do anything. As opposed to the cusp of a century-long period of continuous innovation...
Again, as the article says, I guess it boils down to what you want to get out of a lifetime of work.
> Funny, you mention graphics, what do graphics usually involve?
shapes, views, raytracing, texture mapping, lighting, color, filtering, scaling, reconstructing, visual surfaces, grids and voxels, octrees, kd-trees, partition trees, polygonal rendering, ...
And that's just the undergrad stuff, not the cutting edge.
Oh yeah, knowing C/CUDA/OpenCL is nice. But when compared to deep expertise, it's a rather trivial time investment and is completely orthogonal: an implementation detail, not the fundamental content.
> Operating systems?
Kernels, scheduling, device drivers, caching, distributed systems, energy models, timing attacks, and the list goes on.
Of course, knowing C is essential, but that's the easy stuff when compared to wrapping your head around a modern OS, or even a tiny piece of a modern OS
> Robotics?
SLAM, sensor fusion, filters, actuation for various types of novel actuators, PDEs and ODEs, optimal control, stability and robustness, system identification, model-predictive control, motors, servos, simulation, etc. And that's just the software side.
Oh yeah, knowing C is nice. But when compared to deep expertise in robotics, it's a rather trivial time investment and is completely orthogonal: an implementation detail, not the fundamental content. Many of the fundamental ideas at techniques in robotics pre-date C by decades.
> On the other hand, how often do you hear about a Java expert? Someone who knows the intricacies of the GC? All about the JVM? Not that often. They exist. But it's not hip. They chose "poorly".
I know a few true, honest-to-god Java experts. They all make insane amounts of money (even by SFBA SE standards) and love their work. Turns out Google has quite a bit of Java code and a metric shitload of money.
You think graphics, robotics, and OSes are just "C and POSIX". That's not true. C and POSIX aren't even table stakes. They're the thing you pick up in a few weeks or maybe a semester so that you can spend several years obtaining the table stakes -- see the list above. Then you need to build true expertise on top of that.
The path from "I know C" to "robotics expert" or "graphics expert" is at the very least a multi-year path. And that's assuming you're bright and have your full work day (and then some) to dedicate to following advances and building your own.
Re: Computer science as a lost art (2015)
#133I mostly disagree. Software, like electronic engineering, is about abstraction, but it differs in a critical way: It's self-modifiable. Kids can think they're making computer games using little apps, but what they're doing is more akin to making a map for Starcraft than it is to actually making a game. If anything I'd argue that getting a CS degree or similar (math, engineering, philosophy) will arm your mind with th…
Re: Computer science as a lost art (2015)
#134> He's a freshman at Kennesaw State right now, but he really struggles with the idea of taking two years of classes that he has very little interest in. If it is just the idea of having to take a load of liberal arts classes that perturbs your son and not the low level courses like chip design, logic, algorithms and data structures, calc and stats, one alternative to consider is to study internationally. English univ…
English (and NZ and Aussie) universities have 3 year courses because high school kids pass minimum national requirements exams before they enter, US high school graduation is not uniform across the country, or even across states - in essence those minimum requirements ensure that students entering Uni have already met what in the US would be the General Education requirement
Universities in the US have entrance requirements for classes completed in high school. They do the same thing English universities do when admiring American students--they require specific general education classes were completed in high school.
Because of this even though the US doesn't have national standards, virtually ever university bound student will have already completed the same general education classes that students from countries with 3 year universities would have. Universities her don't force students to take English, math, and history classes because some substantial population of college bound high school students haven't taken them.
Re: Computer science as a lost art (2015)
#135> He's a freshman at Kennesaw State right now, but he really struggles with the idea of taking two years of classes that he has very little interest in. If it is just the idea of having to take a load of liberal arts classes that perturbs your son and not the low level courses like chip design, logic, algorithms and data structures, calc and stats, one alternative to consider is to study internationally. English univ…
Re: Computer science as a lost art (2015)
#136Earlier quoted context omitted.
> This just seems to be heavily misguided elitism. Not really. There is a bit too much meet you at the bottom communism in the modern ethos of computer science. When you can have measured difficulty and time to skill in a field isn't it a little odd that we don't have a lot more measured elitism in computer science? The reality is the hardest most complex stuff is literally solved and produced by an elite few. All of…
> The reality is the hardest most complex stuff is literally solved and produced by an elite few. All of which could be taught or learnt but no one gives a shit. The elite few don't really want anyone joining them, so nobody does. Look at the state of academia and look at lack of training in jobs. Nobody wants anyone to be elite, so people don't bother, there's no benefit in it. Your problem is that you think you're…
Re: Computer science as a lost art (2015)
#137What I miss in those kinds of discussions are the intangible benefits of having studied a subject in depth to acquire a degree. The person that entered university is different from the one that came out of it. The way to tackle problems, to think scientifically, the ability to see the broader picture are some of the advantages of good education that are easy to dismiss since they are not immediately visible. There ha…
> There has been a similar thread on HN where someone with a bunch of degrees said: "I haven't used anything from my studies in my work". But this person might be blind to the fact how the education shaped her mind. I tried to read thought my uni notes on metric spaces a couple of years ago. I don't even understand them anymore. Littered with idiot comments like "obviously -> " despite it being nothing of the sort. U…
Re: Computer science as a lost art (2015)
#138Earlier quoted context omitted.
Why not have a curriculum that focuses on the full stack? The full stack consisting of assembly, compiler design, C, networking, operating systems, embedded development, data structures and algorithms, databases development and design (including an understanding of the algorithms/optimizations used). At least one class in functional programming and at least one in and OOP language. And for all that is holy please tea…
You are essentially describing the computer engineering curriculum that we have at Virginia Tech and I imagine a number of other schools have as well. Modern Computer Engineering curricula are more or less old school CS programs in that they focus on everything from user space and below.
Re: Computer science as a lost art (2015)
#139I was involved in the hiring and filling of > 50 developer positions at a company, while being a tech lead. We tried hiring a few people with just bootcamps. Only a few (so hardly a representative sample), but none of them worked out. As soon as they had to try something even the slightest bit different than what they'd done in the bootcamp they were lost. There were people with degrees in unrelated fields who then d…
Re: Computer science as a lost art (2015)
#140As soon as higher-level programming languages such as COBOL, Algol, and FORTRAN came out; many clerks in the mid 1960's onward learned programming without knowing about the hardware guts or theory. Thus, the layering of specialties had already begun.
I'm not that sold on this. Programming in ASM isn't really "harder" than programming in Haskell, it's just slower - it requires discipline, but not the ability to grasp abstraction that some more modern languages need. I think that issues like knowing "how do compilers actually work" or "this thing is actually the halting problem, let's stop" are more relevant than how removed from latches and memory controllers one…
I also forgot to mention that many engineers and scientists used FORTRAN and BASIC back then without knowing much about the guts of computers. It's largely why such languages were made.