4 ms·
I'm from the school of thought that when teaching beginners, it is completely okay to make things as smooth and easy as possible. After all, the goal is not to
by TrackerFF 3y ago
I'm from the school of thought that when teaching beginners, it is completely okay to make things as smooth and easy as possible. After all, the goal is not to teach students how to become efficient with development tools, but to teach computer science.
Back when I took data structures & algorithms in college, the course was thought in C. Every assignment / project would be something like this:
1) SSH into some school server, navigate to the correct folders via the shell/CL.
2) Copy the assignment / project to your own student folder. To solve the problem the student would have to get familiar with the (rather small) codebase.
3) Upload your own source files etc. when you've solved the problems, create a makefile, etc.
4) The TAs would the run some script which tested all the different programs.
Pretty straight forward process. But, still, the students that aced these were obviously those that were experienced with using a shell, navigating code, somewhat experienced with the dev ops side of things.
The kids that were very fresh to coding, and had only ever taken the "101 introduction to programming" course were like fish out of water. To such a degree that many could simply not focus on the actual problems. Especially the larger projects would essentially be as much "Advanced C" + "dev ops" as DS&A, which IMO kind of went against the purpose of the course.
With that regard, I think it would have been better to just make the students solve the problem in some IDE, or even web application sandbox, and focus 100% on the DS&A part.