Est-il possible de se spécialiser en informatique à l’université sans expérience préalable en CS et en programmation ?


Tout le monde devrait fondamentalement dire cela, facilement la moitié ou plus des étudiants de première année en majeure CS ont zéro compétence en codage et parfois c'est bien.

Pour vous aider:


1) Assurez-vous que vos compétences en mathématiques sont à la hauteur. Révisez un manuel d'algèbre II et de précalc et, si le temps le permet, un manuel de statistiques et de probabilités de base - C'EST IMPORTANT. Aussi, un manuel de logique court mais très bien revu (comme celui utilisé dans l'introduction à la logique pour les cours de philosophie ou si vous voulez un livre plus long mais pas super pas qui a été écrit par un informaticien sur la logique et la théorie des ensembles pour les majors CS et Math, essayez "How To Prove It." C'est génial.)


Une autre lecture courte, mais géniale pour les futurs majors CS, Math, Physique et Econ qui aidera à présenter quelques maths discrètes (le premier cours de maths de la majeure CS que vous prendrez) s'appelle "Principles of Mathematics" par Allendoerfer et Oakley. Il couvre tout depuis la logique de base et les preuves, la révision de la pré-calc de base, la théorie des ensembles et des groupes, la théorie des graphes, la probabilité théorique des ensembles, et la calc différentielle et intégrale de base et c'est une grande lecture et ancienne donc ce sera bon marché - si vous passez 1 à 2 heures par jour, et avez un solide fond de pré-calc alors en un mois vous devriez le passer et si vous avez commencé à coder, vous commencerez probablement déjà à voir certaines des choses utiles que la théorie des nombres et la combinatoire (trucs mathématiques) peuvent faire pour vous.


Vous voyez mon point cependant : Solidifier les mathématiques et et gagner des compétences en logique tout en élargissant les connaissances en Stats/Probabilité et se concentrer sur la compréhension et l'intuition, pas sur l'apprentissage par cœur ou la mémorisation. Les livres que j'ai suggérés aident à forcer cette dernière idée sur vous.

2) Prenez un livre Python ou JavaScript très court et très bien évalué (Python dans l'opinion de la plupart des gens, y compris la mienne, est vraiment facile à commencer, syntaxe très simple, très populaire, et pas effrayant comme les langages basés sur C) sur Amazon- ASSUREZ-VOUS QU'IL EST COURT. N'essayez pas de le maîtriser, mais écoutez les principes de base pour ne pas prendre de mauvaises habitudes comme le formatage, les commentaires ou la force brute. Trouvez simplement des termes et des idées et voyez que ce n'est pas magique. Cela n'en aura pas l'air à partir d'un petit livre d'introduction, mais après vos cours de CS1 et CS2 et les maths discrètes, quand vous toucherez aux algorithmes, vous verrez pourquoi la logique et les maths rendront la conception de votre code tellement meilleure de toutes les manières possibles (bien plus important que de l'écrire, car dans la vraie vie, un informaticien est vraiment comme un ingénieur, ils font un peu de codage, mais beaucoup du "travail pas important, mais grunt-ish qui a été énoncé par le Comp Sci" est fait par les codeurs.

"Python the Hard Way" par Shaw ou "Python Crash Course :..." par Matthes sont de très bons choix mais pour python il y a BEAUCOUP DE GRANDS CHOIX. Assurez-vous simplement qu'ils sont courts. Apprendre chaque concept de programmation n'est pas le but, s'habituer à écrire des programmes simples et des concepts de base l'est car cela signifie que vous pouvez vous concentrer sur des choses plus complexes en classe, écrire des programmes plus concis, etc.

3) Travaillez sur vos compétences de dactylographie, arrive à 80 WPM AU MOINS avec une technique appropriée, essayez d'avoir un objectif de technique appropriée à trois chiffres. Essayez d'apprendre quelques compétences de base LaTex (google, pas besoin de le maîtriser).

4) Apprenez MS Office (Excel principalement, apprenez beaucoup sur les fonctions, il n'est pas directement lié au codage, mais il a des concepts qui aident et une belle interface graphique) et Chrome, y compris les raccourcis. Apprenez également les commandes spéciales de Google comme -X qui exclura X de vos résultats ou site:X qui recherchera uniquement le site Web X. Apprenez autant de raccourcis de Windows et, idéalement, de Linux aussi. En outre, apprenez les bases de l'invite de commande Windows et les bases du shell Linux, faites quelques recherches sur Google à ce sujet et il y aura des TONNES d'informations.

5) Apprenez la dernière version de Windows et un distro (édition) populaire de Linux (un système d'exploitation comme Windows mais bien meilleur et la plupart des majors CS finiront par l'utiliser). Ubuntu est populaire, mais il y en a d'autres qui sont faciles aussi, une simple recherche google de quelque chose comme "meilleure distro linux pour l'utilisateur de Windows" ou quelque chose qui aidera.

