Je suis actuellement doctorant et non prof, ma suggestion vient donc de mon expérience personnelle (limitée) en tant qu'étudiant diplômé.
Lorsque j'étais étudiant de premier cycle, j'ai toujours travaillé comme assistant de recherche en été avec différents professeurs dans mon département. Je crois personnellement que la seule façon de savoir si le SDC vous convient vraiment est de travailler sur des problèmes concrets et de voir ce que vous pouvez apprécier le plus. Il m'a fallu un bon bout de temps pour trouver un prof et un sujet qui me plaisait. Il y a aussi un aspect "social" dans la recherche, et différents profs ont des habitudes de travail et de supervision différentes, et donc ces emplois d'été en recherche vous donneront une meilleure idée de la qualité que vous attendez le plus d'un superviseur à l'avenir.
Il existe de nombreux domaines intéressants en informatique, et le SDC n’est que l’un d’entre eux. Il est donc toujours préférable de garder vos options ouvertes et de parler à différents profs. Il est très important de se spécialiser en doctorat, mais en tant que étudiant de premier cycle, je pense que le conseil de Mark Braverman est extrêmement pertinent:
"Essayez d'apprendre autant que vous le pouvez. [...] C'est plus difficile plus tard!"
[Mark a essayé de s'inscrire à de nombreux cours (bien au-dessus de la limite) et d'explorer différents domaines des mathématiques et de l'informatique lorsqu'il était au premier cycle.] Essayez d'assister à des conférences et à des séminaires sur différents sujets de votre département. Lorsque vous êtes dans vos années supérieures, vous devriez également demander la permission de vérifier les cours de deuxième cycle liés à vos intérêts.
Également selon que vous étudiez en mathématiques ou en informatique, vous devez également planifier les cours que vous devriez suivre pour vous préparer à des bases solides. Si vous êtes un étudiant en mathématiques, vous devriez suivre davantage de cours de CS sur les algorithmes et la complexité, ce qui vous donnera un esprit plus "algorithmique". Si vous êtes un CS ou un ingénieur, alors il est toujours bon d’apprendre quelques cours de base en mathématiques dans les domaines suivants:
- Combinatoire
- Probabilité et statistique
- Algèbre linéaire avancée
- Algèbre abstraite
- Une analyse
Il est vrai que vous ne pouvez jamais apprendre suffisamment de mathématiques et que vous devez apprendre à maîtriser rapidement de nouvelles mathématiques / méthodes / techniques chaque fois que vous en avez besoin. Mais un fond solide vous donnera certainement un début plus facile dans TCS.
Je vous souhaite la meilleure des chances et du succès!