Devo aprender uma linguagem de programação antes de frequentar a faculdade de Engenharia da Computação? [fechadas]


14

Eu mergulhei meus dedos na programação C ++, mas na verdade não mergulhei nela. Quero saber se realmente preciso aprender ou qualquer outro idioma antes de ir para a faculdade de Engenharia da Computação ou se vou aprender na escola?


Eu diria que você definitivamente não precisa, mas não faria mal a todos. Antes de começar minhas aulas de CS, nunca fiz nenhuma codificação e nem sabia o que era C ++ e a classe estava em C ++.
pllee

3
... Mesmo se você aprender lá de qualquer maneira, isso significa apenas uma aula fácil. Portanto, não há razão para não aprender isso agora ...
Izkata

Isso pode ajudá-lo a descobrir se você tem o apptitude e / ou interesse em programar.
Jeffo

Você fez esta pergunta em programmers.stackexchange.com. Você realmente esperava outra resposta além de "sim, aprenda C ++ antes de ir para a faculdade"?
Martin Thoma

@moose, feche como uma duplicata.

Respostas:


48

Sim, por várias razões.

  1. Quanto mais cedo você começar a obter experiência com o campo, mais cedo será capaz de descobrir se esse é o campo em que você deve se especializar. Se você não gosta de programação, a Engenharia de Computação provavelmente não é um bom campo para se formar. Mesmo se você estiver interessado principalmente em projetar CPUs, você estará fazendo MUITA programação.
  2. A maioria das pessoas acha que o nível e a quantidade de trabalho que eles esperam na faculdade excedem em muito o que estão acostumados no ensino médio. A menos que você seja excepcionalmente talentoso, você se sentirá martelado pelo trabalho. Faça um favor a si mesmo: descubra qual idioma é usado para o ensino do primeiro ano do curso e comece a aprender agora. Na pior das hipóteses, você ficará um pouco entediado na turma, mas poderá concluir o trabalho mais rapidamente e usar o tempo economizado para as outras turmas.
  3. Muitas classes são classificadas em uma curva. A desvantagem disso é que você estará competindo com seus colegas de classe por notas. Muitos de seus colegas estudantes de engenharia da computação já fizeram muita programação; portanto, você já deve estar atrasado. Este é um bom momento para começar a se atualizar.
  4. A única maneira de ficar bom em programação é fazer muito disso. Quanto mais tempo você gastar em programação nos próximos anos, melhor será. Quanto mais experiência você tiver, maior a chance de ter estágios e empregos.

7
+1 Para começar agora a facilitar no futuro #
Andy Hunt

Pode-se também pular duas aulas (tipicamente introdução à programação e introdução às estruturas de dados) enquanto estiver na faculdade, se elas foram feitas no HS. Ter menos aulas para fazer significa possivelmente menos dinheiro para gastar ou pelo menos mais tempo de reserva. Os programas CSE podem ser muito rígidos - por exemplo, você pula uma aula significa que você fica para trás um ano. Ter um buffer ajudaria. Pode-se sempre ter aulas extras de pós-graduação ou pegar um menor.
Job

Se você acabar sendo excepcionalmente fluente na linguagem de programação ensinada no momento em que faz uma aula de programação introdutória, considere se sua instituição possui uma política de "crédito por exame" que você pode usar para testá-la. Isso pode economizar um pouco de tempo (mas apenas se você for excepcionalmente fluente no idioma).
In silico

7

