|
|
|
|
|
by markus_zhang
1866 days ago
|
|
I actually hold the opposite opinion: For an advanced class such as AI (I assume you at least need to work on Data Structures before that), students should be comfortable to learn whatever language and tools they need to succeed in a couple of weeks, and even less if needed. They should be able to grasp the basic in a few days and gradually improve their knowledge about the tools and languages along the way. After all I have never seen a univeristy course that assumes excellent grasp of a language. It is very sad that we need to take two entry level programming language classes in the first year. My university does not allow me to remove it as it's the pre-requisite of pretty much everything else. And I can't "prove" that I know Java, which I didn't but I'm confident that I can get the basics going in one day and the basic-medium stuffs in a week because I already know some C, C++ and Python. The only class that I think should teach programming languages should be a PL class. An introductive one usually teaches three or more languages in one shot with each an example of a paradigm. BTW the zero-credit courses sound like an excellent idea. Students do not get credits but still get education out of them. It's a great practice. |
|
Java as a language is actually tiny. So are most languages. Most of the pain is in the tools, build chains, and libraries that go along with them. Also sometimes what works very well in one lang is a pain in another. For example the dictionary in python has no real equivalent in C, unless you use some lib or write something yourself. In java you would need a map or hashmap class and knowing it exists sometimes is the biggest hurdle. But at least it is in the std library. So sometimes those sharp edges bite students as they are first starting with new langs and have decent exp in another language.