• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
Avinash Meetoo

Avinash Meetoo

Let us build a Smart Mauritius together

  • Home
  • About
  • Curriculum Vitae

World Creativity and Innovation Day

21 April 2016 By Avinash Meetoo 2 Comments

20160421-panelists

Every 21 April, we celebrate the World Creativity and Innovation Day in Mauritius.

This year, the Mauritius Research Council organised a workshop on Creativity and Innovation and the the ICT Advisory Council, which I preside, was given a slot of 30 minutes. I quickly prepared a few slides like I like them to be (beautiful, memorable and witty) and I asked Logan Velvindron and Ish Sookun, both members of the ICT Advisory Council, to join me in a panel on Creativity and Innovation among Youth.

20160421-albert-einstein

The first topic was about having fun when learning and creating. I mentioned that school and teachers can be boring, especially in our age of having Wikipedia and YouTube in our pockets. I said that it was time for our education system to become fun again, where young people can enjoy creating and learning a lot of new things in the process. Both Ish and Logan explained how fun they have everyday at work and how important this is for them.

20160421-steve-jobs

The second topic was about not to be afraid to be different. In Mauritius, we have a culture of conformism. Women have specific roles to play. Kids also. And, of course, everyone should remain at his place. This is bullshit! Our world is created by people who think differently and who are not afraid to take risks and disrupt existing establishments… Logan and Ish told the audience how they discovered computers, decided to become geeks and do things differently from others. They were very thankful to have supportive parents who didn’t try to impose anything on them.

20160421-linus-torvalds

The third topic was about being a geek and the value of open source software for a country like Mauritius. I explained that open source software is free and this is very important for Mauritius which is not a very rich country. But I also explained how having access to the source code of software is essential for Computer Science teachers like me to create the new generation of top programmers which Mauritius will need in the future. Young people cannot learn complex programming just by reading a book or listening to a teacher: they need to see real source code of real complex software. Logan and Ish explained how they got involved in open source software and how we all now form part of organisations such the Linux User Group of Mauritius and Hackers.mu and the value those organisations have.

20160421-sheryl-sandberg

The last topic was about being a doer rather than a talker and that aiming for perfection, while sometimes a good thing, can sometimes prevent us from achieving. This is something I have noticed over the years in Mauritius: we love our committees. Doers are not revered though. This mentality has to change. I told the audience that we are as good as anyone from anywhere, whether it is the USA or France or India. But we should stop focusing on doing speeches. We should identify small but important problems and find feasible solutions for them.

After the panel, I got a question from Anibal Martinez who is collaborating with the Government to set up an incubator. He asked me how we can solve the Computer Science education issue in Mauritius.

I told him that in the short term, a lot can be done with ad-hoc training courses, such as the ones that I provide at Knowledge Seven. But this is not a viable model for the country. In the medium to long term, state-funded universities should find a way to revamp their Computer Science departments, which are absolutely substandard at this moment, to produce an adequate number of very competent computer scientists every year. The industry is ready to move up a level but there are not enough competencies.

Thanks to Ish and Logan for participating in the panel.

Filed Under: Computing, Education, Future, LUGM, Science, Society, Technology

Ten essential Computer Science books for students

1 April 2016 By Avinash Meetoo Leave a Comment

20160401-reading-book

A few weeks ago, someone asked me for a list of essential Computer Science books for young people studying at university with emphasis on the art of computer programming.

After much thoughts and checking multiple other similar lists, here is my top ten + two = twelve books to really understand Computer Science and to start thinking like a Computer Scientist:

Introductory

  • How to Think Like a Computer Scientist (Free)
  • Structured Computer Organization (Amazon)
  • Modern Operating Systems (Amazon)
  • The C Programming Language (Amazon)

Intermediate

  • Programming Pearls (Amazon)
  • Head First Java (Amazon)
  • The Pragmatic Programmer: From Journeyman to Master (Amazon)
  • Code Complete (Amazon)

Advanced

  • Design Patterns: Elements of Reusable Object-Oriented Software (Amazon)
  • Effective Java (Amazon)
  • Java Concurrency in Practice (Amazon)
  • Introduction to Algorithms (Amazon)

Notice that there is none of those “Learn X in Y days” books. Those are for those who are not ready to invest enough time and energy to excel. Unlike you, dear reader. Happy programming 🙂

Here are quite similar lists elsewhere: The Top 9½ Books In a Hacker’s Bookshelf and List of Recommended Programming Books (Part II). You’ll notice that a lot of books are the same as the ones I have in my list. We are speaking of top books after all…

Filed Under: Art, Computing, Education, Science, Technology

How to become a programmer?

30 March 2016 By Avinash Meetoo 1 Comment

20160330-a-team

Here are the programming languages I know very well:

  • Java (most popular programming language in the TIOBE index)
  • C (2nd most popular)
  • Python (5th)
  • PHP (6th)
  • Javascript (8th)