Como graduado em CS (BS, MS, PhD), eu recomendaria que você molhasse os pés o mais rápido possível. Você terá bastante outras coisas acontecendo no seu primeiro ano de faculdade. Especialmente para programação:

  • Consulte o site da universidade de destino e consulte a página do catálogo de classes da divisão inferior ou o programa do instrutor para obter aulas de programação introdutórias. Procure a linguagem de programação que está sendo ensinada e veja que tipo de coisas são abordadas na primeira aula. Tente ler esse material antes de começar.

  • Novamente, olhando a página do programa da turma, observe as atribuições de programação anteriores e veja que tipo de ferramentas e ambiente de programação de software estão sendo usados. É vi e gcc (é isso que os homens de verdade usam)? Microsoft Visual Studio? Eclipse? Tente usar essas ferramentas antes de começar.

  • A programação de software é apenas uma das coisas ensinadas em um currículo de CS. Outros são algoritmos (por exemplo, QuickSort), estruturas de dados (árvores, listas vinculadas, tabelas de hash) e pura teoria (completabilidade de NP e lógica de conjunto). Eu diria que estes são pelo menos tão importantes quanto qualquer linguagem de programação que você aprende.


+1 para não apenas lendo sobre linguagens de programação
Andy Hunt

4

Depende da faculdade. Quando estudei o que eles chamam de "Ciência da Computação" na California State University, eles (com razão, na minha opinião) se concentraram no aspecto científico e esperavam que todos (até os novatos) já soubessem usar sistemas operacionais e como escreva código em algum idioma popular. Eles não aceitaram transferir alguns créditos que eu havia ganho enquanto participava de cursos de idiomas na Universidade Estadual de Ohio. (Isso foi uma chatice para mim, mas, novamente, eu entendo.) Isso também teve uma vantagem: completei uma tarefa uma vez, escrevendo meu código em C; o professor não sabia ler C, então me pediu para reescrevê-lo em Pascal. Perguntei ao chefe do departamento sobre a legitimidade desse pedido e ele disse que, como eles não ensinam idiomas, eles também não podem esperar que alguém conclua uma tarefa em qualquer idioma específico. Então, meu professor teve que viver com minha tarefa escrita em C. Então, o resultado final é verificar com a universidade para a qual você estudará. Mas se você quiser o meu conselho, nunca é demais aprender o máximo possível de antemão.


2
E o C ++ é uma boa opção para uma linguagem, se você estiver estudando alguma das disciplinas de engenharia, porque com o C ++ você pode aprender a programar perto da máquina e, ao mesmo tempo, pode começar a aprender OOP.
quer

Obrigado, liguei para a escola (Universidade de Illinois) e eles me disseram que geralmente os alunos têm um pouco de compreensão do idioma e que eu deveria aprender o máximo possível antes de chegar à escola. Obrigado pelo seu conselho.
23411 Matt

Ótimo. Tente também se familiarizar com a linha de comando do Linux, se puder; esse conhecimento geralmente é útil em ambientes universitários. É melhor ser quem mostra a outras pessoas no laboratório de informática como as coisas são feitas, do que ser o cara que sempre pergunta aos outros.
quer

4

Se você tiver que questionar se deve aprender uma linguagem de programação em primeiro lugar, pergunte a si mesmo se é realmente o que você deseja fazer. A maioria dos primeiros anos em ciência da computação já é muito boa em programação antes mesmo de começar, então você estará competindo contra os tipos que naturalmente tendem para o nerd. Ou pule na cabeça primeiro ou faça outra coisa que você ama. Não fique em cima do muro. Ame o que você faz. Eu não preciso ou quero um voto para este, só quero falar diretamente com você.


1
Eu alteraria isso para dizer "a maioria dos estudantes de ciência da computação bem-sucedidos, no primeiro ano". Quando eu estava na faculdade (e mais tarde na pós-graduação), havia um número alarmante de estudantes de CS que não sabiam a primeira coisa sobre o uso de computadores, mas eles acabaram de ouvir que CS era onde estava todo o dinheiro. A maioria deles mudou de nível, depois de ficar muito irritada com os instrutores que não disseram o que digitar.
fluffy

Eu era um desses noobs e me tornei muito bem sucedido. No entanto, eu tive que realmente me esforçar tanto para fazer isso com aqueles atletas nerds começando do nada. Se eu não estivesse em uma situação em que tivesse que ganhar dinheiro para o meu filho, não teria me esforçado tanto. Acabei adorando como eu o entendi mais.
Jason Sebring

