My Tech Blog

Post image

MARIO LESS, A NIGHTMARE, A FILTER, OR A NECESSARY HARVARD RITE OF PASSAGE!

Mario Less is the first challenge that all those who dream of obtaining their Harvard CS50 certificate, are obliged to overcome if they really want to become programmers.

So there you are…

… Sitting in front of your computer with a blank mind, completely discouraged and wanting to throw in the towel …

Post image

Three weeks ago you finally found the best computer science course available online. We are talking about the famous course called CS50 Introduction to Computer Science offered by Harvard University and taught by world-renowned Professor David J. Malan.

You started looking for information, started reading reviews about the quality of the course and everything looked so wonderful that you decided to enroll.

The introductory video showing Harvard’s facilities, the luxurious auditoriums, the resources available at the prestigious university stimulated your imagination and made you feel that you really had something in common whith those privileged people who are lucky enough to study at one of the best universities in the world. You started to imagine yourself with your name printed on the certificate offered by the prestigious university and to think that this long-awaited certificate is only the first step in your career as a future software engineer.

Now at this point you feel totally discouraged and you begin to imagine to start a career as a lawyer or working in your uncle Vittorio’s pizzeria.

Everything was going so well until Week 0. You learned how computers work, how they store and process information, and how to work with the binary system. You were totally happy and suddenly a new world lit up for you and you thought ok, this programming and computer science stuff is not as complicated as everyone thinks. Maybe someday I could have a real chance in the big industry. Maybe Silicon Valley? … Why not ? … You need to dream big!!

You couldn’t wait to finish your first Scratch project, you debugged the project, you were totally careful about the details, you got a 100% score and you started with Week 1, feeling like a real winner.

You were fascinated, completely absorbed in your studies. During Week 1 you learned about loops, conditionals, data types, pseudocode, variables and you felt that everything was going great. Poor all those mortals who don’t understand what programming is all about.

There are two kinds of human beings you proclaimed out loud. Those who understand the binary system and those who don’t!!!

And with all that Sheldon Cooper talk and feeling like the king of the world, without loosing time you started with the PSET1, you solved the first part and it was very easy … you researched about how to use the CS50IDE. How come there are people who can’t solve this!!! you thought, and how come there are people asking how to get a string from the user … poor mortals …

… And then it happened… you encountered the next problem. MARIO LESS…

At first you were intrigued by the name of the problem and thought … Gezz … This is just the first Week and I’m already going to have to develop a video game? … well it seems that these Harvard guys take their education really seriously. This scared you a little bit and at the same time stimulated your imagination.

With the same motivation as at the very beginning, you started trying to solve the problem, you tried to approach the problem from different angles, to find a solution and the result was completely zero.

It’s been three weeks and you’re starting to wonder if this programming thing is really for you or if definitetly you suck … Is it really worth having wasted the last two weeks without being able to sleep, trying to solve a problem that for many people seems to be so simple and that you definitely can’t solve? … You start to think: this is Week 1 and this is an introductory course and I can’t find the solution, how the hell am I going to become a software engineer someday?

Welcome to the world of software development… one of the most prestigious and respected professions of the moment and at the same time, one of the professions that will teach you to cultivate patience.

Of course all the effort you are making it is totally worth, and in programming as in all things that are fun, smart and worthwhile, like playing a musical instrument for example, you have to go through the ritual of self-discovery, you have to discover your own method for problem solving, for analyzing, and for finding a creative approach, and once you conquer that first step you will have learned so many valuable things that in the end you will be grateful for having made the effort.

There is a famous quote that says “No calm sea made a sailor an expert”. Likewise, the only way to become a good programmer is to face these kind of challenges that will force your mind to work hard.

And Mario Less won’t be the last… this is just the beginning of the long journey…So get ready for long nights of reflection, learn to appreciate the taste of a good coffee and above all, be ready to learn to keep a cool head

The big advantage is that every time you face one of these challenges you will become stronger and you will end up becoming a better programmer.

If you are one of those guys or girls who hates looking for help and always tries to challenge himself, the only thing you can do is keep thinking about a solution until you find it and as a famous quote from a Master Card commercial said twenty years ago … “There are some things that money can’t buy”.

Think about it. The satisfaction of having solved the first CS50 real programming challenge is one of those things, and it’s something no one can take away from you. It’s simply yours.

Anyway, if you need some tips about how to learn to think in an algorithmic way to solve MARIO LESS, here you can find some material that may can help you.

Good luck future software developer !!

Post Image 1 Post Image 2 Post Image 3 Post Image 4

Read more articles here