L'algorithmique est ce qui me semble être le plus important !
Rien ne sert de se lancer dans l'apprentissage d'un langage quand on ne sait pas encore ce qu'on veut faire avec.
Un langage ce n'est rien d'autre que de la technique, un outil qui te permet de mettre en oeuvre des algorithmes. Le danger, quand on débute, c'est qu'on cherche trop souvent
comment faire avant même d'avoir la moindre idée de
quoi faire.
Je te conseillerais de plutôt prendre un livre d'
initiation à l'algorithmique, afin d'apprendre à décomposer un problème en une suite d'opérations élémentaires, écrire leur enchainement dans un
ordinogramme, et enfin construire ton algorithme sur papier en "pseudo-code", c'est à dire un langage qu'aucun interpréteur ne comprendra, qui ressemble au français, mais que toi tu comprendras (par exemple "Initialiser i à 0; Tant que i < 5 { Incrementer i de 1 }; Afficher 'Allô le monde';" etc.).
Et puis une fois de retour chez toi, tu pourras tester les algorithmes que tu as écrit pendant tes vacances, tu verras que pour transformer ça en un langage de programmation style C ou PHP, ce sera relativement trivial (cela necessitera évidemment un minimum de documentation sur le langage en question et ses spécificités, je ne te le cache pas, mais ce sera moins une recherche au hasard que si tu te lances dedans sans aucune base).
EDIT: J'ajouterais même que ce n'est pas tant un mal que ça de ne pas avoir d'ordinateur pour faire tourner ses programmes, parce que l'ordinateur c'est un gros piège. C'est un outil formidable, ça exécute les algorithmes tout seul, à la vitesse de l'éclair, mais ce n'est qu'une machine qui fait ni plus ni moins ce que tu lui demandes de faire. En débutant, des erreurs tu vas en faire des millions, je te le garantis, et tes premiers programmes vont quasiment tout le temps soit planter, soit faire autre chose que ce que tu veux. D'ou l'importance de faire tourner ses algorithmes à la main... tu prends un papier, un crayon, et tu te lances toi-même pas à pas dans l'exécution de ton programme, en notant soigneusement dans quel état sont tes variables au fur et à mesure. C'est un travail hyper fastidieux, mais necéssaire pour bien comprendre le comportement de ce que tu auras écrit et ainsi y détecter les failles. Et pour avoir le courage de faire ce travail, c'est quand même plus simple de ne pas avoir de machine sous la main pour être tenté de le coder directement...