3

Eu não acho que você precise aprender antes de frequentar a faculdade. No entanto, acredito que, como a maioria das coisas na vida, se você estiver pré-preparado antes de participar de algum evento, etc., provavelmente será mais capaz de tomar decisões informadas sobre quais informações absorver e quais informações descartar.

Mais especificamente, pelo menos mergulhando os dedos dos pés, você poderá ouvir o que seus palestrantes estão dizendo em vez de apenas copiar o que eles dizem literalmente, mas não absorver os conceitos que eles estão tentando transmitir, o que, na minha opinião, é o mais importante parte da universidade (não a sintaxe realmente de aprendizado, parte de um idioma etc.).

Quanto a qual linguagem de programação aprender. Provavelmente não importa, mas pode ser útil começar a ler sobre os que você provavelmente abordará em seu primeiro ano.

No entanto, o outro lado da pré-aprendizagem é que, quando você chegar aos seus primeiros meses, poderá achar as aulas chatas e elementares. Isso pode levar você a não assistir às aulas ou descartar o que os palestrantes estão tentando transmitir, perdendo algumas informações vitais, como perceber que a maneira como você realmente aprendeu algo não é o caminho certo, ou seja, você aprendeu um mau hábito antes de frequentar a faculdade.

Ao explorar esses tipos de sites, você provavelmente já faz parte do caminho para estar um passo à frente e, portanto, ajuda seu aprendizado durante a faculdade. De qualquer forma, o que você aprende provavelmente será apenas a ponta do iceberg. Você precisará continuar essa curva de aprendizado dentro e fora do material da faculdade, se quiser continuar com os benefícios que ele pode proporcionar.


2

Sim, mas não comece com o idioma mais complicado, haverá muito tempo para isso mais tarde.

Comece com algo simples para molhar os pés. É muito mais fácil entender os conceitos de programação quando você não está sendo sobrecarregado pela própria linguagem. Da mesma forma, alguns idiomas fazem as coisas melhor que outros.

Aprenda Python para programação dinâmica, técnicas simples de programação orientada a objetos e recuo adequado. Aprenda javascript + JQuery ou Lua para aprender sobre fechamentos. Aprenda Java ou C # para aprender sobre digitação estática. Aprenda expressões regulares para análise de strings. E aprenda um pouco de SQL, já que todo programador precisa tocar em um banco de dados em algum momento. Então aprenda PHP para poder identificar o código do espaguete.

Essa lista pode variar, mas basicamente escolha algumas linguagens divertidas e use-as para aprender conceitos . Posteriormente, você aprenderá a se adaptar, em vez de ficar estagnado em um idioma pelo resto da vida e com raiva tentando defendê-lo na internet o tempo todo.


1

Vou dizer que acho que não importará muito qual idioma você conhece quando inicia, mas provavelmente lhe dará uma vantagem no sentido de que, quando você recebe sua primeira tarefa de programação, não tem para enfrentar o problema de pensar em termos de código - você já terá alguma experiência lá. Menos uma curva de aprendizado a superar é uma coisa boa. Bônus se você aprender o idioma que eles ensinam no seu primeiro ano, mas não é necessário.


1

Você não saberá se a Engenharia de Computação é realmente o programa de graduação adequado para você até que você pelo menos descubra como é difícil ou fácil achar que a programação é, e também como você é bom nisso. A única maneira de realmente saber é tentar aprender pelo menos uma linguagem de programação e fazer muita codificação, o mais rápido possível.


1

