Oui, la motivation est la base.
Après il y a différentes manières de commencer, personnellement, j'avais aussi créé un topic sur ce forum, et l'on m'avait donné le lien d'un cours d'algorithmique " pur " ( j'entends par là un cours en pseudo-code ) ; cela peut-être un bon moyen pour découvrir quelques concepts, acquérir certains mécanismes logiques et surtout se rendre compte de l'importance de la schématisation d'un projet, une façon de se préparer à la véritable programmation.
Après, on pourrait aussi te conseiller de commencer par le langage Python, qui peut s'avérer vraiment très simpliste ( c'est un langage de haut niveau ( donc simple à comprendre ) ).
Mais il y a aussi l'éventualité qu'a donné tbol : Java pour les enfants.
Et enfin certains te diront encore que commencer par un langage de bas niveau comme le C++ est une très bonne manière pour se plonger directement au cœur des choses, en bref, tout dépend de toi. 
Pour les cours, je ne sais pas si tu possèdes déjà tes habitudes, mais ceux d'OpenClassroom ne m'ont jamais vraiment déçus, ils ont l'avantage de n'avoir aucun prérequis : tout est expliqué de A à Z.