My name is Brian Cheong. I am a PhD student in the School of Computing at the National University of Singapore.
I am fortunate to be advised by Prof. Michael D. Adams and to be a member of PLILab. I graduated with a bachelor’s in Computer Science from NUS in 2024 before beginning my PhD.
Contact
For teaching-related matters, please use the following email: bskch@nus.edu.sg
For research related matters, please use the following email: brian.cheong@u.nus.edu
Research Interests
My research interests lie broadly within Programming Languages and Theory of Computation.
Currently, I’m generally working on Parsing Theory and Fixed-Point Oriented Programming.
Though not populated yet, I hope to write some of the interesting ideas and topics I encounter during my research. The purpose of this is two-fold.
Firstly, it helps me to practice my writing. In the current day where the usage of AI has increased drastically, it is easy for one to lose their edge when it comes to expressing themselves with words. Hopefully, as I write more notes and write-ups, I would be able to write more eloquently.
Secondly, it would help me consolidate my ideas and thoughts, allowing me to see patterns and perhaps develop new links and research ideas.
Teaching
When I was in year 1 of my undergraduate studies, I was lucky to have taken CS1101S Programming Methodology I. In this course, studios1 groups were small, about 8 students to 1 Avenger2, made me realise the importance of having a good teacher in ones journey of learning.
My idea of a good teacher is someone that prompts students and asks them the right questions for them to discover the ideas and intuitions of concepts on their own. A classroom should not be a one-way form of communication where the teacher speaks and students passively absorb knowledge (Though this may, for practical reasons, be the only way lectures can be done). A good teacher would instead ask questions that would be just challenging enough for students such that they would have to think through and internalise concepts to arrive at the right answer, but not too difficult that the student feels discouraged and gives up. It is through this stretching exercise where students would fill in the gaps and truly understand the knowledge they are learning. While I may never fully achieve this ideal, I strive to move a little closer to it with every class I teach.
I became an Avenger myself since year 2 of my undergraduate, and alternated between being an Avenger (CS1101S Programming Methodology I) in the first semester and a Lab Teaching Assistant (CS2030S Programming Methodology II) in the second semester for every academic year till I graduated. I was also a Teaching Assistant for TIC2701 Principles of Programming Languages, which is a SCALE module designed for working adults, where I graded and went through assignments and midterm answers with the students.
After starting my PhD, I have been a graduate tutor and have been a recitation tutor for CS2030S for the first 2 years of my degree. I have now started being a teaching assistant for CS1231S Discrete Structures.