6) Idéalement, parce que cela vous aidera avec la terminologie, essayez de prendre un auto-apprentissage ou un basé en ligne s'il n'y a pas de cours en personne (un collège communautaire local en offrira presque sûrement un, peut-être sous un nom différent, alors demandez autour de vous) CompTia A+ cours de certification- il vous enseignera le matériel d'un ordinateur, les bases du logiciel , la mise en réseau et les bases de la sécurité (il est professionnel, donc pas de codage ou quoi que ce soit). Aussi, si le temps le permet, prenez ou étudiez pour les cours Network+ et/ou Security+ aussi bien parce qu'ils vous donneront autant de connaissances sur les ordinateurs au top 15% des étudiants.

Vous devriez réaliser ce billet de blog, Ce que chaque major en informatique devrait savoir.

Sachez simplement que même le fait de connaître un dixième de ce qui précède sera super utile, mais vous finirez par en ramasser beaucoup au cours de vos études et plus vous en apprenez maintenant, non seulement vous améliorez vos compétences d'auto-apprentissage et de recherche (clé pour un informaticien quand on vous donne, disons, un nouveau projet ou un nouvel emploi et qu'on vous dit d'apprendre le langage F# en une semaine ou Ruby alors que vous avez utilisé JS, VB.net, C++, C#, Python et Matlab ainsi que SQL toute votre carrière ou toute votre vie scolaire ; ou que l'on vous donne une toute nouvelle API géo à intégrer à un projet, mais que vous ne connaissez pas la moindre chose sur les cartes.

Souvenez-vous aussi de ceci :
"Que voudrions-nous que nos enfants - le grand public de demain - apprennent de l'informatique à l'école ? Nous devons en finir avec le mythe selon lequel l'informatique concerne les ordinateurs. L'informatique ne concerne pas plus les ordinateurs que l'astronomie ne concerne les télescopes, la biologie ne concerne les microscopes ou la chimie ne concerne les béchers et les tubes à essai. La science n'est pas une question d'outils, mais de la façon dont nous les utilisons et de ce que nous découvrons lorsque nous le faisons." - Michael R. Fellows, Ian Parberry (1993), "SIGACT essaie d'enthousiasmer les enfants pour la CS".

***** Si vous révisez et essayez de maîtriser un livre de précalc, avez pris des calc à un moment donné (même si vous ne l'avez pas maîtrisé, mais avez fait bien), regardé un livre de logique ou idéalement How to prove it, et le livre d'Allendoerfer et êtes très, très courageux et voulez être un bon en calcul, obtenez vraiment une preuve et la logique puis essayez Calculus par Spivak il est techniquement pour quelqu'un sans preuves ou l'expérience de calcul mais il est difficile, il a été ou est encore MITs, Ann Arbors, Notre Dame et plusieurs autres de haut niveau introduction maths texte honors pour calcule à une variable. Cependant, si vous n'avez pas le temps, sautez-le, je doute vraiment que beaucoup de majors en maths l'aient déjà touché avant d'entrer à l'université.