Algumas coisas que você pode estar interessado em aprender antes de ir para a Universidade (escolha uma delas):

  1. Um pouco mais de matemática (não posso ser mais específico, porque sou francês e não tenho idéia das habilidades matemáticas que você espera ter).
  2. Algumas outras linguagens de programação, como Ocaml, Scheme, Haskell, Lua ... Elas abrirão sua mente para novas formas de pensar.
  3. Algum livro de algoritmos
  4. Melhores habilidades de inglês e escrita (e um idioma estrangeiro nunca é ruim)
  5. Uso e codificação no GNU / Linux e software livre em geral. A capacidade de estudar o software livre (e contribuir com ele) aprenderá muito sobre você.
  6. Autonomia no trabalho, sendo capaz de definir um plano de trabalho e cumpri-lo
  7. O SICP

Não recomendo focar de maneira estreita no C ++; outras línguas, livros, habilidades trarão muito mais. Não gaste todos os seus esforços em C ++.

Aproveite o seu aprendizado.


1

Honestamente, se você tiver tempo, vá em frente. A TI fará mais sentido enquanto o professor estiver ensinando. Você tirará o máximo proveito disso do que os alunos que nunca programaram.


1

Definitivamente! Se você não programou antes, aprender C ++ ou C ou Java ou C # fará com que você comece da maneira correta. Todas essas línguas são baseadas em Algol (aproximadamente) - depois de aprender uma delas, aprenda Lisp ou Haskell. A fantástica mudança de paradigma entre as duas famílias ajudará você, não importa o que envolvam seus cursos.


0

Pessoalmente, eu recomendaria. Isso não se aplica a todas as escolas, mas eu fui para o que é considerado uma escola de engenharia muito boa e as aulas de programação introdutórias eram terríveis. Conhecer o básico o ajudará a evitar muitas práticas ruins / conhecimento incorreto que podem ser ensinados a você. E, como outra resposta mencionada, você percorrerá essas aulas fáceis de introdução à programação enquanto outros lutam. E se você é como eu, isso oferece mais oportunidades para ajudar seus amigos que estão enfrentando dificuldades.


0

Eu acho que você deveria. Além das razões apontadas por outros aqui, eu acrescentaria que muitos professores universitários não são muito bons em ensinar e, portanto, você não pode confiar neles para ensinar muito bem o que está aprendendo. Você entenderá o que eles estão dizendo muito melhor se você já tiver uma noção do básico.

Além disso, a proporção entre o material do curso e o tempo da aula geralmente é muito alta nas universidades; portanto, mesmo quando o professor é um professor decente, ele não pode ensiná-lo efetivamente no tempo disponível. Portanto, qualquer conhecimento adquirido com antecedência ajudará você a acompanhar o ritmo acelerado da sala de aula.

O C ++ da IMO é um dos piores idiomas para iniciantes. Vá em frente e estude C ++ se não achar muito difícil, mas outras linguagens como C #, VB, Ruby ou Python são um pouco mais fáceis.


0

Seria uma atitude muito inteligente conhecer algum idioma antes de entrar na faculdade. O ensino universitário em Ciência da Computação geralmente é de uma qualidade sombria, dada por ATs sem treinamento ou que não falam inglês. Os cursos introdutórios não são uma prioridade e a má instrução é a regra. As universidades ganham dinheiro com despesas gerais de doações; obter subsídios é a prioridade da maioria dos professores da faculdade, e não do ensino de graduação. Esta é uma regra triste, com poucas exceções.

No entanto, a qualidade dos programas nas escolas secundárias também pode ser ruim. Muitas administrações escolares acham que o treinamento no uso do Micosoft Word é ciência da computação. Ah, o absurdo que emana das escolas ed!

Eu gostaria de poder ser mais otimista. Se você tem um bom programa de compsci em sua escola, trave-o. Vá além dos limites e seja agressivo com o aprendizado. Se você é bastante empreendedor, não é difícil aprender Python a si mesmo e obter algumas habilidades nele. Depois de aprender, aprender outras línguas não é difícil. A gramática simples do Python torna o aprendizado relativamente fácil.


0

Sim.

