4 ms·
Is CS taught anyway? I sincere, even if a bit polemic question, from a not so old but still not so young architect/sysadmin. I've recently talk about some young
by kkfx 2y ago
Is CS taught anyway? I sincere, even if a bit polemic question, from a not so old but still not so young architect/sysadmin. I've recently talk about some young PhD students in CS and well...
- they do not have the most basic scripting skill, meaning no matter the language, they can't automate most of their personal common tasks
- they do not know how to properly typeset documents, just some hyper-basic LaTeX/R/Python knowledge but not enough to quickly produce nice and dice docs
- they do not know the OS they use every days
Ok, they have some (more or less) solid basic knowledge even if not so well connected to form a big picture, but they are definitively unable to understand a not so complex whole infra, so they can't even design a basic one, how they can reach a "philosophical level knowledge" with such competences? How can they design the future if they do not even know enough of the past and the present?
No LLM, even one without hallucinations, no bias in the model and so on can't fill the void. I know we still have no proper CS school in the world, but at least generations older then me have had a comprehensive enough knowledge, mine at least have learnt a bit with the experience to float semi-submerged by technical debt (an apparently politically correct synonym of ignorance, because that's is), but current students have even not enough basic knowledge to form a proper experience correcting and filling the void.
Just as a stupid example, if I pack a credible speech with a bit of buzzwords and known to be truth elements here and there I can play nearly all, almost at PhD graduation, to the point they can't discriminate truth and fiction. I'm talk about Italian, French grad students, so those typically described as the most acculturated in the world...
- qsort 2y ago- they do not have the most basic scripting skill not CS - they do not know how to properly typeset documents not CS - they do not know the OS not CS There's a colorable argument to be made that we should fork from CS a new programming-centered major, with the former becoming effectively "mathematics 2", but in most CS courses OS architecture or practical programming isn't really the focus. NOTABUG.
- fancyfredbot 2y agoGlad you said this so I didn't have to. I'll add that I still think parent comment has some right to be perplexed. While it's true that these things aren't part of a CS curriculum you'd normally expect a CS student to be curious about these things and able to pick them up quickly. It's okay to be a bit surprised if they haven't, I think?
- qsort 2y agoI think the world has shifted significantly, it might have been the case to expect that people would learn things like the Unix shell or git on their own when CS was a major for nerds, but realistically these days many people sign up for CS without neither the passion for hacking nor the math chops. It's just a major like any other to them, and they are basically in for the money. Obviously any personal choice is fine, but we should adjust our priors accordingly.
- nottorp 2y ago> you'd normally expect a CS student to be curious about these things Let me quote a uni mate of mine that stayed in teaching at said uni when we finished: "When we were studying CS there were X students in a year. X/5 were passioned and very good, 4X/5 were passioned and good and the rest of X/5 were doing ok." [After our 10 year reunion, when IT is suddenly a high paying job and all you need is to be able to write some ifs to get hired.] "Now there are 3X students in a year. X/5 are passioned and very good, 4X/5 are passioned and good, another X/5 are doing ok, and I have no idea why the rest of 2X are here." CS is kind of law or medicine now...
- ekianjo 2y agoso what CS is for in the real world?
- bulatb 2y agoComputer science is for studying what computation means and how we can describe it, the questions we can frame in terms of computation, how they might be answered, and what that can tell us. Applied computer science and computer engineering use that theory to invent machines that use the principles of computation to do useful work. Software developers use those machines to build solutions for specific problems, sometimes using knowledge of computer science. Theoretical computer science can inform the use and design of practical tools that apply it, same as any other field. Theory is for asking questions and looking for answers. Application is for understanding real-world implications of the answers. Practice is for putting them to work. The issue in the US education system is that we have one degree we call "computer science" which teaches all three of those pieces, each of which insists it's the real piece, and the students, faculty, administration, and employers all have very different expectations about what it means to have the degree.
- AnimalMuppet 2y agoYeah, this. Thing is, though, that of those who get CS degrees who stay in that kind of area, 90% are going to work as software engineers, not as theoretical computer scientists or computer engineers. We really ought to split CS into three different departments: CS, software engineering, and computer engineering. The first one belongs in with the sciences, the last two belong in with the engineering fields. This would leave a much smaller CS department, though, so there's probably entrenched academic interests against this happening. I use the analogy of chemistry: You have a chemistry department that thinks about the properties of atoms, and where the outer shell electrons go in molecules, and how the reactions occur. And then you have a chemical engineering department that thinks about how to make the stuff in multi-ton quantities without blowing up the city. They cover somewhat related material, but with completely different goals and mindsets.
- kkfx 2y agoWell, while theoretically you are right, in practice you are saying someone can be a philosopher without knowing how to read and write, it's fundamentally true, but substantially very impractical. I'm not talking about kernel internals, having digested the Dragon Book etc, I'm talking about "not-too-much beyond basic desktop computer usage". How can you express ideas properly if you decide to be a researcher who do not know how to typeset good looking documents with proper citations (not just random mass of DOIs to hope others trust you have read, test and used them in your paper), written with a certain vision/intent, not just to a +1 for your published papers count? How can you properly reason if you can't even automate basic tasks nor knowing enough the tools you use to reason? Let's say I do not expect an F1 pilot be also a rally champion, but I expect he/she can at least compete better than an average Joe. I do not expect an airline pilot also be skilled in acrobatic maneuvering, but I definitively expect he/she is able to do some basic figures with a small plain. I know in the USA MIT have created "The Missing Semester" witch is a joke but not so much because the situation it's not different there, but that's still alarming. CS it's not a pure science, some could be theorist, ok, but they can't be theorist to the point of being unable to do basic practical tasks that are essentially parts of many human daily life in society.
- consteval 2y agoAlan Turing was a computer scientist, and he did not care for this. I'd imagine he'd struggle a lot in Microsoft Word. He'd probably catch on fire from pure shock. Computer science is boolean alegra, linear algebra, theory of computation, autonoma, algorithms, and data structures. It's not, necessarily, computer programming. That's just the modern implementation. Naturally schools DO teach computer programming. But past that, not necessarily. I was taught Git and Unix systems, but not every student at every school was. There's pros and cons to this approach. The biggest pro is that, well, tools change. I don't know how to use punch cards. If my education was really focused on that, the practical "do you know the tools" stuff you're talking about, that would suck for me today. The con is that, as you've noticed, some less motivated students barely know how to practically use a computer.
- kkfx 2y ago
- deleted 2y ago[deleted]
- sebstefan 2y agoMaybe the good ones just don't end up working with you?
- kkfx 2y agoIt's possible of course, but I do imaging not to be in some extreme of a Gaussian distribution so... Oh, to be clear I do not ask for specific high skills about this or that, I just expect someone grad student in CS know enough LaTeX to typeset a damn report with reasonable easiness not "eh, I can't, it's not in Overleaf templates"... Even if he/she do not normally use a certain format, let's say XML, I expect he/she can deal with it if I just say "hey, you can use csplit, it's pretty the same soup" and left him/her with a GNU/Linux desktop, working internet connection, man pages already deployed etc. That's the level I'm talking about. In general I expect a grad student been able to move semi-autonomously in common IT tasks with just few tips and limited help.