1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    octobre 2013
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : octobre 2013
    Messages : 267
    Points : 154
    Points
    154

    Par défaut Développer ses compétences en conceptions et/ou résolution d'algorithmes

    Salut à tous !

    J'imagine que beaucoup d'entre vous ici, aspirent à devenir de grands développeurs (personnellement c'est mon cas ) et je pense ne pas me tromper en disant que l’algorithmique est une composante incontournable pour atteindre cet objectif
    C'est pourquoi je m’intéresse particulièrement à trouver un moyen de développer efficacement sa réflexion en matière d'algorithmes, que ce soit pour leur conception ou leur compréhension (selon moi, comprendre un algorithme permet de raffiner sa logique afin de mieux en concevoir)

    Que pensez-vous de cette démarche ?
    Et quelle serait, selon vous, la meilleure manière de développer cette aptitude à concevoir des algorithmes complexes ?

    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de yahiko
    Homme Profil pro
    Ninja
    Inscrit en
    juillet 2013
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ninja

    Informations forums :
    Inscription : juillet 2013
    Messages : 1 137
    Points : 6 452
    Points
    6 452
    Billets dans le blog
    43

    Par défaut

    Les compétences en algorithmique ne sont pas tant que ça sollicitées dans les projets informatiques dit d'entreprise.
    Après, si tu t'orientes dans des filières beaucoup plus pointues techniquement (jeux vidéos, recherche, ingénierie), là, ça pourra éventuellement te servir.
    Mais pour le quotidien du développeur, c'est davantage les capacités d'intégration des diverses bibliothèques, frameworks ou technologies qui sont utiles. Les besoins de développer un algorithme pointu sont assez restreints.
    Par contre, avoir une connaissance d'un large éventail d'algorithmes, de savoir quand les utiliser, de connaître leurs avantages et leurs inconvénients par rapport à d'autres est utile. Mais pas vraiment de créer ex-nihilo un algorithme révolutionnaire. Sauf si tu te destines à la recherche universitaire.

    Cependant, pour répondre à ta question, je pense que rien ne remplace la pratique. Implémente-toi même les algos, ne te contente pas de lire le pseudo-code dans les bouquins ou les cours en ligne, fait les tourner, essaie de trouver diverses implémentations d'un même algorithme dans différents langages, etc. Bref, il n'y a pas de recette magique, il faut juste bosser comme partout.
    Tutoriels et FAQ TypeScript

  3. #3
    Membre expert
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mai 2002
    Messages
    2 423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : mai 2002
    Messages : 2 423
    Points : 3 805
    Points
    3 805

    Par défaut

    bonjour,

    je ne suis pas tout à fait d'accord avec yahiko. L'optimisation fait parti de l'algorithmie
    la modélisation d'un système en fait aussi parti ...
    chaque programme utilise l'algorithmie sans vraiment le savoir
    le définition de l'algorithmie est :
    " Étude de la résolution de problèmes par la mise en œuvre de suites d’opérations élémentaires selon un processus défini aboutissant à une solution."
    après il existe des algorithmes "standard"
    exemple : le trie ,la compression ...
    mais pour chaque problème une solution et celle-ci n'est pas forcement standard

    Le seul moyen de progresser est d’être curieux de lire et de déchiffrer tout les algorithme déjà existant quitte à reprogrammer les algos pour bien les assimiler.
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  4. #4
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    décembre 2013
    Messages
    1 352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : décembre 2013
    Messages : 1 352
    Points : 2 876
    Points
    2 876

    Par défaut

    Reprogrammer les algos pour bien les assimiler.

    Oui. Dans cette optique là, oui. Bien comprendre tel algorithme et savoir le reproduire, ou savoir l'inventer par soi-même, ça permet de développer une certaine intelligence. Et c'est toujours utile.

    Mais dans la vraie vie, il faut aussi éviter de réinventer la roue. Et il faut souvent savoir que pour tel ou tel problème, il y a déjà des gens qui ont solutionné ce problème, et soit les algorithmes sont disponibles, soit des librairies sont disponibles et optimisées.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    septembre 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : septembre 2006
    Messages : 102
    Points : 109
    Points
    109

    Par défaut

    Bonjour,

    Les sites suivants proposent des exercices algo/prog de tous niveaux.
    http://www.spoj.com/
    http://uva.onlinejudge.org/
    https://www.codechef.com/

    Cordialement.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    février 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : février 2013
    Messages : 22
    Points : 23
    Points
    23

    Par défaut Réponse

    Invente des problèmes complexes.
    Détaille par écrit la suite des opérations à effectuer pour les résoudre.
    Transcris ces opérations dans n'importe quel langage
    Fais tourner
    Inventer...C"est le problème

Discussions similaires

  1. Développer ses applications Web avec Opa
    Par Lattesm dans le forum Communiqués
    Réponses: 2
    Dernier message: 06/03/2015, 13h24
  2. Compétences en Conception/Prototypage en SSII?
    Par Bountyx dans le forum SSII
    Réponses: 3
    Dernier message: 04/05/2011, 07h37
  3. Réponses: 9
    Dernier message: 28/07/2006, 17h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo