Colin TAN
Associate Professor (Educator Track)Director, Makers@SoC
Member, Faculty Teaching Excellence Committee (FTEC)
- Ph.D. (National University of Singapore)
- M.Sc. (National University of Singapore)
- B.Sc. (Computer & Information Science, National University of Singapore)
Colin is a senior lecturer at the Department of Computer Science, NUS School of Computing. He specializes in embedded systems and operating systems related courses. Colin has taught courses on real-time system design, operating systems, programming methodology, and had taught a course on software product development for digital markets. In this course students are given a semester to build three production quality software systems, with the first two being on Facebook and on HTML5, and in the third project students are given free rein on the technologies that they would like to use. The third project is particularly beneficial to students, as they get real first-hand experience in building a software product, from conceptualizing, validating their concept with users, to User Interface (UI) design, UI validation with users, building the system, and finally to marketing their systems to recruit thousands of users before their project submission deadline. Projects completed in this module have spawned startups like Pearcomms, HunQRy and PaperBaton, while alumni in this course have gone on to careers in tech giants like Facebook, Google and Microsoft. Colin, together with two other CS colleagues and three ECE colleagues, is currently teaching a course that gives first-year Computer Engineering students first-hand experience in building non-trivial computer systems like tele-operated robots. Students learn key issues of high-efficiency hardware programming, dealing with electro-mechanical issues like variations in motor and gearbox quality, secure network communications, and real-time mapping of the environment using algorithms like SLAM. They also pick up key skills like performing independent research, and learning how to improvise to solve problems with limited resources. Colin also runs courses in drone design, construction and programming. Colin has written a lightweight operating system for the Arduino called ArdOS that fits into less than a kilobyte of memory, available at https://bitbucket.org/ctank/ardos-ide/wiki/Home. He has also written several other libraries for the Arduino including smartTimer, a library for writing timer-based embedded systems, which also includes a software-based real-time clock for the Arduino, and smartSerial, a bare-metal bare-bones serial communications library for the Arduino. His Bitbucket repository is available at https://www.bitbucket.org/ctank. Colin is Lab Coordinator for Makers@SoC, a maker space that was recently set up to give students a chance to immerse themselves in maker culture, which is a blend of DIY and technology. Makers@SoC addresses two key concerns of the industry: that we are producing technology professionals who can only code and cannot build anything physical - a key concern in fields like IoT - and that CS majors may not have a good appreciation of the hardware on which they build their systems. Makers@SoC runs courses in 3D modeling, basic electronics, microcontroller interfacing and programming, circuit design and fabrication, and through-hole and surface-mount soldering. Colin is Chairperson for the IT Software Solutions for Business trade for Worldskills Singapore 2016 and Worldskills Singapore 2018, and has been a long-time General Secretary for the National Olympiad for Informatics (NOI) competition. Outside of academia Colin reads widely into Catholic theology, is a sponsor and a speaker at the Rite of Christian Initiation of Adults (RCIA) Programme, and is a council member and a formation instructor at the Secular Order of Discalced Carmelites (OCDS) in the Roman Catholic Church of Singapore. He is also an avid foodie, a cigar collector, an enthusiast of retro technology, and a somewhat decent and fairly eclectic cook.
RESEARCH AREAS
RESEARCH INTERESTS
Defeasible Reasoning
Belief Revisions and Functions
Epistemic Logic
Ontologies
Dialog Systems and Discourse Modeling
Speech Recognition
Chance Discovery
RESEARCH PROJECTS
RESEARCH GROUPS
TEACHING INNOVATIONS
SELECTED PUBLICATIONS
AWARDS & HONOURS
MODULES TAUGHT