Je suis très nul

a marqué ce sujet comme résolu.

Bonjour à tous,

Je sors d’un DUT Info en 1 an (à la base j’étais en biologie, je me suis réorienter). Mon problème, c’est que cette année a été très dur pour moi, j’ai appris les bases de l’algo mais je n’arrivais jamais à les appliquer en exercice. Les projets qu’on a eu, je les ai carrément laissé à mes camarades car je n’y arrivais pas. On a commencé par le C, mais puis on avançait moins ça allait. Je n’arrive à rien, j’ai aucune logique, comment faites-vous ? Je passais parfois 4h sur un exercice alors que d’autres camarades en 10 min c’était bon. J’ai vraiment tout essayé, refaire les exercices sans regarder la correction, tester le code de différentes manières. Puis vient le Java, alors là, le gouffre…

Comment s’améliorer en programmation ?

+0 -0

Salut,

Essaye peut-être de suivre des tutos (par exemple sur ce site) en complément de tes cours ? Peut-être que tes profs sont mauvais, ou juste qu’ils ne te conviennent pas. Je sais que pour ma part j’ai toujours préféré lire un tutoriel texte à mon rythme plutôt que suivre un cours.

Ma suggestion serait d’essayer de lire des bouts de tuto peu avant un cours sur le même thème, pour avoir deux présentations de la chose et peut-être aussi démystifier ce que raconte le prof.

Je comprends ce que tu dis mais je faisais déjà cela en regardant des tutos parce que les profs qu’on avait..no comment. Mais je suis au bout, quoi que je fasse, ça ne rentre pas, le simple fait de devoir coder quelque chose me met dans un état…

+0 -0

Tes camarades y arrivent en 10 minutes, mais c’est peut-être parce qu’ils n’ont même pas besoin de leurs cours de DUT. Ils sont peut-être déjà à l’aise avec les notions car ils pratiquent sur leurs projets persos durant leur temps libre, et ça ne date peut-être pas d’hier.

Ce n’est peut-être pas le cas en biologie, mais en IT, beaucoup d’étudiants dans ce domaine sont autodidactes : ils ont parfois de bonnes bases, voire de l’expérience, avant même d’entamer le premier jour de cours.

Tu leur a demandé ?

+6 -0

Bonjour tu pourrais essayé de développé sur Arduino (c’est du C friendly) et, je trouve, l’ajout d’avoir une led clignotante (par exemple) dans le monde réel a une saveur bien différente a un "hello world" dans la console il existe des kits pour genre 30€ avec plein de capteurs, et tu peux en acheter des tout fais pour faire une voiture par exemple si t’as besoin d’idée de projet qui devrait pas trop te rendre anxieux, il y :

  • led clignotant
  • radar de recul (avec un capteur de distance + un buzzer/led) plus ca clignote plus tu es proche
  • une voiture qui tourne si elle touche un mur (genre robot aspi V1)
  • une voiture qui s’arrête au plus proche du mur (j’ai un ami qui avait réussi a le faire stopper a 5mm)

si jamais tu preferes travaillé le coté "algo" tu peux utilisé Scratch, l’interface est simple, mais permet de faire des choses complexe si tu as besoin (je crois que des personnes ont fait des jeux 3D) coté simple a faire tu peux :

  • deplacer le perso quand il touche un mur (genre le DVD Bounce )
  • un snake (et tant d’autre, j’ai moins d’idée a lister XD mais j’ai un ami qui a fait pong)

avec tout ça je pense tu auras déjà une meilleurs compréhension de l’algo et du coté "pur logique" et ça permet la pratique rapide avec peu de connaissance sans devoir manger des km de tutos

et si tu veux un truc un peu plus complexe (fin a moyenne echelle le debut ce fait assez facilement) a faire, il existe https://leekwars.com/ qui est un jeu ou tu développes une IA pour un poireau de combat

l’ajout d’avoir une led clignotante (par exemple) dans le monde réel a une saveur bien différente a un "hello world"

Quand on y pense, un hello world dans une console, c’est des centaines de petites loupiotes qui clignotent à 60 Hz (voire 144 Hz…). Et perso, mon écran est aussi dans le monde réel. :D


Les projets qu’on a eu, je les ai carrément laissé à mes camarades car je n’y arrivais pas.

