Build Log story

Internship Reflection: A dive into many new things

Editor’s note: Enric Tan is currently pursuing a Computer Science degree at the Nanyang Technological University (NTU). He interned with us…

Editor’s note: Enric Tan is currently pursuing a Computer Science degree at the Nanyang Technological University (NTU). He interned with us over the summer break this year and dove right into a wide array of coding languages. Here, he writes about the main takeaways from his internship with us. Thanks for sharing your experience Enric!

In my summer break as a year 1 student at NTU, I decided to take an internship with Tinkertanker to expose myself to more coding languages and learn more about Computer Sciences. Through this internship, I have been introduced to many new things; Swift, C# and even playing around with Virtual Machines. I also had a brief introduction to Meta Spark. All these opportunities greatly increased my exposure to the Computer Science field and allowed me to grasp many new concepts that would supplement my learning as a Computer Science undergraduate.

I started my internship with a teaching assistant role for a boot camp on game development with Unity C#. It was my first time trying out C#, but I had prior experience with C, thus I thought that I would be able to breeze through this assignment. However, upon reading up on some of the teaching material, I was taken aback by how much I did not know about the language. Because the usage of C# here is a game-specific type of use, there were many commands that I was not aware of and had to learn from scratch. Thankfully, the materials from Tinkertanker helped me very much in understanding the lesson content and assignments. This was crucial for me to work on the task assigned to me by YJ which was to create Final Project exemplars for the students of the boot camp to give them a sense of what they should create for their Final Project. Through modifying the sample games taught during the boot camp, I was able to complete 2 exemplars for the students.

2D game exemplar

2D game exemplar

3D game exemplar

3D game exemplar

Overall, I really enjoyed my experience with this teaching assistant role as I had a great time interacting with the students and learning something new about game development.

The second task that I worked on was the Swift Explorers Hackathon. I had totally zero experience working with Swift prior to this, so it was a little daunting to me. Initially, I was tasked to take down notes for the lessons, so that the students had something to refer to if they were lost. However, by taking down notes while YJ was teaching, I quickly picked up the required Swift knowledge to assist with the class. Subsequently, I was able to assist and help debug some of the students’ errors during the lessons. This experience taught me to pick up languages quickly and at the same time adapt and apply the knowledge from other languages that I have learnt. It was a very enriching experience in Swift and I even got to attend the final celebration of this project at the Orchard Apple Store.

Lastly, one of the major tasks that I worked on during my internship was to work with Virtual Machines (VM). I was tasked to install Canvas LMS on a VM which entailed many command line work that I was unfamiliar with. It was also my first time using a Linux-based system and running many commands on the terminal. I ran into many difficulties while trying to install Canvas LMS from scratch, there were many dependencies errors that I had to deal with. However, I managed to get the system to work in the end and I was able to pick up many useful skills from this experience. Such as navigating through directories in the terminal and using GitHub CLI.

Linux terminal showing Canvas LMS Docker setup before the script was interrupted

All in all, interning at Tinkertanker was a very enriching experience. I was able to take part in the teaching of classes and even try out many different coding languages and programs such as VMs. And all of these have helped me improve and grow as a Computer Science undergraduate.