For any other lecturers in the institution which I taught in, teaching adults is probably a usual thing that they need to do. For me, it was a totally new thing.

I am asked to train a small group on my colleagues to be able to do a bit of programming. It is part of the school’s initiative as well as a national drive to upgrade employees with digital skills. We called such upgrading training a reprofiling exercise.

What are the challenges that I thought I will face?

  • The course should be conducted with only 20% face-to-face time. 80% of the course should be curated and online.
  • My colleagues are also extremely busy people who many are possibly forced will struggle with time to take this course.
  • Of course, I never taught adults before. Yes, I always say that I treat my students as adults, the truth is some of the more controversial techniques that I use in teaching are meant for people without working experience.


I like to see such challenges as a crisis. And I like to bring a Chinese perspective into this. This is because, the Chinese characters for the word “Crisis”, 危机, is made up of two very meaningful characters, danger and opportunity. I always feel that seeing opportunities in challenging moments is key to success.

Initial Strategy

What Matters Most

The 20% face-to-face times was extremely crucial to the success on whether my colleagues would be able to “get” programming. After all, programming had a bad name, urban myth knew it as a “you get it or you don’t” sort of subject.

Without the certainty of whether my colleagues are going to have the time to practice programming, I made all face-to-face sessions practice-oriented.

In the first session, we went through how to set up their learning and programming environment involving a couple of installation and creating a learning account.

I also just start programming right away, asking them to follow what I type, flashing out bits and pieces of programming knowledge along the way.

In essence, making sure that they leave the first session with an environment and knowledge of how they can start to programme, an extremely daunting task for first time programmers to learn on their own.

Motivation, Relevance and Just Enough

For all sessions, I start working on problems rather than explaining to them the concepts. This actually flips the way that I usually tackle my lessons, where I will explain concepts first, then tackle the problems.

The main reason was that I felt that there is no need for them to know every piece of concept. Important concepts will come naturally into our discussions when we worked through the problem. The rest can be considered a good to know.

The problems are also specially chosen among one of three themes to make programming more relevant to them:

  • Industry 4.0 (The participants are all engineer-trained)
  • Student result processing
  • Some Singapore-life related use cases (Eg. IPPT Score calculation)

Unlimited Self-evaluation Quizzes and Flexibility

I also crafted out a few self-evaluation quizzes for my colleagues which can be attempted unlimited times. Each answer they give comes with a personalised feedback on whether they are correct or where they might have gone wrong.

I may have given my usual students some bargaining power in terms of choosing their deadlines for assignment submission but to my colleagues, it was full flexibility so that they can work their study plans into their schedule. At the back, I was just encouraging them to submit before the study term begins, telling them that the consequence of submitting after is that they are going to feel more stress once their teaching load kicks in.


Sometimes I wish I had gone for the andragogy course organised by my institution earlier but hey, I’ve already did my best based on whatever I know and whatever ideas I can think of.

Understanding more about Andragogy now and reflecting on my first ever lesson delivery to adults, here are my takeaway points:

What worked really well: Learning Concepts from Problems

The idea of learning concepts along the way while working on a problem seems to work well with my colleagues. Once they have grasped the general concepts, the rest is all about searching for sample codes online to figure out how to do more advanced stuff.

Of course, there were also more stuff which I did, such as providing a set of mock questions and sample answers for the lab test. The lab test is also open book, rightfully so because that’s how most programmers do programming anyway, they code a bit, search for information on the Internet and then code some more.

What seemed lacking: Getting everyone to tap on each other’s knowledge

Robust discussions does not come naturally in my institution. With probably 400 over staff, it’s my 5th year with the institution but I still do not know everyone. One of the big thoughts is how best can I get everyone to talk and help out each other?

I’ve already set up the platform for them: there are both online and offline options for them to share their thoughts but there just seemed to be no incentive to do that, especially a good group of the class is possibly volunteered for the course rather than volunteers.

Or should some face-to-face time be devoted to pair work?

Then again, time is limited and I need them to be individually proficient for this fundamental course. However, I am glad that most of them isn’t too shy to approach me at all. The constant engagement and “love emails” I wrote to them paid off.

Man, it’s tough to change “deep-seated cultural issues” 😀 Asians are just really shy. I myself would probably bahave like that in a coding class too.

What could have been better: Getting them started

Part of what I did during the first session was that I got them started to install the required software on their laptops and start programming straight away, even if they don’t know a single thing about programming.

It didn’t work as well as I expected. I still find people who are not sure how to open what files to write codes and to run the codes. Others didn’t even successfully set up their laptops ready for development, even though I have packaged them nicely in zip files and gone through the steps in the face-to-face session.

I guessed I also assumed a lot about their technical capabilities to handle the computer and this is where my typical 18-year-old trumps them. For the next run, I’m going to write a step-by-step installation and coding guide. I probably want them to show me how they can write and run their programmes and they can be given a classroom participation score for this.

So, when do I start again?