@de6f sounds like a question for your academic advisor. do you have one? you havent described the "software" dept.
Theoretical Computer Science is basically research. you can read/ browse the content of
Computer Science or
Theoretical Computer Science to understand the fields. you might also try
Cryptography