Welcome to my personal website that contains my works that are related to the School of Computing (SoC) at the National University of Singapore (NUS).
This website is titled 'World of Seven (7)' because .
I am an Associate Professor (Educator Track) in the Department of Computer Science, SoC, NUS where I teach a diverse range (currently 6 big categories) of programming or algorithm courses. The courses are as follows (listed in increasing course codes, except the last two inactive categories):
Apparently (majority of) my students like to be tortured with heavy and tedious courses of mine. Here are some evidences (in reverse chronological order):
In this decade (2020s), I have taken on more teaching (excellence)-related responsibilities instead of competing for teaching awards. I also take more international leadership positions. Here are the list of my current active appointments:
My past important appointments (in reverse chronological order):
Associate Professor Steven Halim
National University of Singapore, School of Computing
13 Computing Drive, Singapore 117417
Office address: Computing 2, Level 3, Room 37 (COM2-03-37)
I coordinate various programming competition activities, namely SGP NOI+APIO+EGOI+IOI and NUS ICPC under the newly-setup (from Feb 2022) "Centre for Nurturing Computing Excellence" (CeNCE).
I wear many hats in these various programming competition activities. I have been the head coach of NUS ICPC teams since 2008 to present. I also served as the WF coach in the years 2010 (Ripple), 2012 (Eternia), 2014 (ThanQ), 2019 (3body2), 2020 (3body3, invitational contest online plus 5x coach award), 2021 (MLG), 2022 (7 Halim, postponed to November 2023), as well as 2023 (The Spiders from Mars, November 2023)). Additionally, I hold the position of team leader for Singapore IOI teams since 2009, expect for the years 2014, 2020, and 2021. I have also served as the Regional Contest Director for ICPC Asia Singapore 2015 and 2018, and as the Deputy Director for the 32nd IOI 2020, Singapore (Online Competition) and the 33rd IOI 2021, Singapore (another Online Competition).
NUS ICPC teams have achieved several recent successes in ICPC Asia Regional Contests, with a total of 12 wins between 2013 and 2021 (so far):
|Asia Regionals Site||#Win(s)||Year(s)|
2019 (Send Bobs to Alice), 2020 (MLG), 2021 (7 Halim)
|Manila, Philippines||2||2017 (Pandamiao), 2019 (7 Halim)|
|Nakhon Pathom, Thailand||1||2018 (Pandamiao)|
|Yangon, Myanmar||1||2018 (3body2)|
|Kuala Lumpur, Malaysia||1||2019 (3body3)|
NUS ICPC teams have achieved remarkable results in recent ICPC World Finals. Here are their top three performances:
|World Finals Site||Year||Rank||# of Teams|
|Rapid City, USA||2017||Joint-20||133|
The visualization below shows the results of NUS best teams in the last 11 years (2012-2022) in ICPC Asia Regional Contests and in the ICPC World Finals of the following year.
To help myself monitor the current team members of NUS ICPC teams, I have created a table that shows their past performances in IOI (NOI) or IMO, ICPC, and/or my CS3233 course (if taken), INC 2021 performance (if any), VNC 2022 performance, and their recent CodeForces and Kattis online judges performances.
SH7 rating is currently defined as:
Past performances in IOI, ICPC, and/or my CS3233 course (40%):
Dynamic (real-time) online judges performances: CF and Kattis (45%):
Recent NUS ICPC Selection Contest Result (15%):
Singapore EGOI+IOI teams also train in the same "Centre for Nurturing Computing Excellence" (CeNCE), together with various IOI+IMO medalists and ICPC team members in NUS.
With such synergy between ICPC and IOI activities in NUS, all 4 members of recent Singapore IOI teams usually bring home 4 medals (and also very good EGOI results too).
The most recent achievement (in Steven's era) is 1G (Shi Wei), 2S (James, Chur Zhe), and 1B (Jamie) in 2023.
The best achievement (in Steven's era) is 3G (Ashley, Xing Yang, Si Jie) and 1S (Yi Kai) in 2021, plus Team 2: 1S (Rui Yuan) 2B (James and Yue Chen).
The visualization below shows the recent progress of Singapore IOI teams based on the sum of medal quality Q = 3*Gold + 2*Silver + 1*Bronze of SG IOI teams since 1992-present (Steven took over starting 2009).
In 1992-2008 (the first 17 years before Steven took over), Singapore IOI teams collected 43 medals (2.5 medals/year), only 4 Gold medals, and with average medal quality Q-before of 3.9.
In 2009-2023 (the next 15 years of IOI under Steven), Singapore IOI teams collected 57 medals (3.8 medals/year), 11 more Gold medals, and with average medal quality Q-Steven of 7.2.
If you are interested, you can read this article to see the whereabouts of these Singapore IOI medalists today (accurrate as of year 2015 team).
With my brother, Felix Halim, and my friend, Suhendry Effendy, we have compiled our expertise in programming contests into a popular book called "Competitive Programming" (the most up-to-date edition as of Jun 2023 is currently CP4).
You can purchase the book via lulu.com.
I use Kattis for various programming contest activities in SoC NUS, and I have also incorporated the spirit of 'competitive programming' (albeit in a milder form) into my other algorithm/programming course(s).
Participating in programming competitions has given me the opportunity to visity numerous exotic places around the world on a yearly basis, although it was severely affected by the COVID-19 pandemic in 2020 and 2021. Fortunately, international travel has now resumed, and I am extremely grateful to God for this opportunity.
I significantly use various visualization and animation techniques that I have learned during PhD days for my current pedagogy research project: VisuAlgo. In this large-scale web-based project which is still actively developed, myself and a number of my students develop visualizations (animations) for a lot of well-known data structures and algorithms typically taught in Computer Science curriculum and beyond. A snapshot of the portal page of VisuAlgo is shown below.
Not just that, our team is ambitious enough to design the Online Quiz component of VisuAlgo: Automated questions generator and answers verifier to aid students when they learn these data structures and algorithms.
We generate data structures and algorithms questions using well-defined grammatical rules, but we randomize the data structure content, the underlying graph, and/or the operations to be performed. This way, the questions are always "fresh".
Students can enter their answer in various input methods: Traditional MCQ style, selecting one vertex/edge, selecting a subset or a sequence of vertices/edges, enter a number in input box, and draw the answer graph. Students' answers are graded instantly and students will be able to get automatic feedback on their wrong answers by verifying the correct answers directly in VisuAlgo visualization.
With this pedagogy tool, I want to provide my students (and also Computer Science students worldwide) with "a copy of myself" that are available 24/7 to guide their learning process.
If you understand Bahasa Indonesia, you may want to read my Facebook note about https://visualgo.net/id, the VisuAlgo front page in Indonesian language.
This work is featured on NUS School of Computing page, titled: Visualising Algorithms with a Click on 02 April 2020.
I have completed my PhD degree but now no longer active in the field that gave me my PhD.
My PhD research was to investigate human-computer collaboration (in form of FLST visualization plus automated black-box tuning) to address Stochastic Local Search `Design and Tuning Problem' (SLS DTP). Between year 2003-2008, I had authored and co-authored several scientific articles on international journals and conferences around this topic. This SLS DTP is a high level problem suffered by the algorithm designer while they try to create a good performing SLS algorithms (a.k.a. metaheuristics) for attacking the underlying NP-Complete Combinatorial (Optimization) Problems. I have designed an SLS engineering suite Viz that incorporates my ideas above to help me address this SLS DTP.
I have received far too many requests to write recommendation letters from past/current students for various reasons (job application, graduate school application, student exchange application, etc).
To maintain my sanity, I will only allow the following groups of students to request for such recommendation letter:
I am sorry in advance that I will simply reject the requests from all other students starting from Tuesday, 17 November 2015 onwards.
Copyright © Steven Halim 2000-2023
A total of 173287 different hosts have accessed this document in the last 3392 days; your host, ec2-3-237-31-191.compute-1.amazonaws.com, has accessed it 1 times.
If you're interested, complete statistics for this document are also available, including breakdowns by top-level domain, host name, and date.