Comment by jazz9k

7 days ago

When I was in college in the early 2000s, it was the same. Most professors were at least a decade behind current technology.

> a decade behind current technology.

And how about computer science?

CS is not a degree in web programming framework or DNN modeling framework du jour. Algorithms, data structures, linear algebra, and programming fundamentals do evolve, but gradually.

None of the languages I use at work existed when I was an undergraduate. Very nearly all the data structures and algorithms I use at work did.

Something tells me it was always like that. My university professors were teaching things nobody wanted to learn, and people were practically begging to be taught more up-to-date hireable skills.

Every time there was project work, we would be recommended using Swing or similar because that is what professors knew, but everyone used React because nobody hires Swing developers.

Someone once said "Our SQL professor's SQL knowledge is 10 years out of date. Probably because he has been a professor for around 10 years at this point" and that kind of stuck with me.

  • Someone told me that once a good idea came about it took about 5 years to process it into a book and then it took another 5 years to be accepted by people teaching outside of consultancies.

    Of course, by then, it was antiquated.

    • Of course the other extreme that's taken over the industry is the frontend flavor of the week. Where you learn one in first year, and by the time you graduate it's already been replace (once if not twice over).

      1 reply →

I wish it was decade for me, in early 2010s they were still teaching 90s approach to handling complex projects(upfront design, with custom DSL for each project and fully modelled by BA without any contact with actual users, with domain experts being siloed away - and all of that connected to codegen tools for xml from the 90s)

  • It can be worse! I went back to school for some graduate work in the early 00s after having been in the industry for a handful of years. There was a required class that was one of those "here's what life is like in the real world instead of academia".

    The instructor was a phd student who'd never been in industry.

    He kept correcting me about industry practices, telling me that I had no idea what the real world was like.

  • Back when soap wasn’t just for hygiene.

    • I still see software sold as soa compliant, whatever that means. I think we have just started recycling and mixing sw memes at this loint. Like you see someone wearing bell-bottoms with an 80s dayglo jacket. We do agile soap waterfall kanban model driven design here.

      1 reply →

In the UK I did comp-sci from 2000, did a couple of extra modules. One was from engineering and covered communication theory -- nyquist etc. Another from was the English Department of all places and covered XML and data.

Very little coverage of tcp/ip in any of the courses. Language of choice in CompSci was Java at the time, which was reasonable as OOP was the rage.

Some compsci lecturers were very much of the opinion that computers got in the way of teaching Computer Science.

  • I did my CS undergrad in China but was already in the UK early 2000s. I was also abit surprised there's little mention of TCP/IP which is kinda considered classics if there's anything taught in CS at all. Java was definitly the new dominating force in industry and academia at that time.

    However it depends on the resources the univ got. In some places there were other less Comp sci / software engineering focused degrees but got a little content overlap (I guess for financial benefits to enroll more students) such as e-commerce / digital degrees. They shared some courses with CS but not all.

    • It's difficult to remember clearly from 25 years ago, the OSI model was certainly covered, and I clearly remember datagram programming, but nothing in terms of say network routing protocols.

      The engineering course covered token ring. Remember in 2000, and certainly a few years before (when I suspect half the courses were created as lecturers often go years between updating them), Ethernet and IP were not the only kid on the block. Netbios/ipx was still in widespread use, Token ring (which I do remember being covered, as I'd encountered ipx and ip over serial and ethernet, but never token ring) was still being developed. HTTP was only 9 years old.

This is why I have always said, that a degree in CS is useless without some degree of passion towards it.

No professor can enable you for tomorrow, and a CS career is one of constant education.

I'm glad I learned some STM32 assembly, but with the resources available today, I wouldn't get anywhere near as deep as I did in the early 2k's.

I am building a local low power RAG system for the programing languages I like, but I'll still include stm32 asm.

  • > This is why I have always said, that a degree in CS is useless without some degree of passion towards it.

    I would add I don't know how anyone can do any degree and career without some sort of passion for it.

    For me personally, not only do I need passion but I have to have some sort of belief in the product and/or company I'm working for. In the early 00's I worked at a company, not software related nor was I working as a developer, and didn't like what I was doing nor did I believe in the product, it was lacking in so many areas where they were trying to frame it fit in the product market. I left after 3 years and did something completely different.

Are for instance the Knuth books "behind current technology"?

No.

A CS degree is not about the javascript library du jour, it is about the fundamentals of computation which don't really change.

  • That's only true for some things.

    If you provide a course on, say, Assembler and CPU architecture, you better have examples ready that are newer than Knuth's books. Your approach would be kinda ok if your program said: we'll ignore everything that is hardware and related ot the real world, but people take offense at claims like "there is only one cpu".

    There's a difference between fundamentals and "details". Any given framework in one language is a uselesss detail, if you're teaching a course on programming language theory I would expect you'd at least have heard about most reasonably popular languages, even if they came out in the last 5 years - because people might be asking questions about their new favourite language versus what you are teaching.

"Most professors were at least a decade behind current technology"

Surely there are some core concepts.

I hear that schools today aren't teaching how to build a compiler. But to me this seems like a task that contains so many useful skills that can be applied everywhere.

Having taken a graduate-level CS course as a non-CS major, yes sw is about a decade behind what is actually being used. But the algorithms don't just magically go bad.

I went to school in the same era, and I never felt that mattered.

It's simply not possible to cover all the languages, frameworks, databases, and whatever else you might use after graduating. They have to teach somewhat generic skills.

This applies to every degree. No one expects to learn all the latest developments in mathematics when majoring in that field.