Bonsoir à tous , j'ai débuté depuis 3 semaines à coder ( pour l'instant que du C) avec les cours en ligne gratuit cs50 . Mon problème c'est que je galère vraiment sur des exercices qui devrait être à 'mon niveau' et donc je me demandais quelles sont les meilleures ressources en ligne pour avoir des cours/fiches en ligne pour compléter cet apprentissage ? (surtout pour débutant quoi)
Merci pour vos réponses
Si tu veux coder pour t'amuser, tu peux regarder open classroom tu trouvera le nécéssaire. Apres si tu veux faire un peut plus, pour le web il y a grafikart.fr qui a une petite formation pour faire du web en français et en video. Ça reprend bien les bases de l'algo qui est très important en programmation
Le 28 avril 2020 à 21:19:05 Suzuka_Nakamoto a écrit :
Si tu veux coder pour t'amuser, tu peux regarder open classroom tu trouvera le nécéssaire. Apres si tu veux faire un peut plus, pour le web il y a grafikart.fr qui a une petite formation pour faire du web en français et en video. Ça reprend bien les bases de l'algo qui est très important en programmation
Okay merci beaucoup je note ! je vais en fac Maths-Info l'année pro donc je compte poursuivre dans cette voie
Le 28 avril 2020 à 21:30:41 1m90GantMappa a écrit :
Le 28 avril 2020 à 21:19:05 Suzuka_Nakamoto a écrit :
Si tu veux coder pour t'amuser, tu peux regarder open classroom tu trouvera le nécéssaire. Apres si tu veux faire un peut plus, pour le web il y a grafikart.fr qui a une petite formation pour faire du web en français et en video. Ça reprend bien les bases de l'algo qui est très important en programmationOkay merci beaucoup je note ! je vais en fac Maths-Info l'année pro donc je compte poursuivre dans cette voie
T'as bien fait de commencer à faire du C. Tu va en faire pendant toute ta scolarité normalement. Si tu veux t'avancer pour ta première année, essaie de voir les bases de l'algo, le calcul en base 2, 8, 16. C'est pas trop compliqué. Renseigne toi aussi sur le calcul binaire si tu veux. Mais ne t'en fait pas, tout ça tu le verra assez tôt.
En cours en ligne tu as aussi le site : https://franckh.developpez.com/articles/c-ansi/bien-debuter-en-c/
Sinon je rejoins mon vdd sur openClassroom et sur l'algo.
Si tu as du mal au début tu peux même programmer en pseudo-code (C'est de la programmation en français) : https://larp.marcolavoie.ca/fr/
Ça permet d'avoir une vision plus claire de la syntaxe quand on débute en programmation. En belgique en première année de bac+3 on en fait avec du C et du java.
Après quand on bloque sur un exercice c'est souvent qu'on a mal compris les bases donc n'hésite pas à poser des questions.
Si tu veux faire de l'algo et pas trop t'emmerder avec la syntaxe, tout en utilisant un vrai langage, tourne toi vers Python ![]()
[23:11:32] <Quentaing>
Si tu veux faire de l'algo et pas trop t'emmerder avec la syntaxe, tout en utilisant un vrai langage, tourne toi vers Python
Pour le coup je conseillerai pas le python si tu veux faire des etudes d'info (je hais ce langage). Certe tu t'en servira a un moment donné mais c'est plus un langage ludique/pour ceux qui ont besoin de programmer sans etre dev (physiciens, statisticiens etc).
Certe tu travaillera l'algo mais pas plus que dans un autre langage. Je pense que le C est le mieux pour commencer la programmation. Ensuite tu passe au java qui est assez proche pour appréhender la POO.
Je suis d'accord avec cybevil sur le pseudo-code. Si tu veux commencer l'algo sans t'emmerder avec la syntaxe des langages tu peux travailler tes algos en pseudo-code.
En gros tu écris ton code comme tu veux, tu te fixe tes propres regles. Si tu veux écrires de simples phrase en français tu peux. Ça aide pas mal a comprendre les bases
(Je suis l'op)
Woaw merci beaucoup pour toutes vos réponses , j'ai checké un peu et ça correspond parfaitement à ce que je cherchais !
@cybedevil : Oui c'est ce que je me suis dit aussi pour les bases manquantes, c'est pour ça que j'ai crée le topic pour avoir différentes sources d'informations !
@Suzuka_Nakamoto Dans le cs50 , le python c'est vers la semaine 8 je crois . Et le pseudo code c'est aussi les notes qu'on écrit à côté du code genre ( //blabla ) non ? Sinon la POO c'est quoi exactement ?
Le 29 avril 2020 à 00:20:58 lostintheworld- a écrit :
(Je suis l'op)Woaw merci beaucoup pour toutes vos réponses , j'ai checké un peu et ça correspond parfaitement à ce que je cherchais !
@cybedevil : Oui c'est ce que je me suis dit aussi pour les bases manquantes, c'est pour ça que j'ai crée le topic pour avoir différentes sources d'informations !
@Suzuka_Nakamoto Dans le cs50 , le python c'est vers la semaine 8 je crois . Et le pseudo code c'est aussi les notes qu'on écrit à côté du code genre ( //blabla ) non ? Sinon la POO c'est quoi exactement ?
Alors mon message va être un peu long
D'abord le pseudo-code :
ce n'est pas vraiment ça, ce que tu décris toi ce sont les commentaires //blabla
Le pseudo-code ça ressemble à ça :
nb1 = 1
nb2 = 2
nb3 = nb1 + nb2
Ecrire nb3
Pour i = 1 Jusqu'à 5 Faire
Ecrire "Ceci est la ligne", i
FinPour
TantQue nb3 != 10 Faire
Ecrire nb3
nb3 = nb3 + 1
FinTantQue
En fait c'est juste un langage à part plus compréhensible si tu veux.
Ensuite pour la POO :
On va dire que c'est une autre manière de programmer.
C'est une notion qui n'existe pas en langage C mais qui est présente dans la plupart des langages modernes et qui rend la programmation plus "agréable" ou "intuitive".
Par exemple en C tu utilises des fonctions. J'imagine que tu as déjà appris ce que c'est (Un ensemble de ligne d'instruction toutes prêtes que tu peux appeler quand tu veux dans ton programme).
En java ça ne s'appelle pas des fonctions mais dans méthode. C'est un peut plus abstrait.
Donc en POO tu oublies les fonctions et tu utilises des méthodes.
C'est quasiment la même chose, sauf qu'elles sont rattachées à une classe.
Du coup une classe c'est aussi un nouveau concept, tu peux voir ça comme un moule d'objet.
Exemple : En POO je peux créer une classe "Chien" qui contient plusieurs variables qu'on appelle attributs.
Dans cet exemple on va dire que Chien contient les attributs : poids, couleur, race.
Maintenant que tu as ta classe chiens avec ces attributs, tu peux dans ton programme principal faire un truc comme ça :
Chien elioth = new Chien(21.4, "Noire", "Caniche");
Chien toto = new Chien(15.6, "bleu", "yorkshire");
Tu passes en argument des valeurs (Tu les passe dans le "Moule" Chien) et ça te crée un nouveau chien.
Tu peux imaginer ça comme si tu créais un nouveau personnage dans ton jeuxVidéo
Maintenant que tu vois un peu près ce qu'est une classe, revenons aux methodes.
Dans ta classe chien tu peux créer une fonction (qui s'appelle du coup une methode) : aboyer() ou attaquer(),...
Ensuite dans ton programme tu pourras faire quelque chose comme elioth.aboyer() ou toto.attaquer()
Pour leur demander de faire des actions.
Enfin c'est pas très compliquer, mais c'est des notions très différente du langage C qu'il faut un peu de temps pour assimiler.
C'est plus facile si tu maîtrises bien les bases de la programmation procédurale (langage C) avant de te lancer dans la programmation orienté objet (POO).
[01:53:41] <cybevil>
Le 29 avril 2020 à 00:20:58 lostintheworld- a écrit :
(Je suis l'op)Woaw merci beaucoup pour toutes vos réponses , j'ai checké un peu et ça correspond parfaitement à ce que je cherchais !
@cybedevil : Oui c'est ce que je me suis dit aussi pour les bases manquantes, c'est pour ça que j'ai crée le topic pour avoir différentes sources d'informations !
@Suzuka_Nakamoto Dans le cs50 , le python c'est vers la semaine 8 je crois . Et le pseudo code c'est aussi les notes qu'on écrit à côté du code genre ( //blabla ) non ? Sinon la POO c'est quoi exactement ?
Alors mon message va être un peu long
![]()
D'abord le pseudo-code :
ce n'est pas vraiment ça, ce que tu décris toi ce sont les commentaires //blabla
Le pseudo-code ça ressemble à ça :nb1 = 1 nb2 = 2 nb3 = nb1 + nb2 Ecrire nb3 Pour i = 1 Jusqu'à 5 Faire Ecrire "Ceci est la ligne", i FinPour TantQue nb3 != 10 Faire Ecrire nb3 nb3 = nb3 + 1 FinTantQueEn fait c'est juste un langage à part plus compréhensible si tu veux.
Ensuite pour la POO :
On va dire que c'est une autre manière de programmer.
C'est une notion qui n'existe pas en langage C mais qui est présente dans la plupart des langages modernes et qui rend la programmation plus "agréable" ou "intuitive".Par exemple en C tu utilises des fonctions. J'imagine que tu as déjà appris ce que c'est (Un ensemble de ligne d'instruction toutes prêtes que tu peux appeler quand tu veux dans ton programme).
En java ça ne s'appelle pas des fonctions mais dans méthode. C'est un peut plus abstrait.
Donc en POO tu oublies les fonctions et tu utilises des méthodes.
C'est quasiment la même chose, sauf qu'elles sont rattachées à une classe.Du coup une classe c'est aussi un nouveau concept, tu peux voir ça comme un moule d'objet.
Exemple : En POO je peux créer une classe "Chien" qui contient plusieurs variables qu'on appelle attributs.
Dans cet exemple on va dire que Chien contient les attributs : poids, couleur, race.Maintenant que tu as ta classe chiens avec ces attributs, tu peux dans ton programme principal faire un truc comme ça :
Chien elioth = new Chien(21.4, "Noire", "Caniche");
Chien toto = new Chien(15.6, "bleu", "yorkshire");
Tu passes en argument des valeurs (Tu les passe dans le "Moule" Chien) et ça te crée un nouveau chien.
Tu peux imaginer ça comme si tu créais un nouveau personnage dans ton jeuxVidéoMaintenant que tu vois un peu près ce qu'est une classe, revenons aux methodes.
Dans ta classe chien tu peux créer une fonction (qui s'appelle du coup une methode) : aboyer() ou attaquer(),...Ensuite dans ton programme tu pourras faire quelque chose comme elioth.aboyer() ou toto.attaquer()
Pour leur demander de faire des actions.Enfin c'est pas très compliquer, mais c'est des notions très différente du langage C qu'il faut un peu de temps pour assimiler.
C'est plus facile si tu maîtrises bien les bases de la programmation procédurale (langage C) avant de te lancer dans la programmation orienté objet (POO).
Bon bha je pense qu'il a tout dit. Il a plutot bien expliqué la POO mais si tu 'e comprend pas ne t'en fait pas, tu comprendra beaucoup mieux quand tu comprendra la programmation "classique".
Merci pour l'explication cybevil , t'inquiètes c'était pas très long et bien explique . J'pense avoir compris la théorie , après j'vois pas trop l'application mais bon j'verrais ça plus tard
Sinon pour faire la conversation , vous êtes/étudiez dans quel secteur ?
Le 29 avril 2020 à 11:45:47 lostintheworld- a écrit :
Merci pour l'explication cybevil , t'inquiètes c'était pas très long et bien explique . J'pense avoir compris la théorie , après j'vois pas trop l'application mais bon j'verrais ça plus tard![]()
Sinon pour faire la conversation , vous êtes/étudiez dans quel secteur ?
Tant mieux alors, contant d'avoir été clair ![]()
Informatique de gestion pour ma part, en première.
[01:53:41] <cybevil>
Le 29 avril 2020 à 00:20:58 lostintheworld- a écrit :
(Je suis l'op)Woaw merci beaucoup pour toutes vos réponses , j'ai checké un peu et ça correspond parfaitement à ce que je cherchais !
@cybedevil : Oui c'est ce que je me suis dit aussi pour les bases manquantes, c'est pour ça que j'ai crée le topic pour avoir différentes sources d'informations !
@Suzuka_Nakamoto Dans le cs50 , le python c'est vers la semaine 8 je crois . Et le pseudo code c'est aussi les notes qu'on écrit à côté du code genre ( //blabla ) non ? Sinon la POO c'est quoi exactement ?
Alors mon message va être un peu long
![]()
D'abord le pseudo-code :
ce n'est pas vraiment ça, ce que tu décris toi ce sont les commentaires //blabla
Le pseudo-code ça ressemble à ça :nb1 = 1 nb2 = 2 nb3 = nb1 + nb2 Ecrire nb3 Pour i = 1 Jusqu'à 5 Faire Ecrire "Ceci est la ligne", i FinPour TantQue nb3 != 10 Faire Ecrire nb3 nb3 = nb3 + 1 FinTantQueEn fait c'est juste un langage à part plus compréhensible si tu veux.
Ensuite pour la POO :
On va dire que c'est une autre manière de programmer.
C'est une notion qui n'existe pas en langage C mais qui est présente dans la plupart des langages modernes et qui rend la programmation plus "agréable" ou "intuitive".Par exemple en C tu utilises des fonctions. J'imagine que tu as déjà appris ce que c'est (Un ensemble de ligne d'instruction toutes prêtes que tu peux appeler quand tu veux dans ton programme).
En java ça ne s'appelle pas des fonctions mais dans méthode. C'est un peut plus abstrait.
Donc en POO tu oublies les fonctions et tu utilises des méthodes.
C'est quasiment la même chose, sauf qu'elles sont rattachées à une classe.Du coup une classe c'est aussi un nouveau concept, tu peux voir ça comme un moule d'objet.
Exemple : En POO je peux créer une classe "Chien" qui contient plusieurs variables qu'on appelle attributs.
Dans cet exemple on va dire que Chien contient les attributs : poids, couleur, race.Maintenant que tu as ta classe chiens avec ces attributs, tu peux dans ton programme principal faire un truc comme ça :
Chien elioth = new Chien(21.4, "Noire", "Caniche");
Chien toto = new Chien(15.6, "bleu", "yorkshire");
Tu passes en argument des valeurs (Tu les passe dans le "Moule" Chien) et ça te crée un nouveau chien.
Tu peux imaginer ça comme si tu créais un nouveau personnage dans ton jeuxVidéoMaintenant que tu vois un peu près ce qu'est une classe, revenons aux methodes.
Dans ta classe chien tu peux créer une fonction (qui s'appelle du coup une methode) : aboyer() ou attaquer(),...Ensuite dans ton programme tu pourras faire quelque chose comme elioth.aboyer() ou toto.attaquer()
Pour leur demander de faire des actions.Enfin c'est pas très compliquer, mais c'est des notions très différente du langage C qu'il faut un peu de temps pour assimiler.
C'est plus facile si tu maîtrises bien les bases de la programmation procédurale (langage C) avant de te lancer dans la programmation orienté objet (POO).
Très bonne exploitation, j'ai commencé à coder récemment et j'avoue avoir eu un peu de mal avec les classes au début, à comprendre exactement ce que c'était, à comprendre les méthodes de classe et d'instance
Le 28 avril 2020 à 23:51:17 Suzuka_Nakamoto a écrit :
[23:11:32] <Quentaing>
Si tu veux faire de l'algo et pas trop t'emmerder avec la syntaxe, tout en utilisant un vrai langage, tourne toi vers PythonPour le coup je conseillerai pas le python si tu veux faire des etudes d'info (je hais ce langage). Certe tu t'en servira a un moment donné mais c'est plus un langage ludique/pour ceux qui ont besoin de programmer sans etre dev (physiciens, statisticiens etc).
Certe tu travaillera l'algo mais pas plus que dans un autre langage. Je pense que le C est le mieux pour commencer la programmation. Ensuite tu passe au java qui est assez proche pour appréhender la POO.Je suis d'accord avec cybevil sur le pseudo-code. Si tu veux commencer l'algo sans t'emmerder avec la syntaxe des langages tu peux travailler tes algos en pseudo-code.
En gros tu écris ton code comme tu veux, tu te fixe tes propres regles. Si tu veux écrires de simples phrase en français tu peux. Ça aide pas mal a comprendre les bases
Je rejoins cet avis mais je le nuancerais un peu.
Python est vraiment LE langage actuellement, Web back-end/API (avec js/ts), IA, algorithmie et prototypage scientifique, scripting efficace ...
Sa syntaxe épurée est vraiment un gros plus à mon sens quand on a déjà appris les bases. Et ces fameuses bases on les obtient notamment grâce à des langages plus expressifs :
Tu as cité C, Java (je le remplacerais par C# mais question de goût ici).
Pourquoi ?
Tout simplement car le système de typage, de programmation objet sont des notions fondamentales de l'informatique actuelle.
Une personne qui cerne bien ces concepts peut passer à Python en toute sécurité je dirais.
Python joue et tire son essor aussi beaucoup sur les paradigmes récursifs, qui sont pour moi plus avancés dans l'apprentissage.
Une fois une certaine maîtrise de ton domaine acquis, je pense que passer sur Python est vraiment nécessaire que ce soit au niveau temps et prototypage viable.
Par la suite, si tu souhaites vraiment viser la fiabilité et l'optimisation tu resteras sur du c/c++
----------
Concernant le web :
Actuellement, il n'y a plus énormément de site qui n'utilise pas de framework front-end (React.js et toute la clique ...) .
Je pense qu'il est toujours nécessaire de passer par du HTML CSS JS basique pour appréhender les bases du fonctionnement et puis d'ensuite passer sur une techno qui s'inspire de la programmation objet citée ci-dessus.
Côté back-end : tu as l'embarras du choix, chaque techno à son utilité et certaines commencent à montrer leurs faiblesses. Je te déconseille PHP, même si actuellement c'est un des langages web les plus répandus, le langage n'est borné qu'au web, les bons framework requièrent des mois de maîtrise et (c'est mon opinion) mais ce langage va perdre en intérêt au fur et à mesure.
--> si tu es intéressé par le web sémantique : SaGe, SPARQL, Apache Fuseki ...
-------------
Côté logiciel : C#, Java, c++
J'en ai sûrement oublié un paquet mais c'est en tout cas ce que je conseillerais à un débutant.
Après je ne suis pas fan d'apprendre la programmation pour apprendre la programmation, un petit conseil qui te fera monter au dessus du lot serait de te renseigner sur les structures de données et la théorie de complexité algorithmique en informatique. Ces deux notions te permettront de réfléchir de manière optimisée.
Bonne lecture ![]()