4 ms·
Teaching programming is a technical skill. Teaching engineering is about conceptual skills and how to apply them, preferably in a standard and proven and consi
by rswail 5y ago
Teaching programming is a technical skill.
Teaching engineering is about conceptual skills and how to apply them, preferably in a standard and proven and consistent way.
Teaching science is about research and developing concepts.
They are 3 different sorts of education. An introduction to computing needs to cover all 3 so that the student can then specialize.
The details of Java or C or C++ or <insert language> is not the point in 1st year courses. It should be about teaching all 3 aspects. Learning "import" is not important from a file system/CLI POV, but learning about libraries and APIs and how they relate to your programming and engineering is.
Learning about file systems and UTF-8 and OSes etc need you to have grasped the concepts of persistent vs ephemeral storage and i18n/l10n and string manipulation.
They are concepts that are relevant to the engineering side of computing.
IDEs vs CLIs vs non-integrated DEs aren't that relevant to 1st year courses.
A well structured course won't need to push Java vs C++ vs Ruby vs Rust vs Python. The conceptual elements are mostly the same and the title of Wirth's book, "Algorithms + Data Structures = Programs" summarizes it well.