Recently, I found compilers/programming languages very intriguing and contemplating preparing on the topic. Maybe getting some experience by contributing/using open source projects like LLVM etc. Currently, I am self studying some prerequisites like linear algebra that would hopefully come useful (mainly for ML).
First off, is it a good idea to choose topics and prepare to gain some experience in the domain before starting the masters? if so, how to approach any topic and prepare?
The best thing that I did was I talked to professors—after class, during office hours, just dropping in to see if they had time, etc. Ask them questions about what’s interesting to you. I pestered one professor so much that he was just like “would you be interested in studying programming languages?” I didn’t realize that was an avenue until then. Now I’ve got a paper in progress because that professor introduced me to another professor who helped me get introduced into the field.
So talk to people. Be curious and ask questions!
What I would recommend you also do is talk to the faculty at your school. This way you can cultivate relationships with professors before going in and explore. CS professors usually have research groups that meet frequently.
The way I see it, Master's is a very specialized degree beyond just undergrad and you can be exposed to many different topics of CS research - which is the fun of higher education beyond a BS.
What I usually do is to search for some people who I consider expert in that field and ask. Common questions I ask:
* Can you recommend a book, tutorial, course as an introduction of your field?
* What are the latest developments in your field? Can you point me to some papers on these topics?
* What do you recommend a newcomer to do in your field?
* (most important question) What are the biggest challenges in your field at this moment?