4 ms·
I have observed the following in computer science departments. 1. They need students to justify their funding. If students stop taking their courses, they ge
by bb88 8y ago
I have observed the following in computer science departments.
1. They need students to justify their funding. If students stop taking their courses, they get funding decreases.
2. There are a lot of people that love SICP, and believe it should be the foundation for all computer science curriculum.
3. People pretty much agree it's important for computer science graduates, but the question is, should it be the first course? Are the concepts too hard, too soon? Does it weed too many students out too soon?
4. The industry at large is unconvinced about the benefits of Lisp dialects. They see high productivity gains with Java/C/C++/Python. And many students question why should they learn a language that doesn't advance their careers.
- deleted 8y ago[deleted]
- pjmlp 8y agoIn many countries, those that want to learn only industry relevant technologies go to a polytechnic school and not to an university. Universities are for learning to learn.
- AnimalMuppet 8y agoI disagree. Most universities have, for example, both a chemistry department and a chemical engineering department. They are different (but related) disciplines, but both belong at the university. In the same way, I think we need both "computer science" and "software engineering" - but they need to be different departments. They both belong at the university, though. (I'm not sure you go to a polytechnic school to learn chemical engineering.) The problem is, most universities try to teach a computer science degree to people who will work as software engineers (and therefore don't teach them as much software engineering as they should).
- pjmlp 8y agoDuring 5 years there is a lot of CS and Software Engineering to learn about. A solution to that is to have the Engineers college certify which university degrees are actually worthwhile to have engineering as part of their name, and crack down on misuses of the name by people that just had a bootcamp of some sort.
- lake99 8y ago> both a chemistry department and a chemical engineering department. They are different (but related) disciplines I used to think chemical engineering is about chemistry until I talked to some chemical engineers on the bus I used to commute on. Most of what they study is mechanical engineering, and so, it's better to think of CE as a branch of ME. These people worked in the R&D department of a materials company, so they definitely knew what they were talking about. Their chemistry chops were only marginally better than mine, and I'm an EE.
- gibba999 8y ago1. MIT has maybe 5% of funding from tuition. Students are clamoring to go there. 2. True 3. All data seems to suggest showing kids complex problems leads to more learning. "Too hard, too soon" isn't really a rational argument. At MIT it didn't really weed out students either; kids did okay. 4. Nope, nope, and nope. Of those languages, only Python has high productivity. C/C++ is obsolete for anything other than systems programming. The selling point of Java are cheap, interchangeable programmers with a standardized skill set. Small, elite shops do Lisp. But that's not the point. A freshman course isn't designed to be vocational career training, but to give fundamentals. MIT students learned other languages (including Java) in their degree paths as well. This was a freshman course.
- bb88 8y ago> 3. All data seems to suggest showing kids complex problems leads to more learning. "Too hard, too soon" isn't really a rational argument. At MIT it didn't really weed out students either; kids did okay. Sure it is. When you teach swimming, you don't throw beginning swimmers in the deep end of the pool and tell them, "A challenge is good for you." And in the example I gave of quantum mechanics, even MIT requires previous physics prerequisites. > 4. Nope, nope, and nope. Of those languages, only Python has high productivity. C/C++ is obsolete for anything other than systems programming. The selling point of Java are cheap, interchangeable programmers with a standardized skill set. May I refer you to the TIOBE index of programming language usage? [1] The answer is Java, C, C++, and Python in that order, and by a large margin. [1] https://www.tiobe.com/tiobe-index/ https://www.tiobe.com/tiobe-index/
- gibba999 8y ago3. We don't throw people in the deep end of the pool, but that has a lot more to do with not wanting people to drown than with what's best for learning. And regarding MIT, it's hardly an example of a school where faculty either know learning science or particularly care. 4. You may refer me, but popularity is quite different from productivity. Most C/C++ is maintaining legacy code. Most Java is either from legacy code, or from environments where productivity isn't a key metric. I don't say that cynically; productivity is a key metric in startups trying to disrupt the world. In older, slower-moving organizations, a lot of metrics are more important than productivity. If I'm maintaining a system for a bank which handles employee payroll, productivity is likely not even in the top 10 things I'd look for. On the other hand, if an IT employee quits, being able to replace them easily (without assuming a Google-grade interview process or salary) and have someone else be able to take over (without extensive training+documentation processes in place) is really important.