I am a senior lecturer in Department of Computer Science, SoC, NUS where I teach a diverse range (so far 9 categories) of programming or algorithm modules, i.e. CS3233, IT1005 (equivalent module: IT1006 and CG1101), CS2281, CS1281, CS2010 (subset of CS2020), CS3230, CS3226 (previously CP3101B), CS1020E, and CS4234. Module(s) that I teach this Semester 1 AY 2016/17 (Aug - Nov 2016) are highlighted with green color and shown on the menu bar above. Apparently my students like to be tortured with heavy and tedious modules of mine.
Dr 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)
Office phone: (+65) 651 67361
I coordinate a self-titled "Center of Competitive Programming in South East Asia".
My various roles are the head coach of NUS ACM ICPC teams (2008-2014), the team leader for Singapore IOI teams (2009-present (absent on 2014)), the Regional Contest Director for ACM ICPC Singapore 2015, and the future Deputy Chairman for the 32nd IOI 2020, Singapore.
NUS ACM ICPC teams have a few recent success in ACM ICPC Asia Regional Contests (e.g. Consecutive Three-Times Champion in ACM ICPC Jakarta 2013, 2014, and 2015) and in ACM ICPC World Finals (e.g. Joint-19 out of 122 teams in ACM ICPC World Finals 2014 at Ekaterinburg, Russia, Joint-28 out of 128 teams in ACM ICPC World Finals 2015 at Marrakech, Morocco, and the recent current best of Joint-14 out of 128 teams in ACM ICPC World Finals 2016 at Phuket, Thailand).
The visualization below shows the improving result of NUS best teams since 2008-present in ACM ICPC Asia Regional Contests and in the ACM ICPC World Finals of the following year.
To help myself in monitoring the current team members of NUS ACM ICPC teams. I put a table that show their past performances in IOI, ICPC, and/or my CS3233 course combined with their dynamic (real-time) online judges performances below.
SH7 rating is currently defined as:
Past performances in IOI, ICPC, and/or my CS3233 course (50%):
Dynamic (real-time) online judges performances:
TC, CF, and/or UVa (50%):
Rating values that are different from my local database will be automatically highlighted with a pink color for easier identification.
CodeForces rating is only automatically updated for senior students due to a technical reason;
TopCoder and UVa status are auto-sync with the respective online judges in a few seconds after this page loads.
(# of AC)
Singapore IOI teams also train in the same "Center of Competitive Programming in South East Asia", together with various IOI medalists and ICPC team members in NUS.
With such synergy between ACM ICPC and IOI activities in NUS, all 4 members of recent Singapore IOI teams usually bring home 4 medals.
The best recent achievement is 2G (Feng Jiahai and Ranald Lam Yun Shao) and 1S (Mark Theng Kwang Hui) in 2014.
The most recent result is 1G (Teo Por Loong, Jacob), 2S (Clarence Chew Xuan Da and Pang Wen Yuen), and 1B (Zhang Guangxuan) in 2016.
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).
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), we wrote down our programming contest expertise into a relatively popular book about Competitive Programming (the most up-to-date edition as of Jun 2014 is currently CP3).
You can buy the book via lulu.com or via myself directly if you reside in Singapore.
I use Mooshak Online Judge and Kattis for various programming contest activities in SoC NUS.
I also incorporated the spirit of 'competitive programming' (but in a weaker sense) for my other algorithm/programming modules.
Programming competitions have enabled me to visit many places of the world in yearly basis.
I am very 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 http://id.visualgo.net, the VisuAlgo front page in Indonesian language.
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-2014
A total of 38200 different hosts have accessed this document in the last 807 days; your host, 22.214.171.124, 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.