En fait, ton principal problème est là, je pense. La seule façon de progresser en programmation est de pratiquer. Si les exos de tes cours ne te parlent pas, donne toi un petit challenge simple (et on peut en trouver facilement sur le web) et accroche toi jusqu’à y arriver. Ça peut être tout bête et parfaitement inutile en soi, genre afficher un triangle de A en console de la taille demandée par l’utilisateur. Le but est de se familiariser avec les structures de contrôle (if, while, for, etc classiquement) du langage que tu utilises. Sans pratiquer, ça ne viendra pas tout seul.

Mais je suis au bout, quoi que je fasse, ça ne rentre pas, le simple fait de devoir coder quelque chose me met dans un état…

Je pense que tu devrais peut être mettre le code de côté et te changer les idées pendant un certain temps (quelque jours ou semaines suivant ce que tu as besoin) pour te calmer. Parce que là, tu es crispé par ta propre peur de l’échec et ce n’est pas bon. Il vaut mieux être bien détendu. C’est facile à dire et ça peut sembler un peu bête, mais c’est très important (et pas que pour coder ^^ ). Il faut aussi accepter que certaines personnes absorbent l’information et arrivent à abstraire les choses plus facilement que d’autres (et ces facilités varient d’un domaine à l’autre). Ce n’est pas forcément un problème d’avoir besoin de plus de temps, ça ne veut pas dire que tu n’es pas capable d’apprendre à coder. C’est stressant dans un cadre scolaire où forcément l’apprentissage est limité en temps, mais ce n’est pas un signe que tu es "très nul" pour reprendre ton titre. Courage. :)

+8 -0

Bonjour, tout ce qui t’es conseillé c’est très bien. :) Sinon tu peux aussi demander à un(e) collègue de ta promo/classe de t’aider. Quand j’étais à l’IUT, j’aidais les personnes en difficultés pour se raccrocher aux cours en faisant étape par étape, en leur laissant le loisir de me poser des questions, en faisant des schémas (visualiser est souvent plus efficace). Le bonus c’est que j’apprenais aussi à comment expliquer aux autres ce que je savais ou ce que j’avais compris. Bien souvent certaines idées se débloquaient parce que l’autre me posait des questions qu’il trouvait au départ idiote, pourtant ça avait du sens et ça permettait de repartir d’un blocage. C’est un deal profitable pour tous et qui te permettra à toi de rester dans le train-train de tes études. Demandes à ceux qui réussissent les exercices en 10 min de prendre un peu de leurs temps, ça te coûte rien (à la rigueur une p’tite bière pour les remercier :p ).

Salut,

Je rajoute un truc qui n’a pas encore été dit, non tu n’es pas nul. Y a des gens dont le boulot c’est de faire des programmes et tout, c’est bien que c’est pas si facile que ça. Et en fait, si c’était si facile, tu n’aurais pas de cours dessus.

Vu que c’est pas si facile, il te faudra travailler pour y arriver. Mais faut pas non plus te tuer au travail. Va à ton rythme, n’hésite pas à multiplier les sources, à pratiquer beaucoup (par exemple, le cours de Swinnen en Python est rempli d’exercices) et à demander de l’aide si besoin que ce soit sur le forum ou à tes camarades de promo avec ou sans bières. ;)

+2 -0

Salut,

Je rajoute juste un petit truc par rapport à l’algorithmique : regarde les cours et problèmes de France-IOI. Certes je trouve que les cours de programmation ne sont pas excellents mais les problèmes qui vont avec sont eux, par contre, très intéressants. Les problèmes peuvent être en effet testés par leurs serveurs (sur des exemples dont tu ne pourrais pas prévoir les résultats). De plus ils sont très progressifs et thématiques : les boucles, les conditions,… (puis ils mélangent tout ce qui a été vu bien sûr) Par ailleurs les cours peuvent te rappeler tout de même les bases (dans 8 langages environ dont le C et le python).

+0 -0

Y a des gens dont le boulot c’est de faire des programmes et tout, c’est bien que c’est pas si facile que ça. Et en fait, si c’était si facile, tu n’aurais pas de cours dessus.

Karnaj

Honnêtement, je pense que si la programmation était un domaine compliqué, il y aurait beaucoup moins de développeurs.

Je pense que si certains élèves sont complètement perdus, c’est surtout lié à la manière dont les cours sont faits : on commence systématiquement par comment déclarer une variable, les conditions (if/else, switch) puis les boucles (while, for), les fonctions, etc.

