I wish they’d be more courses on compilers that also serve as language servers. The current world is moving towards a phase where a language needs IDE tooling such as compilers, linters, formatters, REPL, language servers, debuggers and profilers.
Would love to see a high level course that covers how to build the tooling for a great developer experience.
As i mentioned in another thread, a uni course that has students work on an existing codebase instead of writing something from scratch might be even better - though harder to grade.
Imagine if one could do a major feature contribution to clangd/pyls/rust-analyzer as part of their advanced compilers course. The student gets a better understanding of (open-source) software development practices, gains a deeper proficiency in the language (not just the APIs), the project brings new contributors and users (including the student herself) benefit from the new feature.
My uni, NC State, has a course (CSC 326) called Software Engineering that has students contribute to an existing project created by the staff in teams, with the best contributions being merged into master for the next semester students to work on.
Same here in Munich, we've had a course on software-testing in OOP-languages and had to write unit-tests for some modules of jenkins which were graded and eventually merged into master.
Sorry - should've been more clear. It's a project written by the staff in Java and Angular. It's been used continuously through the years, evolving each semester with the best contributions being merged. I believe it's a health management service, I haven't taken the course yet.
Would love to see a high level course that covers how to build the tooling for a great developer experience.