Here are those which I know relatively well but, if I had to write something substantial, I would have to read 1-2 good books on the latest features / benefits:

  • C++ (3rd in the TIOBE index)
  • Perl (9th)
  • Ruby (10th)
  • R (16th)

I also know a bit of Assembly (albeit Motorola 68000 assembly instead of x86):

  • Assembly (12th in the TIOBE index)

I do not know anything about programming languages created by Microsoft:

  • C# (4th in the TIOBE index)
  • Visual Basic .NET (7th)

It took me years and years to become competent in Java, C, Python, PHP and Javascript. I started programming when I got my first computer around 1987 i.e. nearly 30 years ago.

Peter Norvig is right: it takes ten years to become a good programmer.

Programmers are problem solvers (like the A-Team)

A good programmer is also someone who knows how to solve a real problem which real people are having by writing a program which, hopefully, will allow the same people not to have to worry with the problem anymore.

To become a problem solver, one needs to adopt a very logical way of thinking which is explained in books such as Polya’s How to Solve It. Once someone is a problem solver, then it is reasonable to learn a software development methodology which has proved its worth over decades namely Object-Oriented Analysis, Design and Programming. There exist many books about OOA, D & P. Classics include Grady Booch’s Object-Oriented Analysis and Design with Applications but a more modern book would be Craig Larman’s Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development.

20160330-experience

On acquiring experience

Nothing beats really trying to solve a problem by writing a software, failing miserably, trying again, failing once more and finally arriving at a solution. Nothing beats real world experience.

And this is not necessarily acquired at work. I know countless exceptional programmers (abroad and world-famous for most of them but a few are in Mauritius) who learned quite a lot by themselves by scratching their own itch (as explained in Eric Raymond’s The Cathedral and the Bazaar). They became good by writing software to solve problems that they themselves were having (and not for money).

The most important thing: have fun

To become an exceptional programmer, it is essential that you have fun in the learning and skills development process.

Programming is not something one learns to get a good job. It is something that someone loves and allows him/her to land his/her dream job later.

Filed Under: Computing, Education, Future, Science, Technology

  • « Go to Previous Page
  • Page 1
  • Interim pages omitted …
  • Page 37
  • Page 38
  • Page 39
  • Page 40
  • Page 41
  • Interim pages omitted …
  • Page 44
  • Go to Next Page »

Primary Sidebar

Search

I am proud of

My family
My company
My music
My photos

I am active on

Facebook
FB Page
Twitter
LinkedIn
Reddit
Hacker News
Stack Overflow
GitHub
Wikipedia
YouTube
IMDB
Last.fm

All posts

  • April 2025 (1)
  • March 2025 (1)
  • February 2025 (2)
  • January 2025 (4)
  • December 2024 (4)
  • November 2024 (2)
  • October 2024 (1)
  • September 2024 (4)
  • July 2024 (1)
  • June 2024 (1)
  • May 2024 (4)
  • March 2024 (1)
  • February 2024 (1)
  • January 2024 (1)
  • December 2023 (2)
  • November 2023 (2)
  • October 2023 (2)
  • August 2023 (2)
  • July 2023 (3)
  • June 2023 (3)
  • May 2023 (4)
  • April 2023 (1)
  • March 2023 (3)
  • January 2023 (1)
  • December 2022 (1)
  • November 2022 (5)
  • September 2022 (2)
  • June 2022 (2)
  • May 2022 (1)
  • April 2022 (1)
  • January 2022 (3)
  • November 2021 (1)
  • September 2021 (1)
  • June 2021 (3)
  • April 2021 (1)
  • February 2021 (1)
  • January 2021 (2)
  • November 2020 (1)
  • October 2020 (1)
  • September 2020 (1)
  • August 2020 (1)
  • May 2020 (1)
  • April 2020 (3)
  • March 2020 (4)
  • January 2020 (1)
  • July 2019 (1)
  • June 2019 (1)
  • April 2019 (2)
  • January 2019 (1)
  • December 2018 (3)
  • November 2018 (1)
  • September 2018 (1)
  • August 2018 (1)
  • April 2018 (1)
  • December 2017 (1)
  • November 2017 (1)
  • October 2017 (1)
  • August 2017 (1)
  • July 2017 (1)
  • May 2017 (1)
  • March 2017 (1)
  • February 2017 (1)
  • August 2016 (1)
  • July 2016 (1)
  • June 2016 (3)
  • April 2016 (3)
  • March 2016 (3)
  • February 2016 (1)
  • December 2015 (1)
  • November 2015 (1)
  • October 2015 (1)
  • August 2015 (5)
  • June 2015 (1)
  • September 2013 (2)

Copyright © 2025 by Avinash Meetoo · Shared under an Attribution 4.0 International Creative Commons license · Log in