Qual deles você deve aprender depende do que significa "Engenharia da computação". É um termo bastante fora do padrão. Onde estudei, foi uma combinação de eletrônica e ciência da computação.

Se você espera trabalhar principalmente com hardware de computador, sugiro aprender C e Forth. Se você estiver fazendo principalmente o que eu consideraria "ciência da computação", sugiro aprender algo como Python ou Smalltalk para experimentar "trabalho real" e uma linguagem de programação funcional de sua escolha (eu sugeriria uma variante de lisp ou esquema, mas escolha o que é mais fácil e legal).


0

Vou compartilhar minha própria experiência.

Comecei a programar há cerca de 10 a 11 meses. Minha primeira exposição real a ele foi com PHP, mas depois me vi aprendendo C # em um curso introdutório (CS 140) na minha faculdade comunitária local. Depois que aprendi o básico, praticamente voei com ele e não parei desde então. Após o C #, decidi começar a aprender a mecânica de nível inferior de como os computadores funcionavam. Estou trabalhando em um aplicativo que deve ser multiplataforma e deve ajudar os mecanismos de videogame a interagir uns com os outros (semelhante ao SDL, mas possivelmente um nível mais baixo do que isso, com um foco estrito na GUI, matemática) e outras funções auxiliares).

Basicamente, se não fosse por essa aula, eu não teria encontrado o que amava até muito, muito mais tarde. Você realmente não sabe que gosta de programar até realmente entender os conceitos por trás dele. Se você quiser descobrir, eu recomendo pegar uma introdução ao livro de programação e começar com C / C ++, pois você precisa entender o que está fazendo, em vez de usar uma linguagem que segure sua mão como Java ou C # ou apenas alguma linguagem de script - lembre-se, elas têm seu lugar e são boas ferramentas para usar, mas também é muito importante que você entenda os conceitos de nível inferior no início. Este foi um erro que cometi no começo.

Depois disso, continue programando, se quiser. Caso contrário, aprenda outra coisa. Seja o que for que decida fazer, você deve gastar o máximo de tempo possível antes de frequentar uma universidade de 2 a 4 anos para aprendê-la, pois REALMENTE o manterá à frente do jogo. Também mostrará motivação para qualquer empregador que possa contratá-lo.

Posso dizer que as disciplinas de ciência da computação / engenharia elétrica são de longe as mais rápidas em termos de taxas de evolução (que continuam aumentando ano a ano), e você terá que continuar aprendendo novas tecnologias para acompanhar o que é o mais recente e o melhor (que você deve achar pelo menos um pouco interessante, embora realmente dependa da área de especialização em que você está se especializando. Por exemplo, eu odeio programação na web e não estou nem um pouco interessado nas tecnologias que existem por isso, mas algumas pessoas realmente gostam e estão interessadas nele). Apesar disso, C / C ++ são ótimas linguagens para aprender, enquanto muitas outras linguagens (por exemplo, C #, Java) têm suas próprias APIs pré-construídas para "facilitar a vida", você não vai aprender nada sobre o que realmente está acontecendo sob o capô até você "

Basicamente, estou programando há 10 a 11 meses e não frequentei nenhuma universidade. Tomei uma aula de C # em uma faculdade comunitária (minha primeira aula de programação, que me ensinou os fundamentos) e pelo menos 95% do restante eu aprendi por conta própria. Isso ocorre porque, depois de assistir a essa aula, eu sabia que queria ser um programador. Você saberá quando entender. Qualquer caminho que você escolher, você deve estudá-lo de forma independente, se realmente deseja ser bem-sucedido, porque aumenta sua aptidão para motivação e comprometimento. Um programador temestar motivado para ter sucesso. Eles lidam com muito, mais do que simplesmente "escrever código". Um aplicativo constantemente precisa ser testado, depurado e compreendido desde o início. Normalmente, pequeno ou grande, você quase aprenderá algo novo para cada projeto que realizar. Isso é bom, porque você precisa manter esse cérebro ativo.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.