I was approached by a friend whose relative (let's call this friend's relative, person B) had a problem with a certain programming language to solve those particular problems.

When I asked B what IDE he used, he asked me, what's IDE? So, I expanded it to Integrated Development Environment. Said person still had no clue what it is.

And when I asked B how he debugged the code, he told me that he used javac. Note that I didn't ask how B compiled the code. I asked B how he debugged the code.

And when I solved the problems for B by creating a model of the program on paper, B asked me how I solved it. I told B that he forgot to check for boundary conditions.

If you're a lecturer in either NTU / NUS, and you're teaching computer languages, I implore you, for goodness sake, please teach your students what boundary conditions are. It would also be useful if you could teach them how to use an IDE, and how to debug programs on paper, even without the presense of a computer.

It was once said that if you give a man a fish, you feed the man for that day. If you give a man a fishing rod and teach him how to fish, you feed him for the rest of his life.

If NTU / NUS is churning out thousands of students with only the skills to solve a specific problem, but not the skills to solve problems generally, I hesitate to think what would happen to the future of IT in Singapore.