J'ai plongé mes orteils dans la programmation C ++ mais je n'y ai pas vraiment plongé. Je veux savoir si j'ai vraiment besoin de l'apprendre ou d'autres langues avant d'aller à l'université pour le génie informatique ou est-ce que je vais juste l'apprendre à l'école de toute façon?
14
Réponses:
Oui, pour plusieurs raisons.
la source
En tant que diplômé CS moi-même (BS, MS, PhD), je vous recommande de vous mouiller les pieds dès que possible. Vous aurez suffisamment d'autres choses en cours pendant votre première année de collège. En particulier pour la programmation:
Consultez le site Web de votre université cible et consultez le catalogue des classes de la division inférieure ou la page Web du programme des instructeurs pour les cours de programmation d'introduction. Recherchez le langage de programmation enseigné et voyez quel genre de choses sont couvertes dans la première classe. Essayez de lire ce matériel avant de commencer.
Encore une fois, en regardant la page du programme de classe, regardez les affectations de programmation précédentes et voyez quel type d'outils de programmation logicielle et d'environnement sont utilisés. Est-ce vi et gcc (c'est ce que les vrais hommes utilisent)? Microsoft Visual Studio? Éclipse? Essayez d'utiliser ces outils avant de commencer.
La programmation de logiciels n'est qu'une des choses enseignées dans un programme CS. D'autres sont des algorithmes (par exemple QuickSort), des structures de données (arbres, listes chaînées, tables de hachage) et de la théorie pure (exhaustivité NP et logique d'ensemble). Je dirais que ceux-ci sont au moins aussi importants que le langage de programmation que vous apprenez.
la source
Cela dépend du collège. Quand j'ai étudié ce qu'ils appellent "l'informatique" à la California State University, ils (à juste titre, à mon avis) se sont concentrés sur l'aspect scientifique de cela, et ils s'attendaient à ce que tout le monde (même les étudiants de première année) sache déjà comment utiliser les systèmes d'exploitation et comment écrire du code dans un langage populaire. Ils n'ont pas accepté de transférer certains crédits que j'avais acquis en suivant des cours de langue dans une université d'État de l'Ohio. (C'était une déception pour moi, mais encore une fois, je le comprends.) Cela avait aussi un avantage: j'ai terminé une tâche une fois, en écrivant mon code en C; le professeur ne pouvait pas lire le C, il m'a donc demandé de le réécrire en Pascal. J'ai interrogé le chef du département sur le bien-fondé de cette demande et il a répondu que, comme ils n'enseignent pas les langues, ils ne peuvent pas non plus s'attendre à ce que quiconque termine une mission dans une langue spécifique. Mon professeur a donc dû vivre avec mon devoir écrit en C. Donc, l'essentiel est de vérifier avec l'université où vous allez aller. Mais si vous voulez mon avis, ça ne fait jamais de mal d'apprendre autant que possible au préalable.
la source
Si vous devez vous demander si vous devez apprendre un langage de programmation en premier lieu, demandez-vous si c'est vraiment ce que vous voulez faire. La plupart des premières années en informatique sont déjà sacrément bonnes en programmation avant même de commencer, vous serez donc en concurrence avec les types qui tendent naturellement vers le geek. Sautez dedans la tête la première ou faites autre chose que vous aimez. Ne soyez pas sur la clôture. Aime ce que tu fais. Je n'ai pas besoin ni envie de voter pour celui-ci, je veux juste vous parler directement.
la source
Je ne pense pas que vous ayez besoin de l'apprendre avant d'aller à l'université. Cependant, je crois que comme la plupart des choses dans la vie, si vous êtes préparé avant d'assister à un événement, etc., vous êtes plus susceptible de prendre des décisions éclairées sur les informations à absorber et les informations à jeter.
Plus précisément, en plongeant au moins vos orteils, vous pourrez peut-être écouter ce que vos conférenciers disent plutôt que de simplement copier ce qu'ils disent textuellement mais pas réellement absorber les concepts qu'ils essaient de faire passer, ce qui, à mon avis, est le plus important une partie de l'université (pas la partie de la syntaxe d'apprentissage d'une langue, etc.).
Quant au langage de programmation à apprendre. Peu importe probablement, mais pourrait être utile pour commencer à lire ceux que vous êtes susceptible de couvrir au cours de votre première année.
Cependant, le revers de la pré-formation est que lorsque vous arrivez à vos premiers mois, vous pouvez trouver les conférences ennuyeuses et élémentaires. Cela pourrait alors vous conduire à ne pas assister aux cours ou à ignorer ce que les enseignants tentent de faire passer, ce qui fait que manquer des informations essentielles telles que réaliser que vous avez réellement appris quelque chose n'est pas la bonne façon, c'est-à-dire que vous avez appris une mauvaise habitude avant d'aller à l'université.
En fouillant déjà sur ces types de sites, vous êtes probablement déjà sur la bonne voie pour avoir une longueur d'avance et ainsi aider votre apprentissage au collège. Quoi qu'il en soit, ce que vous pré-apprenez ne sera probablement que la pointe de l'iceberg. Vous aurez besoin de poursuivre cette courbe d'apprentissage dans et hors du matériel collégial si vous voulez continuer à bénéficier des avantages qu'il peut apporter.
la source
Oui, mais ne commencez pas avec la langue la plus compliquée, il y aura beaucoup de temps pour cela plus tard.
Commencez par quelque chose de simple pour vous mouiller les pieds. Il est beaucoup plus facile de comprendre les concepts de programmation lorsque vous n'êtes pas gêné par le langage lui-même. De même, certaines langues font mieux que d'autres.
Apprenez Python pour la programmation dynamique, les techniques de programmation orientées objet simples et l'indentation appropriée. Apprenez javascript + JQuery ou Lua pour en savoir plus sur les fermetures. Apprenez Java ou C # pour en savoir plus sur la frappe statique. Apprenez les expressions régulières pour l'analyse de chaînes. Et apprenez un peu SQL puisque chaque programmeur doit toucher une base de données à un moment donné. Apprenez ensuite PHP pour identifier le code spaghetti.
Cette liste peut varier, mais choisissez essentiellement quelques langues amusantes et utilisez-les pour apprendre des concepts . Par la suite, vous apprendrez à être adaptatif, plutôt que de stagner sur une seule langue pour le reste de votre vie et d'essayer avec colère de la défendre sur Internet tout le temps.
la source
Je vais dire que je ne pense pas que la langue que vous connaissez vous importera trop, mais cela vous donnera probablement un avantage en ce sens que lorsque vous obtenez votre première affectation de programmation, vous n'avez pas pour lutter contre le problème de la pensée en termes de code - vous y aurez déjà une certaine expérience. Une courbe d'apprentissage en moins à surmonter est une bonne chose. Bonus si vous apprenez la langue qu'ils enseignent dans votre première année, mais pas nécessaire.
la source
Vous ne saurez pas si le génie informatique est vraiment le programme d'études approprié pour vous tant que vous n'aurez pas au moins découvert à quel point il est difficile ou facile de trouver la programmation, ainsi que votre niveau de compétence. La seule façon de vraiment savoir est d'essayer d'apprendre au moins un langage de programmation et de faire beaucoup de codage dès que possible.
la source
Certaines choses que vous pourriez être intéressé à apprendre avant d'aller à l'université (choisissez parmi elles):
Je ne recommanderai pas de me concentrer de manière étroite sur C ++; d'autres langues, livres, compétences vous apporteront beaucoup plus. Ne dépensez pas tous vos efforts en C ++.
Profitez de votre apprentissage.
la source
Honnêtement, si vous en avez le temps. IL aura plus de sens pendant que l'enseignant enseigne. Vous en tirerez le meilleur parti que les étudiants qui n'ont jamais programmé.
la source
Absolument! Si vous n'avez pas programmé auparavant, l'apprentissage de C ++ ou C ou Java ou C # vous permettra de démarrer du bon pied. Toutes ces langues sont basées sur Algol (à peu près) - une fois que vous en avez appris une, apprenez le lisp ou le haskell. Le formidable changement de paradigme entre les deux familles vous aidera, peu importe ce que vos cours impliquent.
la source
Personnellement, je le recommanderais. Cela ne s'appliquera pas à toutes les écoles, mais je suis allé dans ce qui est considéré comme une très bonne école d'ingénieurs et les cours de programmation d'introduction étaient horribles. Connaître les bases vous aidera à éviter de nombreuses mauvaises pratiques / connaissances incorrectes qui pourraient vous être enseignées. Et comme une autre réponse l'a mentionné, vous parcourrez ces classes d'introduction à la programmation faciles pendant que d'autres ont du mal. Et si vous êtes comme moi, cela vous donne plus d'occasions d'aider vos amis qui se débattent eux-mêmes.
la source
Je pense que tu devrais. Outre les raisons avancées par d'autres ici, j'ajouterais que beaucoup de professeurs d'université ne sont pas très bons à enseigner et que vous ne pouvez donc pas compter sur eux pour enseigner très bien ce que vous apprenez. Vous comprendrez beaucoup mieux ce qu'ils disent si vous avez déjà une compréhension des bases.
De plus, le rapport entre le matériel de cours et le temps de classe est souvent trop élevé dans les universités, donc même lorsque le professeur est un enseignant décent, il ne peut pas vous enseigner efficacement pendant le temps de classe disponible. Ainsi, toute connaissance acquise à l'avance vous aidera à suivre le rythme rapide de la classe.
IMO C ++ est l'un des pires langages pour les débutants. Allez-y et étudiez le C ++ si vous ne le trouvez pas trop difficile, mais d'autres langages tels que C #, VB, Ruby ou Python sont un peu plus faciles.
la source
Ce serait une décision très intelligente de connaître une langue avant d'entrer à l'université. L'enseignement collégial en informatique est souvent d'une piètre qualité, dispensé par des assistants non formés ou qui ne parlent pas anglais. Les cours d'introduction ne sont pas une priorité et une mauvaise instruction est la règle. Les universités font de l'argent sur les frais généraux des subventions; l'obtention de subventions est la priorité de la plupart des professeurs d'université, pas d'enseigner au premier cycle. C'est une triste règle à quelques exceptions près.
Cependant, la qualité des programmes dans les écoles secondaires peut aussi être médiocre. De nombreuses administrations scolaires pensent que la formation à l'utilisation de Micosoft Word est une science informatique. Ah, le non-sens qui émane des écoles ed!
J'aimerais pouvoir être plus optimiste. Si vous avez un bon programme compsci dans votre lycée, accrochez-vous. Allez au-delà des limites et soyez agressif à propos de l'apprentissage. Si vous êtes assez entreprenant, il n'est pas difficile de vous enseigner le Python et d'acquérir des compétences. Une fois que vous l'avez appris, apprendre d'autres langues n'est pas si difficile. La grammaire simple de Python facilite son apprentissage.
la source
Oui.
Lequel vous devez apprendre dépend de ce que signifie «génie informatique». C'est un terme assez non standard. Là où j'ai étudié, c'était une combinaison d'électronique et d'informatique.
Si vous vous attendez à travailler principalement avec du matériel informatique, je vous suggère d'apprendre C et Forth. Si vous allez principalement faire ce que je considérerais comme "l'informatique", je suggérerais d'apprendre quelque chose comme Python ou Smalltalk afin d'essayer le "vrai travail" et un langage de programmation fonctionnel de votre choix (je suggérerais une variante de lisp ou schéma, mais choisissez ce qui est le plus facile et le plus cool).
la source
Je partagerai ma propre expérience.
J'ai commencé à programmer il y a environ 10-11 mois. Ma première vraie exposition a été avec PHP, mais après, je me suis retrouvé à apprendre le C # dans un cours d'introduction (CS 140) à mon collège communautaire local. Après avoir appris les bases, j'ai pratiquement volé avec et je n'ai pas arrêté depuis. Après C #, j'ai décidé de commencer à apprendre la mécanique de niveau inférieur du fonctionnement des ordinateurs. Je travaille sur une application qui est censée être multi-plateforme, et qui est censée aider les moteurs de jeux vidéo à interagir les uns avec les autres (similaire à SDL, mais peut-être un niveau plus bas que cela, avec un accent strict sur l'interface graphique, les mathématiques et d'autres fonctions d'assistance).
En gros, sans ce cours, je n'aurais trouvé ce que j'aimais que bien plus tard. Vous ne savez pas vraiment que vous aimez la programmation tant que vous ne comprenez pas vraiment les concepts qui la sous-tendent. Si vous voulez le savoir, je vous recommande de choisir une introduction au livre de programmation et de commencer par C / C ++ car vous devez comprendre ce que vous faites, plutôt que d'utiliser un langage qui vous tiendra la main comme Java ou C # ou juste un langage de script - attention, ceux-ci ont leur place et sont de bons outils à utiliser, mais il est également très impératif que vous compreniez les concepts de niveau inférieur au début. C'est une erreur que j'ai commise au début.
Après cela, continuez la programmation si vous l'appréciez. Sinon, apprenez autre chose. Quoi que vous décidiez de faire, vous devriez y consacrer autant de temps que possible avant de fréquenter une université de 2 à 4 ans pour l'apprendre, car cela vous gardera VRAIMENT en avance sur le jeu. Cela montrera également la motivation de tout employeur qui pourrait potentiellement vous embaucher.
Je peux vous dire que les disciplines de l'informatique / génie électrique sont de loin les plus rapides en termes de taux d'évolution (qui continuent d'augmenter d'année en année), et vous allez devoir continuer à apprendre de nouvelles technologies pour suivre ce qui est le plus récent et le plus grand (que vous devriez trouver au moins quelque peu intéressant, même si cela dépend vraiment du domaine d'expertise dans lequel vous vous spécialisez. Par exemple, je déteste la programmation Web et je ne suis pas du tout intéressé par les technologies qui existent pour cela, mais certaines personnes l'apprécient vraiment et s'y intéressent). Malgré cela, le C / C ++ sont d'excellents langages à apprendre car, tandis que de nombreux autres langages (par exemple C #, Java), ont leurs propres API prédéfinies pour "rendre la vie plus facile", vous n'allez rien apprendre de ce qui se passe réellement sous le capot jusqu'à ce que vous "
En gros, je programme depuis 10-11 mois et je n'ai pas du tout fréquenté l'université. J'ai pris un cours de C # dans un collège communautaire (mon premier cours de programmation, qui m'a appris les principes fondamentaux), et au moins 95% du reste, j'ai appris par moi-même. En effet, après avoir suivi ce cours, je savais que je voulais être programmeur. Vous le saurez une fois que vous l'aurez compris. Quel que soit le chemin que vous choisissez, vous devriez l'étudier de manière indépendante si vous voulez vraiment réussir, car cela augmente votre aptitude à la motivation et à l'engagement. Un programmeur aêtre motivé pour réussir. Ils traitent beaucoup, plus que simplement "écrire du code". Une application doit constamment être testée, déboguée et comprise à partir de zéro. Généralement, petits ou grands, vous allez presque apprendre quelque chose de nouveau pour chaque projet que vous entreprenez. C'est une bonne chose, car vous devez garder ce cerveau actif.
la source