3 ms·
> I don't mean this pejoratively, but is your goal pure education? Or more training for employment? The goal is to strike a good balance between them. Our prio
by vinni2 8y ago
> I don't mean this pejoratively, but is your goal pure education? Or more training for employment?
The goal is to strike a good balance between them. Our priority is to train good software developers and data scientists but at the same time let them show some relevant skills on their resume.
> For more pure education value, I would suggest that you teach C alongside a computer architecture course. In that way, a student comes to an understanding of what the hardware is doing at a fairly low level of abstraction, and how to control it using a language that's not far removed.
They already have a Computer Architecture course which teaches assembly and a bit of C (not sufficiently detailed). Sorry forgot to mention that.
> Similarly, I'd suggest either Scala or Haskell (or Scheme) to give them experience with something other than a procedural / object-oriented paradigm.
> None of this will directly help them get a job, although it will be of ongoing benefit to their eventual employers for the duration of their careers.
Yes this certainly makes sense. Which is why I mentioned Scala as well. Also even though the course has the title "advanced programming" the classroom lectures will be theoretical and they will have programming assignments / projects which apply those concepts and we need to pick a language for that.
> If your institution's focus is more on training for employment, then Java, JavaScript and/or Swift are probably better options to add to their skillset, alongside Python and Go.
I didn't mention it but we also have a web programming course which covers php and javascript. We probably don't want them to focus on any languages which are exclusive to specific platforms like Swift.