On explique comment faire tout ça sans jamais expliquer ce qu’est une condition ou une boucle. Ni pourquoi ou quand les utiliser.

Les élèves ayant des facilités sont généralement ceux sachant déjà réfléchir en terme d’enchaînements d’instructions. Et ceux pour qui ce n’est pas naturel (ce fut mon cas) se retrouvent perdus parce qu’à aucun moment, pendant leurs cours, on leur apprendra à faire cette gymnastique.

Pourtant être capable de transformer un énoncé en un flot d’étapes qui s’enchaînent est crucial dans l’enseignement parce qu’on n’apprend pas aux élèves à s’en passer :

Le FizzBuzz est certainement le premier exercice donné aux élèves pour pratiquer les structures de contrôle. Il se fait en quelques minutes avec quelques conditions et variables.

Recommencer l’exercice en interdisant les structures de contrôle (condition, boucles, exceptions, etc.) et les structures de données (liste, tableau, map, objet, etc.) posera nettement plus de problème.

Et pourtant le seconde approche produira un code beaucoup plus proche de l’énoncé que la première.

Honnêtement, je pense que si la programmation était un domaine compliqué, il y aurait beaucoup moins de développeurs.

Ce n’est pas parce qu’il y a beaucoup de monde qui fait quelque chose que c’est simple ni que c’est fait correctement. La demande monstre dans le domaine fait qu’il y a des tonnes de développeurs médiocres parce que du coup la concurrence n’est pas particulièrement féroce même si il y a du monde.

Programmer un logiciel "simple" une fois qu’on a une bonne compréhension des structures de contrôle et de données, on est d’accord que c’est pas très compliqué, mais la programmation ça va plus loin que ça. Quand tu commences à avoir des problèmes de perfs, de développement sur des plateformes exotiques, de compatibilité avec des dépendances, des technologies qui changent vite, devoir travailler avec une code base dépassée qui demande une refonte quasi-totale ou encore tout simplement que ton problème est intrinsèquement difficile à résoudre (mathématiquement par exemple), programmer devient une tâche plus ardue.

Recommencer l’exercice en interdisant les structures de contrôle (condition, boucles, exceptions, etc.) et les structures de données (liste, tableau, map, objet, etc.) posera nettement plus de problème. Et pourtant le seconde approche produira un code beaucoup plus proche de l’énoncé que la première.

Je comprends pas trop ce que tu essayes de dire avec ça, en fait. L’énoncé est plutôt directement traduisible en une boucle infinie, un compteur, et une condition avec 4 branches. Je vois pas trop comment se forcer à cuisiner (pour finalement reconstruire des boucles et des conditions via des "hacks") va produire un code plus proche de l’énoncé… Ou alors on parle pas de la même chose.

+1 -0

Honnêtement, je pense que si la programmation était un domaine compliqué, il y aurait beaucoup moins de développeurs.

Une fois qu’on a compris le truc, coder c’est facile voire même ludique. Après tout, on enseigne même à des enfants à programmer. Mais, ce n’est pas ce qu’on attend d’un développeur. Ce qu’on attend d’un développeur ce n’est pas que des compétences en programmation mais aussi et surtout une expertise en génie logiciel.

+1 -0

Honnêtement, je pense que si la programmation était un domaine compliqué, il y aurait beaucoup moins de développeurs.

RomHa Korev

Je pense que la programmation à un niveau professionnel est quelque chose de compliqué si tu veux en faire ton métier. Par contre tu peux facilement t’amuser avec.

Mais le métier de développeur, si tu le prends un minimum au sérieux, est compliqué de mon point de vue. Tu as vite besoin de connaissances assez avancées et spécifiques, et dès que ton besoin métier n’est pas trivial, tu tombes dans des problématiques qui peuvent être complexe (questions d’algorithmique, d’optimisation, etc).

De mon point de vue il y a beaucoup de développeurs parce qu’on a énormément de besoins en développement. Et donc qu’on peut embaucher à peu près tout le monde, ce qui te garantit un boulot et un bon salaire si tu vas au bout de la formation et ce même si tu est un clown.

Ça n’est hélas pas qu’une vue de l’esprit. On est dans un monde où, quand tu es une petite SSII qui fait passer une variante de FizzBuzz à tes candidats sortis d’école, tu en élimines plus de 75 %.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte