Anxhelo XhebrajPurdue CS: Tell us about yourself.
AX: I am Anxhelo Xhebraj and currently a Master’s degree student in Engineering in Computer Science at Sapienza University. I like travelling a lot and I've been a volunteer for a while to help out teenage students during their long-term (6 months/1 yr) exchanges abroad. My favourite sport to pursue is running.
Purdue CS: How did you become interested in computer science and research?
AX: Initially I looked to different fields such as architecture and engineering, mainly because I liked creating new things and discovering how things such as car engines and electronic devices worked. In high school I had few programming laboratories in Visual Basic but it never stuck with me. When considering the different schools, I noticed computer science and decided to give it a second try. I learned Python and liked it because of the flexibility of the program. At first, I was very interested into the "low level concepts" of programming and cracking the tough question "How does this stuff work?", i.e. I really needed to understand how programs are actually "interpreted" by hardware. I studied computer architectures quite a bit. I liked the possibility of making computers "learn" from a bunch of data but I never got too excited about studying statistical properties of data and how those affect ML/DL algorithms which I think is the core part of these fields. Having read and written lots of programs mainly in Imperative and Object Oriented style I got bored about the boilerplate and clumsy abstractions in programming and started to explore other paradigms, such as Functional Programming.
Purdue CS: What are your future plans in the CS industry?
AX: At first, I had the same dream career path of any other Computer Science student: working for one of the FAANG companies (Facebook, Amazon, Apple, Netflix, Google). As time passed and I learned new concepts in CS I realized that the field is HUGE. It's not only about writing programs but it's also about understanding hardware, creating distributed systems able to work together in different parts of the world with faulty communication, writing mathematical and physical models for simulating real life scenarios. This makes it difficult to truly have a single specific career path but made me understand that what I truly like is Programming Languages in general and not specific applications. I would like to pursue a PhD in PL especially because doing research is possible to experiment and study concepts which might not have immediate adoption and return, which is something that you can't find easily in industry. At the same time I would also like to do research on topics that have impact in industry. I don't know whether I want to apply in the US or EU yet, but if it will be the US then Purdue will be at the top of the list.
Purdue CS: What are you working on during the GoBoiler Internship?
AX: I will be working in one of the projects of the research group led by professor Tiark Rompf. What I think is the main idea behind the research can be condensed in the following sentence, "I'd rather write nice and abstract programs (possibly in Scala) that write efficient programs than write C/C++ code." Recent developments in libraries and frameworks such as Tensorflow and Z3 have shown that providing nice APIs in high level languages such as Python for high performance systems backed by C++ is not simple. In order to have high performance the compilation must be delayed to a later stage when the program as a whole (and possibly the data) is available. Driven by this fact, such frameworks provide APIs that describe the computation to be done and don't actually compute anything until necessary. This can be counter intuitive especially for newcomers since what they are facing actually is a new "programming language" embedded in Python. The research done by the group unifies such concepts with libraries that provide Language Virtualization and Staging (Lightweight Modular Staging for Scala and Snek/Pyctr for Python). In particular I will implement TorchScript in Pyctr exploring the advantages that Pyctr can provide to overcome the current limits of TorchScript.
Purdue CS: What influenced you to apply for the GoBoiler Internship?
AX: I was very interested in research in PL and by following on Twitter some people active in the field I found out about GoBoiler and thought that this must be a great opportunity to learn from great researchers.