Bernard Teo Zhi Yi
Email: | GitHub: btzy | LinkedIn: bernard-teo | Stack Overflow: Bernard

I am currently an undergraduate studying computer science and applied mathematics at the National University of Singapore (NUS). This is a double degree programme, which will allow me to graduate with a Bachelor of Computing (BComp) in Computer Science, as well as a Bachelor of Science (BSc) in Applied Mathematics. I am a recipient of the NUS Merit Scholarship. I should graduate in November 2021.

I have participated in many algorithmic programming competitions, such as the ACM-ICPC World Finals, the International Olympiad in Informatics (IOI), and the Google Code Jam. When opportunities arise, I continue to participate in such competitions.

I also tinker with technologies and write some code during my free time. See below for some of my personal projects.


Blog Posts:

Work Experience:

Personal Software Projects:

Check out my GitHub account for my other software projects.

Other Experience:

Competitive Programming:

Olympiad Mathematics:

NUS Teaching Awards:

The Honor List of Student Tutors is awarded by NUS School of Computing each academic year to recognise excellence in teaching among its student tutors. The exact criteria for this award is not known, but it is believed to be derived from the student feedback collected at the end of each semester.

NUS Modules Taught:

NUS School of Computing provides opportunities for undergraduate students to be teaching assistants, usually by conducting tutorial and lab classes. Undergraduate teaching assistants are chosen by the module coordinator, and usually have done well when they took the module as students.

Note: NUS introduced a new module balloting system in AY 19/20 Sem 1, which significantly reduced students' incentive for providing feedback.

NUS Academic Awards:

The Dean's List is awarded to students in the top 5% of their cohort each semester. Students are only eligible for the Dean's List after their freshmen year, and they must take at least two modules from their host faculty in that semester. As a student enrolled in a double degree programme, I am eligible for either faculty's Dean's List only when I take at least two modules offered by that faculty in the same semester.

Module coordinators may occasionally award recommendation letters to students for outstanding performance in their modules.

BComp (CS) Focus Area Certificates are awarded to students with outstanding performance in the modules satisfying that focus area.

NUS Modules Taken:

Here is an exhaustive list of modules that I have taken in NUS. Where available, you may use my cheatsheets for your studies (but I cannot guarantee the correctness or completeness of any information on them). If you want the LaTeX source, you have to ask for it.

I also maintain a page on general module planning advice here.

AY 13/14 Sem 2 (A-levels H3 programme)

AY 17/18 Sem 1

AY 17/18 Sem 2

AY 17/18 Summer Break

AY 18/19 Sem 1

AY 18/19 Sem 2

AY 18/19 Summer Break

AY 19/20 Sem 1

AY 19/20 Sem 2

AY 20/21 Sem 1

AY 20/21 Sem 2

About DMC1401CS Design Your Own Module (DYOM): Students may propose their own module (called a DYOM), which counts as a 4MC CS/CU unrestricted elective. There is generally no restriction on the kind of topic allowed, as long as they can find a supervisor (an NUS professor) and a sufficient number of interested students. At the point of writing, a minimum of ten students is required (though this may be negotiable), and each student may take up to two DYOMs in total. For information about starting and running a DYOM in general, see this page. For SoC-specific guidance, see this page (maintained by students). Some people in NUS Hackers might also be able to provide guidance.

Personal Non-Software Projects:

(coming soon...)