Monday, 14th October 2024

Monday, 14th October 2024

Lifelong learning confessions: I never thought I could enjoy coding

06 Sep 2024

Lecturer Ian Tan has gone from Computer Club dropout to generative AI coach 30 years on. What changed, and how does he inspire his children and students to revisit something they weren’t good at?

* AI-generated artwork courtesy of writer


For over 30 years, I believed that I was not good at coding. In 2022, I found out how mistaken I was.

This erroneous mindset took root when I was in Primary Three and was a member of my school’s Computer Club.

The club was one of the most popular extra-curricular activities because computers were not household items then, and being kids, we could not wait to play PC games on the school machines.

However, before we could fire up the games, the teacher-in-charge said we had to first learn software programming (the old-school term for coding).

The programming lessons started off easy enough – we were introduced to the programming language called LOGO.

Using it involved typing simple commands to get a small triangular “turtle” on the screen to move in different directions. The turtle’s movements then created simple line drawings or patterns that we could print out on primitive dot-matrix printers.

After a few LOGO lessons, we moved on to the more advanced language called BASIC (yes, the irony). The difficulty ramped up from there, and I could not keep up, so I dropped out of the Computer Club.

A few months later, I gave computer programming another go. I attended a BASIC programming course at the community centre and once again, I was confused by the software jargon. At the end of each lesson, the teacher would end up typing in the correct code to help me complete the class exercise. I felt stupid and told myself that I was no good at coding.

As I grew up, I would ignore the growing popularity of programming careers as I felt I was not cut out for it. Later, in my different job roles, I got to work with several coders. Their introverted characters were quite different from my extroverted personality, thus, I came to believe that coding required a certain personality.

I love technology but my core beliefs around coding had solidified: Coding is difficult. Coders are born, not trained. Coding is not for me.

How AI changed my mind

But is coding really necessary to learn today?

For example, anyone can design a website without knowing a word of code. Last year, I designed a new website for my communications consultancy. I installed the necessary plug-ins, adjusted the settings, and it was done. This is what some call a “Low-Code/No-Code” type of programming.

I became a frequent user of Generative AI tools like ChatGPT and Stable Diffusion, and began conducting workshops to coach others in prompting techniques.

As I became more adept at AI tools, I read a VentureBeat article that declared: “Writing a detailed prompt really is just a different form of programming. You’re still telling a computer what you want it to do, step by step.”

What a revelation! Programming using plain English (or your native language)!

But as I studied Generative AI further, I began to desire making my own AI chatbot that is trained on my own set of data (for example, my journal writings) so I could “clone” my brain that could “speak” to my descendants.

However, to do so, I would have to put together different Gen AI tools, and that meant having to learn the Python programming language.

Funnily enough, I did not resist coding this time. The desire to achieve my goal was stronger than my aversion to coding. I enrolled in a Python coding course on the National Library website and I have since completed over seven hours of training.

As I went through the course, I discovered a shocking thing – I could code after all.

Easier to learn coding today

My childhood experiences convinced me that coding was a rigid affair – that only the specific code that my teacher typed on my behalf would work.

But as I went through the bite-sized chapters of the Python online course, I found that I was able to achieve the outcomes of each exercise by writing code with my own approach. As long as I could achieve the same outcome, I passed the exercise. 

This was fascinating, and I began to reflect on how my wrong mindset came about in Primary Three.

  • Firstly, I was probably too young to understand coding concepts.
  • Second, my teachers probably tried their best within the constraints of the lesson.
  • Lastly, I never had a goal to spur me on in coding.

Things are different now: I am older and more patient. I am learning online at my own pace with the help of many model answers. YouTube is an amazing resource for self-learners. Most importantly, I have a specific goal I want to achieve with coding. The small victory of completing each consecutive Python exercise was also a morale booster.

Is coding for every student?

When I told my two teenage children excitedly about my new hobby, they raised their eyebrows. They had gone through basic coding lessons themselves in school but lost interest early on. I did not nag them about it; I just hope to inspire them to examine their assumptions.

Should every child learn coding? My answer used to be “Only if they have the aptitude for it.”

But now, having seen how Generative AI is disrupting the world and personally knowing how coding helps us to better utilise AI tools, I think some basic coding knowledge is beneficial to everyone.

This may be the “Low-Code/No-Code” era but I believe an important skill of the future is putting together different AI databases and software tools to help us increase our productivity, both for ourselves and our employers.

For example, what if I could design my own AI chatbot that lives in my phone, that helps me to answer WhatsApp chats or business emails when I am busy? Or what if I could make an AI chatbot that can help me learn Chinese in small doses daily?

Rather than wait for a company to sell me such an app, I believe there are enough free open-source solutions which I can put together like a Lego toy.

Finally, learning how to code has taught me something I believe all parents and students need to know: There are many ways to achieve an outcome, you just have to discover your own way of doing things and not let past events define your future.