5 ms·
I've oscillated between these two positions for a few years now, when in truth neither positions are really in conflict. When we complain about universities no
by jasim 6y ago
I've oscillated between these two positions for a few years now, when in truth neither positions are really in conflict.
When we complain about universities not preparing students better for jobs, what we really mean is that universities are not doing the bare minimum that they should be doing - in case of CS, students should at least know how to program well, and be well versed in the practicalities of computing. That does not exclude learning the fundamentals (which is often denigrated as "theory").
It is just that students often have neither the theory nor the practice, and at a minimum, we're asking, they should know the practice so they can at least be useful in their jobs.
- marketingPro 6y agoThe fact that there is somehow a notable size of computer science grads that don't know how to program is the most major red flag. Are students cheating? Is curriculum group based? Is the content not hard enough? If people need to do coding interviews, I see no reason why similar can't be done in college at a 200 and 300 level checkpoint. Programming/logic is easy if you understand. It doesn't need to be directly tested often.
- bonoboTP 6y agoThere's lots of hard CS content you can learn and take exams in without writing code. Logic design, complexity theory and automata, graph theory theorem proofs, linear algebra, complex analysis, coding theory (compression, encryption, ...), algorithms, proofs about data structures, operating system theory (scheduling algorithms, deadlocks, race conditions, virtual memory), database theory, etc.
- zdragnar 6y agoWhen I was at a major US University in thr early 2000's, anything higher than C wasn't taught because the field changes faster than a 4 year degree would make sense- modern languages were seen as the domain of 2 year tech schools. I believe that has since changed, but I am not sure to what extent.
- mlthoughts2018 6y agoI think this is more of an expression that coding interviews are horribly poor for assessing effectiveness at delivering code to solve business problems. Those people you say “can’t code” actually can code very well - it’s just that the question “can you pass this timed hazing trivia test in coderpad or on a whiteboard?” has no relationship to “can you code?”
- marketingPro 6y agoI don't think a coding interview can figure out if you can solve a complex business problem. It will show you if someone knows basic programming.
- mlthoughts2018 6y agoNot really. “Basic programming” - like little helper methods for linked lists or array & tree manipulation, algorithms like sorting or hash table implementations - is an activity that professional programmers do slowly and methodically, with the benefit of whatever references they want, and with no short term time pressure or anyone actively surveilling every part of their intermediate problem solving approach, and with no requirement to also simultaneously verbalize all those choices in a way that seems to meet the social expectations of a complete stranger who is evaluating you on murky criteria. It’s truly, truly nothing at all similar to the actual activity of “basic programming.” Highly skilled people will get flustered, forget basic facts, put their foot in their mouth, none of which has anything to do with whether they are skilled or unskilled at coding.
- marketingPro 6y agoThat's what you consider basic programming? I was going to make sure they understood loops and maybe classes/methods. You can ask them data questions without needing to code on the spot. Which one of us is terrible at coming up with relevant interview questions? The guy who considers tree manipulation basic or the one who considers loops basic?
- 6y ago
- MattGaiser 6y agoI graduated in the class of 2019. Plenty of CS courses had no programming requirement at all and a few only had on-paper coding requirements (i.e. nobody every checked if the code worked). I once submitted code that did not compile as I ran out of time. I got 100% on that assignment. Whether you get a good grade on the programming portions is almost random.
- freeone3000 6y agoA computer science graduate degree is not a programming course certificate and should not be treated as a substitute. If you're willing to hire people who studied four years of theory with no practical applications or experience, you need to have a plan to onboard them from theory to software development. You wouldn't hire a metallurgist as a welder, so you shouldn't be hiring a computer scientist as a programmer.
- marketingPro 6y agoHard disagree here. It's like saying an electrical engineer doesn't need to know how to use a multimeter until after college. Or a chem Engineer isn't responsible for knowing how to titrate something. Programming is a tool and they should not let anyone graduate with a CS degree if they don't know how to use that tool. Heck it almost seems like Electrical Engineers in your fantasy would make better programmers.
- bonoboTP 6y agoIf the degree is called "Software Engineering", then you are definitely right. But we are talking about Computer Science, which is more like an offshoot of mathematics, for studying computation and information processing. Complexity, tradeoffs of time and storage, information representation, search, analysis of algorithm correctness and efficiency, etc. Putting together large production applications for business use cases has little to do with that.
- dragonwriter 6y ago> Programming is a tool and they should not let anyone graduate with a CS degree if they don't know how to use that tool. CS isn't programming, software engineering, or software development. There are some places that offer degrees in the last two, and some places where you can focus on CS degree on those more practical aspects, but CS by nature is more theoretical and abstract, bearing roughly the relationship to those other things that Physics has to Mechanical Engineering or Automotive Maintenance. Of course, you don't have places looking at Physics degrees as entry stakes for auto mechanics, but I'd they started doing that the problem wouldn't be with the Physics programs.
- bonoboTP 6y agoWhich universities don't teach the bare minimum? I assume the article was about the US. The US has the very best CS universities in the world, do they not teach these basics? Or are we talking about smaller lower-tier American universities? I think there's also a difference in which programs you look at. There are, for example Computer Engineering programs and also Computer Science programs, which are not the same. In Germany, there are universities (Universität) and "universities of applied sciences" (Fachhochschule), which differ in the balance of theory and practice. My big picture point is that the complaint is really general and isn't specific to machine learning (ML is more of a click magnet here). The same could be said about other parts of CS and about the general computer-handling skills of CS graduates.
- vkou 6y ago> Which universities don't teach the bare minimum? My university did not teach source control, or the basics of good programming practices. There were plenty of practical courses, with plenty of programming assignments among them, but the only thing that you were evaluated on was whether or not the resulting code worked.
- bonoboTP 6y agoI don't consider teaching source control to be the job of a university.
- MattGaiser 6y agoWhy not? Mechanical engineering teaches CAD use. Chemical engineering teaches you lab skills.
- PeterisP 6y agoYes, and software engineering would teach proper source control practice, but the question of the parent poster probably is about whether university computer science studies should necessarily be about software engineering; just as physics studies mostly does not teach mechanical engineering nor CAD use. IMHO they should (or, more accurately, they should have both 'true and proper' computer science and software engineering - but the expectation is that the latter will be the thing most in demand), but there's no consensus about that, people have different opinions.