Tornar-se um programador é um processo cumulativo que desenvolve suas habilidades dia após dia, ano após ano, e programar pode ser divertido e gratificante (mental, espiritual e financeiramente). Este guia não promete fornecer uma maneira magicamente fácil de se tornar um programador, e a ordem das etapas não é sagrada, mas você obterá um esboço geral de como se tornar um programador em um dos campos de programação modernos.
Passos
Etapa 1. Faça um curso introdutório em uma (ou todas) das seguintes disciplinas:
- Lógica
- Matemática discreta
- Linguagem de programação (participe dos diferentes paradigmas de programação, começando do sequencial / procedural até orientado a objetos, depois da programação funcional e lógica. Ruby / Python / Pascal preferível para iniciantes e depois de um bom conhecimento, aprofunde-se em C ++ / C # / Java)
DICA DE ESPECIALISTA
Gene Linetsky, MS
Startup Founder & Engineering Director Gene Linetsky is a startup founder and software engineer in the San Francisco Bay Area. He has worked in the tech industry for over 30 years and is currently the Director of Engineering at Poynt, a technology company building smart Point-of-Sale terminals for businesses.
Gene Linetsky, MS
Fundador de startups e diretor de engenharia
Não sinta que precisa obter um diploma de codificação.
Embora fazer cursos em uma linguagem de programação possa ser útil, Gene Linetsky, um engenheiro de software e fundador de startups, diz:"
Etapa 2. Aprenda os conceitos de banco de dados, como tabelas, visualizações / consultas e procedimentos
Você pode usar qualquer pacote de banco de dados simples para fazer isso, como:
- MS Access
- DB V
- Fox Pro
- Paradoxo
- MySQL é um bom banco de dados para aprender porque é gratuito, comumente usado e os bancos de dados são comumente acessados com consultas SQL
Etapa 3. Decida que tipo de programador você deseja ser
Os programadores geralmente se enquadram em uma das seguintes categorias:
- Programador web
-
Programador de aplicativos desktop
- Programador orientado a sistema operacional (SO) (vinculado a um único sistema operacional ou conjunto de sistemas operacionais)
- Programador independente de plataforma
- Programador de aplicações distribuídas
- Biblioteca / plataforma / estrutura / programador principal
-
Programador de sistema
- Programador de kernel
- Programador de driver
- Programador compilador
- Cientista de programação
Etapa 4. Aprenda as tecnologias e linguagens de programação relacionadas ao seu campo de programação de escolha
As seções a seguir detalham as tarefas para diferentes tipos de programação.
Método 1 de 6: Programação da Web
Etapa 1. Saiba o que a programação da Web envolve
Os aplicativos da Web são componentes de software projetados para funcionar na arquitetura da Internet. Isso significa que os aplicativos são acessados por meio de um software de navegador da web, como Firefox ou Internet Explorer. Ser construído com base na arquitetura da Internet não requer necessariamente uma conexão ativa com a Internet. Isso significa que os aplicativos da Web são desenvolvidos com base em tecnologias padrão da Web, como:
- HTTP
- FTP
- POP3
- SMTP
- TCP
- Protocolos IP
- HTML
- XML
- Fusão a frio
- ASP
- JSP
- PHP
- ASP. NET
Etapa 2. Navegue por diversos sites para saber como eles costumam ser
(Clique com o botão direito e, em seguida, clique em Exibir código-fonte ou pressione F12.) Procure diversidade no tipo / conteúdo do site da Web, não na quantidade de sites visitados. Geralmente, você precisará visitar pelo menos um de cada um dos seguintes tipos de sites:
- Sites de presença corporativa (corporações comerciais, corporações / organizações sem fins lucrativos, organizações governamentais)
- Mecanismos de indexação da Web (mecanismos de pesquisa, sites de meta pesquisa, mecanismos de pesquisa especializados, diretórios)
- Locais de mineração de dados
- Sites pessoais
- Páginas informativas / enciclopédicas (wikis, folhas de dados, especificações técnicas e manuais que listam diretórios, blogs e periódicos, sites de agências de notícias e notícias, páginas amarelas, etc.)
- Sites sociais (portais sociais, sites de favoritos, sites de anotações)
- Sites colaborativos (isso inclui outras categorias mencionadas acima, como wikis e blogs)
Etapa 3. Aprenda pelo menos uma técnica / método de brainstorming e um software usado para implementar esse método
Por exemplo: diagramas de brainstorming e MS Visio.
Etapa 4. Familiarize-se com a estruturação do site
Isso é criar diagramas conceituais da web, mapas de sites e estruturas de navegação.
Etapa 5. Faça um curso intensivo sobre design gráfico
Tente aprender pelo menos um pacote de software de edição / manipulação de gráficos (opcional, mas altamente recomendado)
Etapa 6. Aprenda os fundamentos da infraestrutura da Internet
Isso inclui ter uma ideia básica sobre:
- Protocolos básicos de serviços da Web (HTTP, FTP, SMTP e POP3 ou IMAP4)
- Software de servidor da Web (de preferência, um para a plataforma na qual você trabalhará principalmente)
- Software de navegação na web.
- Servidor de e-mail e software cliente
Etapa 7. Aprenda as linguagens HTML e CSS
Você também pode obter o pacote de software "O que você vê é o que você obtém (WYSIWYG)" para editar HTML.
Etapa 8. Aprenda XML e tecnologias relacionadas a XML, como XSL e XPath (opcional, mas recomendado)
Etapa 9. Crie sites estáticos simples até estar familiarizado e confortável com o HTML
Etapa 10. Aprenda uma linguagem de script do lado do cliente
A maioria dos usuários aprende JavaScript. Alguns aprendem VBScript, mas isso não é compatível com a maioria dos navegadores.
Etapa 11. Familiarize-se com a linguagem de script do lado do cliente que você aprendeu
Tente alcançar seu potencial usando apenas essa linguagem. Vá para a próxima etapa apenas depois de se familiarizar com sua linguagem de script do lado do cliente.
Etapa 12. Aprenda pelo menos uma linguagem de programação do lado do servidor
Se você optar por se restringir a um software de servidor, aprenda uma das linguagens de programação suportadas por esse software. Caso contrário, aprenda pelo menos uma linguagem de programação em cada software de servidor.
Etapa 13. Crie um projeto piloto para você mesmo depois de terminar de aprender a linguagem de programação do lado do servidor.
Etapa 14. Obtenha seu próprio site e comece a fazer experiências online em sua própria página
Método 2 de 6: Programação de aplicativos de desktop
Etapa 1. Saiba no que você está se metendo com a programação de aplicativos de desktop
A maioria dos programadores de desktop escreve código para soluções de negócios, portanto, ter uma ideia sobre os negócios e sua estrutura organizacional e financeira poupará muito tempo.
Etapa 2. Aprenda sobre as diferentes arquiteturas de hardware de computador
Um curso de nível introdutório em design de circuitos digitais e outro em arquitetura de computador é útil; no entanto, alguns o veem como um ponto de partida avançado, portanto, a leitura de dois ou três artigos do tutorial (como este e este) pode ser suficiente. Então, você pode voltar a esta etapa mais tarde, depois de aprender sua primeira linguagem de programação.
Etapa 3. Aprenda uma linguagem de programação básica (para crianças)
Não tenha vergonha de aprender essa língua só porque você é mais velho do que ser chamado de "criança". Um exemplo dessas linguagens de programação pode ser Scratch. Essas linguagens de programação podem aliviar tremendamente a dor de aprender sua primeira linguagem de programação. No entanto, esta etapa é opcional. Isso também pode ser feito antes da etapa anterior.
Etapa 4. Obtenha uma introdução ao procedimento, Orientado a Objeto, e paradigmas de programação funcional.
Etapa 5. Faça um curso introdutório em uma das linguagens de programação procedural
Não importa qual linguagem você escolha mais tarde para ser sua linguagem de escolha, ela exigirá programação procedural em algum nível. Além disso, a programação procedural é relatada pela maioria dos programadores como a mais fácil de usar como ponto de partida para se ter uma ideia da programação em geral.
Etapa 6. Aprenda pelo menos uma técnica de modelagem avançada, como UML ou ORM
Etapa 7. Comece a escrever alguns pequenos aplicativos de console ou de console
Você pode fazer uso de pequenos exercícios comuns em livros de linguagens de programação. Para isso, escolha uma ferramenta para escrever programas na linguagem de programação em que você está escrevendo.
Etapa 8. Faça um curso mais avançado na linguagem de programação de sua escolha
Certifique-se de compreender bem os seguintes conceitos e de que pode aplicá-los com relativa facilidade antes de prosseguir:
- Entrada e saída de informações para usuários de um programa.
- O fluxo lógico e o fluxo de execução de programas em linguagens procedurais.
- Declarando, atribuindo e comparando variáveis.
- Ramificação de construções de programação, como if..then..else e select / switch..case.
- Construções de loop como while..do, do..while / until, for..next.
- A sintaxe da sua linguagem de programação para criar e chamar procedimentos e funções.
- Tipos de dados e sua manipulação.
- Tipos de dados definidos pelo usuário (registros / estruturas / unidades) e seu uso.
- Se sua linguagem oferece suporte a funções de sobrecarga, entenda-a.
- Os métodos de acesso à memória do idioma de sua escolha (ponteiros, espiar, etc.)
- Se sua linguagem oferece suporte à sobrecarga de operadores, entenda-a.
- Se sua linguagem oferece suporte a delegados / ponteiros de função, entenda-a.
Etapa 9. Aplique as técnicas avançadas que você aprendeu
Etapa 10. Faça um curso introdutório em pelo menos mais uma linguagem de programação em outro paradigma de programação
Recomenda-se aprender uma linguagem de programação de cada paradigma, e a maioria dos programadores avançados o fazem, no entanto, você geralmente começa com uma, trabalha um pouco aplicando seus conhecimentos e praticando, e depois aprende a outra, depois que já teve um verdadeiro - Experiência de vida em programação. Experimente uma das seguintes áreas de linguagem:
- Paradigma de programação lógica.
- Paradigma de programação funcional.
- Paradigma orientado a objetos.
Etapa 11. Tente comparar as duas linguagens de programação que você aprendeu até agora
Avalie os pontos fortes e fracos de cada um. Normalmente, isso é feito por:
- Pegue amostras simples de seu trabalho inicial na primeira linguagem de programação e reescreva-o usando a segunda linguagem de programação.
- Crie um novo projeto e tente implementá-lo usando as duas linguagens. Às vezes, dependendo da sua escolha de projeto e idiomas, você pode não ser capaz de implementar o projeto em um dos idiomas!
- Escrever uma folha de dicas ou uma tabela de resumo comparações entre construções semelhantes nas duas línguas e recursos exclusivos de cada uma das línguas.
- Tente encontrar maneiras de imitar os recursos exclusivos de um dos dois idiomas usando o outro idioma.
Etapa 12. Aprenda os conceitos de programação visual usando uma das linguagens que você aprendeu
Quase todas as linguagens de programação têm versões / bibliotecas que suportam programação visual e outras que suportam console ou programação semelhante a console. Isso pode ser feito por:
- Obtenha uma introdução à programação orientada a eventos. A maioria da programação visual depende em algum nível de eventos e manipulação de eventos (usando a linguagem de programação que você escolher).
- Experimente o máximo de software de desktop que puder e entenda o que o software faz. A maioria das empresas de desenvolvimento de software oferece versões de teste beta de seus produtos, que você pode usar para testar o software. Mantenha-se atualizado sobre os avanços da interface do usuário.
- Leia alguns artigos ou tutoriais sobre interfaces gráficas com o usuário.
Etapa 13. Comece a aplicar seu conhecimento em pequenos projetos de software que você desenha
Tente aplicar seus conhecimentos de programação nos problemas que você enfrenta no dia a dia. Por exemplo, escreva programas que renomeiam arquivos em massa, compara arquivos de texto visualmente, copia os nomes dos arquivos em um diretório para memória / arquivo de texto e coisas assim. Mantenha-o simples no início.
Etapa 14. Crie um projeto de graduação virtual
Conclua até o fim, aplicando as técnicas de programação visual que você aprendeu até agora.
Etapa 15. Amplie sua compreensão da estrutura / biblioteca / pacote visual que você aprendeu antes, fazendo cursos avançados, prestando atenção extra aos detalhes e aprendendo mais dicas e truques para sua estrutura a partir de recursos online
Etapa 16. Pesquise outros pacotes / bibliotecas de elementos visuais para suas linguagens de programação e aprenda-os
Etapa 17. Faça um curso de gráficos (não de design gráfico)
Será muito útil para programadores que desejam escrever elementos de interface de usuário atraentes.
Etapa 18. Considere se tornar um programador de jogos (opcional)
A programação de jogos é considerada, na maior parte de suas partes, programação desktop. Se você pretende se tornar um programador de jogos, precisará aprender mais sobre a programação de jogos após concluir essas etapas. Um curso de gráficos é obrigatório para os programadores de jogos e a segunda linguagem de escolha nas etapas anteriores deve ser uma linguagem de programação lógica / funcional (de preferência Prolog ou Lisp).
Método 3 de 6: Programação de aplicativos distribuídos
Etapa 1. Lidar com a programação de aplicativos distribuídos
A programação de aplicativos distribuídos é considerada por muitos como uma das mais difíceis de aprender e requer diversos conhecimentos em tecnologias de computação e comunicação.
Etapa 2. Faça uma introdução rápida aos sistemas de telefonia e seu hardware
Esta etapa é opcional. No entanto, é muito útil para entender as topologias de rede.
Etapa 3. Familiarize-se com arquiteturas de hardware de rede e dispositivos como hubs, switches e roteadores
Etapa 4. Faça um curso sobre protocolos de rede e princípios básicos
Você precisa ter um bom entendimento do modelo de Open Systems Interconnection (OSI), Ethernet, IP, TCP, UDP e HTTP antes de iniciar a programação de aplicativos distribuídos.
Etapa 5. Aprenda a linguagem XML e familiarize-se com ela
Etapa 6. Comece aprendendo uma linguagem de script de shell
Para a programação baseada no Windows, seria qualquer script que funcionasse com o Windows Scripting Host. Para programação baseada em Linux, scripts Bash e Perl serão suficientes. JavaScript é fortemente recomendado para isso em ambas as plataformas pelos seguintes motivos:
- É suportado por quase qualquer host de script em qualquer sistema operacional (Windows Scripting Host oferece suporte a JavaScript por padrão, a maioria das distribuições Linux tem um pacote para suporte de console de script JavaScript).
- É considerado mais fácil de aprender por muitos desenvolvedores.
- Possui uma sintaxe derivada de ALGOL que o familiariza com muito mais outras linguagens de programação quando você precisa escolher uma segunda linguagem de programação (C, C ++, C #, Java e J # todos têm sintaxe derivada de ALGOL).
- Ao aprender JavaScript, você se familiariza com scripts do lado do cliente de páginas da web, o que é um efeito colateral bônus!
Etapa 7. Aplicar apenas a programação procedural usando a linguagem de script de sua escolha a princípio
Posteriormente, você pode usar técnicas e paradigmas de programação mais avançados de acordo com sua linguagem de script e o que ela suporta. Todas as linguagens de script têm alguns aspectos de programação procedural em algum nível.
Etapa 8. Use a linguagem de script que você aprendeu para escrever scripts que realizam comunicações entre máquinas
Aprenda o que é necessário para fazer isso. Comunicações simples serão suficientes.
Etapa 9. Faça uma transferência para uma linguagem de programação / script de desktop
De preferência, uma que seja uma linguagem multiparadigma, como Python. Faça uma introdução simples a esse segundo idioma. Java é considerado pela maioria dos programadores a linguagem de escolha por muitos motivos. No entanto, o C # está ganhando impulso rapidamente nesse campo. Java e C # são preferidos pelos seguintes motivos:
- Eles são linguagens de programação orientadas a objetos que protegem os programadores em grandes equipes de detalhes de implementação, pois ambos suportam componentes (unidades de código, pré-compiladas, que executam uma determinada tarefa e podem ser usadas em outros programas).
- Eles oferecem suporte à programação orientada a eventos, bem como à programação OO e procedural em algum nível.
- A estrutura na qual a linguagem é construída é distribuída por natureza (no caso do Java).
- A disponibilidade de muitos pacotes prontos que lidam com redes, tanto como código-fonte aberto quanto pacotes integrados de framework; isso torna mais fácil para os programadores desenvolverem o trabalho de outros.
Etapa 10. Concentre-se mais nos recursos básicos da linguagem, especialmente aqueles que oferecem suporte à rede
Preste menos atenção aos elementos da interface do usuário, como saída, design e técnicas de janela e elementos da interface do usuário.
Etapa 11. Faça um curso sobre arquitetura e design de aplicativos distribuídos
Isso pode ser feito por meio de livros, tutoriais online ou cursos acadêmicos. No entanto, é necessário compreender a arquitetura de aplicativos distribuídos e seus conceitos.
Etapa 12. Aprenda sobre a construção de componentes e serviços atendidos usando a linguagem de programação de sua escolha
Etapa 13. Aprenda uma ou mais das seguintes tecnologias
É recomendável que você obtenha pelo menos uma introdução a todos eles. A maioria dos programadores de aplicativos distribuídos não param em uma ou duas linguagens de programação, mas aprendem pelo menos uma linguagem de programação em cada sistema operacional. Isso porque se você deseja que seu aplicativo seja "distribuído", você deve fornecer uma versão dele pelo menos para cada sistema operacional principal.
- Arquitetura Common Object Request Broker (CORBA)
- Protocolo de Acesso a Objetos Simples (SOAP)
- JavaScript assíncrono e XML (AJAX)
- Distributed Component Object Model (DCOM)
- . NET Remoting
- XML Web Services
Método 4 de 6: Biblioteca / Plataforma / Estrutura / Programação Principal
Etapa 1. Saiba o que é a programação principal
Os programadores principais são meramente programadores avançados que fizeram a transferência de aplicativos de programação para unidades de código de programação a serem usadas por outros programadores.
Etapa 2. Aprenda uma linguagem de programação que ofereça suporte à construção de componentes / pacotes reutilizáveis, caso ainda não tenha feito isso
Etapa 3. Faça um curso avançado em UML e ORM
A maioria dos desenvolvedores de bibliotecas usa um ou ambos.
Etapa 4. Faça um curso de engenharia de software
Etapa 5. Aprenda pelo menos técnicas e conceitos de programação modulares, baseados em componentes, orientados a objetos e orientados a eventos
Quanto mais paradigmas e linguagens de programação você cobrir, mais bem-sucedido terá como programador de biblioteca / pacote.
Etapa 6. Saiba mais sobre os diferentes sistemas operacionais e estruturas de programação com suporte por esses sistemas operacionais
Etapa 7. Concentre seus esforços de aprendizado em estruturas independentes de plataforma, linguagens de programação e tecnologias
Etapa 8. Se as linguagens de programação que você aprendeu até agora têm ANSI/ISO/IEEE/Versões do padrão W3C, domine os padrões.
Tente usar o código padrão sempre que possível.
Etapa 9. Tente imitar bibliotecas simples e já estabelecidas, especialmente as de código aberto
Isso é útil durante a fase inicial de se tornar um programador de biblioteca / pacote. Comece com pacotes simples, como conversão de unidades e pacotes intermediários de cálculos científicos. Se você é um estudante universitário, faça uso de seus cursos de não programação, tentando implementar suas equações e núcleos científicos como bibliotecas.
Etapa 10. Pesquise e experimente pacotes de código aberto em sua área de programação
Primeiro baixe os binários / executáveis do pacote. Tente usá-lo e encontre seus pontos fortes e fracos. Depois de fazer isso, baixe o código-fonte e tente descobrir como foi feito. Tente recriar essas bibliotecas ou partes delas. Primeiro, faça isso depois de ver o código e, mais tarde, antes de ver o código. Em fases posteriores, tente melhorar essas bibliotecas.
Etapa 11. Aprenda as diferentes abordagens usadas para distribuir e implantar componentes para programadores
- Normalmente, os programadores de bibliotecas / pacotes tendem a pensar recursivamente e / ou iterativamente em todos os problemas que lhes são apresentados. Tente pensar em cada problema como uma coleção de problemas menores (uma sequência de tarefas mais simples) ou como um processo repetido de redução do escopo do problema para escopos menores e, em seguida, empilhando esses escopos uns sobre os outros.
- Os programadores de bibliotecas / pacotes tendem a generalizar. Ou seja, quando confrontados com um problema específico simples, eles geralmente pensam em um problema mais geral e tentam resolver aquele problema geral que resolverá automaticamente o menor.
Método 5 de 6: Programação do sistema
Etapa 1. Entenda o que a programação do sistema envolve
Programadores de sistema lidam com a ciência da programação, não com suas implementações específicas. Não se prenda a uma plataforma específica.
Etapa 2. Siga as três primeiras etapas para programadores de aplicativos de desktop
Etapa 3. Faça um curso introdutório em Álgebra Linear
Etapa 4. Faça um curso de Cálculo
Etapa 5. Faça um curso de Lógica e / ou Matemática Discreta
Etapa 6. Apresente-se aos diferentes sistemas operacionais básicos
Isso pode ser feito por:
- Ter uma ideia de como os sistemas operacionais são instalados.
- Aprender como instalar diferentes sistemas operacionais em um PC (opcional, mas recomendado).
- Instalando mais de um sistema operacional. Não instale nenhum pacote de ajuda nos sistemas; em vez disso, use as funcionalidades básicas fornecidas pelos sistemas operacionais.
Etapa 7. Faça um curso (ou, alternativamente, leia livros) sobre arquitetura de hardware de computador
Etapa 8. Desenvolva uma compreensão das diferentes plataformas de hardware de computador
Etapa 9. Obtenha uma familiarização introdutória com a linguagem assembly da plataforma de hardware / sistema operacional de sua escolha
Posteriormente, você aprenderá a montar outras plataformas / sistemas.
Etapa 10. Aprenda as linguagens ANSI C e C ++, juntamente com os conceitos de programação procedural
Etapa 11. Compreenda e pratique as bibliotecas padrão C / C ++ na plataforma de sua escolha
Preste atenção especial à Standard Template Library (STL) e talvez à Active Template Library (ATL).
Etapa 12. Pesquise recursos, livros e cursos online para obter uma compreensão do sabor C de sua plataforma específica
Etapa 13. Pratique a criação de código avançado com C e C ++
Etapa 14. Saiba mais sobre montagem avançada
Etapa 15. Faça um curso de design de sistemas operacionais
Etapa 16. Encontre e leia as documentações de sua plataforma específica de escolha
Isso será mais fácil se você escolher um sistema operacional baseado em Unix. Entenda muito bem o sistema com o qual trabalhará mais tarde.
Etapa 17. Pratique seus conhecimentos adquiridos
Primeiro crie pequenos utilitários de sistema. Geralmente é útil para:
- Tentando recriar pequenas ferramentas que já existem em seu sistema.
- Tentando portar utilitários disponíveis em outros sistemas operacionais para o seu.
Etapa 18. Aprenda idiomas na ordem mais útil
Este é o único lugar onde a primeira linguagem de programação é importante. Aprenda ANSI C primeiro, não C ++, não C #, não Java e não D. Em seguida, aprenda C ++.
-
Restringir a primeira linguagem apenas a C e C ocorre porque a programação de sistemas requer que o programador esteja familiarizado com os seguintes conceitos:
- Compilação real e completa do código-fonte.
- Arquivos de saída de objeto de baixo nível.
- Vinculando binários.
- Programação em linguagem de máquina / assembly de baixo nível. A linguagem C é considerada um assembly disfarçado / mais fácil de aprender por alguns. Ele também suporta a inserção de código de linguagem assembly no código sempre que você quiser e é apenas procedural (como assembly).
Método 6 de 6: Ciência da Programação
Etapa 1. Saiba o que um cientista de programação faz
Cientistas programadores são programadores muito avançados que, em vez de trabalhar no desenvolvimento de aplicativos, trabalham no desenvolvimento de tecnologias de computação como criptografia, linguagens de programação e algoritmos de mineração de dados. Este nível raramente é alcançado sem estudo acadêmico e dedicação.
Etapa 2. Acumular o conhecimento científico equivalente a um diploma de quatro anos em ciência da computação
Isso pode ser feito por:
- Tirar um diploma acadêmico real (que é o que geralmente acontece).
- Obter os esboços dos cursos para tal grau de uma das universidades modernas e fazer os cursos por auto-estudo ou como cursos separados. Isso poderia ser alcançado teoricamente, mas o caminho recomendado é o primeiro.
Etapa 3. Decida um campo de especialidade
Quanto mais específico melhor. Isso depende de suas preferências. No entanto, aqui está uma lista de alguns dos principais tópicos da ciência da programação de computadores:
- Projeto de algoritmo (busca, classificação, criptografia, descriptografia e detecção de erros nas comunicações são alguns exemplos)
- Linguagens de programação / design / otimização do compilador
- Campos de inteligência artificial (reconhecimento de padrões, reconhecimento de fala, processamento de linguagem natural, redes neurais)
- Robótica
- Programação científica
- Super computação
- Projeto / modelagem auxiliado por computador (CAD / CAM)
- Realidade virtual
- Computação gráfica (computação gráfica é geralmente confundida com design gráfico ou design de interface gráfica do usuário. Computação gráfica é o campo de estudo de como representar e manipular gráficos em sistemas de computador.)
Etapa 4. Considere a obtenção de um diploma acadêmico superior
Você pode querer fazer um mestrado ou doutorado.