Learning to code – Weeks 9 to 13 – Javascript

Share on Facebook0Share on Google+0Tweet about this on TwitterShare on LinkedIn0Email this to someonePrint this page

JAVASCRIPT

 

I’m just coming out of 5 weeks dedicated to Javascript. Did I complain about Bootstrap? Now that was nothing compared to the headaches I’ve had since attacking Javascript!

Why is that???

I’m the first one to wonder, since Javascript seems to be presented everywhere on the web as an easy and playful language… and I don’t think I’m dumber than the average person J

So, let’s explore a little bit how Javascript was taught to us, my experience of that teaching, what was helpful and what were the difficulties…

Main issues were :

  1. Understanding programming logic
  2. How do I go from step 1 (basics) to step 2 (short programs) to step 3 (etc.)?
  3. Breadth vs depth: more javascript or some jquery + angular.js ?

 

 

  1. UNDERSTANDING PROGRAMMING LOGIC / TEACHING CURRICULUM

When you’ve never programmed before, your first encounter with programming logic is not necessarily a moment of truth: most of all, it doesn’t feel logical at all ! This is what struck me first ! I used to like maths at school… but faced with JS variables, functions and iterations, I was quite lost in the beginning.

After a while you do understand its inner logic, but it’s a different logic from yours, that you need to acquire, like learning a foreign language.

What’s the best way to learn a new language ? Immersion (eq. to drowning in some cases !), or rational explanations, or step-by-step tutorials ? With or without translation ? 30-mn practice a day, or 2-weeks full immersion ?

I guess teaching to adults might be slightly different from teaching to youngsters, as adults tend to rationalize a lot and may need much more explanations that others. This is definitely my case, in ordinary life… however I reacted differently in this particular situation. The course we were taking is « Dynamisez vos sites web avec javascript » on Open Classrooms , and although it is very well explained and detailed, I definitely DO NOT RECOMMEND you to start learning JS using it. It’s way too complex ! Too many explanations, not that much practice, and you’re soon lost (and depressed that you’re so lost).

So I turned towards Codecademy whose JS curriculum is much easier and more progressive, and I felt slightly less stupid very quickly.

However there is a gap between what you learn at Codecademy (the basics), and the next step you’re supposed to take to start programming little funny things. And that’s the second difficulty I faced : how to combine variables, functions, objects in a logical way… in what order ? How to make them work together ??

Understanding how they work separately doesn’t help you make them work together. I struggled many days over small pieces of code that would work very well independently, but wouldn’t work when together, without any bugs…

This is a serious difficulty and despite the overwhelming quantity of forums, tutorials etc. on the web, it doesn’t give YOU a specific path to follow, or specific answers!

 

  1. HOW DO I GO FROM STEP 1 TO STEP 2 TO STEP 3 ?

So once I got past step 1 that is understanding the basics and the logic, I got myself stuck in what I would call step 2 : being able to program small games or short programs, and going a little bit further with what I had learnt.

I did find a few tutorials and exercises to practice around (JS Fiddle), with sometimes many different options and ways of coding to meet the same objective, which was quite interesting, however I feel lost in a sea of options and things to explore.

 

JSFiddle
JSFiddle to practice Javascript

 

Where can I find the best help and support to help me solve the issues I’m facing with my code ?

And most important : what should I learn now, in what order, and what for ?

I guess that answer is up to me to figure out… It’s obviously not part of the curriculum, and most free (and even paying) programs are not that sophisticated, probably because their underlying assumption is that you want to become a developer, so you will make your way anyways through everything available, because you’re motivated enough to do so.

However I am not aspiring to become a developer, but to know this field well enough for other projects that I have, and I find if difficult to make my way through everything available to customise my learning path to my own needs.

 

  1. BREADTH VS DEPTH: Javascript + jQuery + Angular.JS in 5 weeks part-time ?

 

The other major difficulty I faced was having to learn jQuery and Angular.js in addition to Javascript in the frame of 5 weeks. That was simply not possible, and I decided to skip this part of the program, and probably get back to it later.

Why was that ?

Because it was way too early for me ! It was like getting to learn slang without even having the basics to form decent phrases and have a conversation in Javascript. Other students seemed very excited playing with jQuery, I had the opposite reaction : it was confusing me too much and I’d rather become much more comfortable with Javascript before exploring associated libraries, frameworks and so on.

Setting the right balance between « depth » and « breadth » in a teaching curriculum is certainly not an easy job, and it certainly depends on the curriculum objectives and students’ profiles.

Maybe we’re too many wanting to learn code nowadays, and it’s time for more segmented and focused offers depending on your background and your personal objectives ?

I leave you to reflet on that, and with these 2 excellent articles that I found very helpful:

Why Learning to Code is So Damn Hard, by Erik Trautman, Viking Code School

Want to Learn Javascript in 2015 / 2016? By Vincent O

 

 

Next article: Learning to code – The 100-day milestone

(This article was first published on the blog Momslearningtocode.com, now closed).

Share on Facebook0Share on Google+0Tweet about this on TwitterShare on LinkedIn0Email this to someonePrint this page

1 réflexion au sujet de “Learning to code – Weeks 9 to 13 – Javascript

Laisser un commentaire

six + dix-neuf =

*