COM2-02-08
651 67352

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 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

CG2111A
Engineering Principles and Practice II
CS2100
Computer Organisation
CS2106
Introduction to Operating Systems
IT5002
Computer Systems and Applications
IT5005
Artificial Intelligence

 

In the News

MicrosoftTeams-image
30 December 2018

Knowledge@Computing

18 March 2022
‘EPP’ is an acronym that rolls easily off the tongue, and is something that all first-year Computer Engineering undergraduates at ...