|
| 1 | +--- |
| 2 | +path: "/aprender-programar" |
| 3 | +date: 2020-05-13 |
| 4 | +title: "O que é necessário para aprender a programar?" |
| 5 | +tags: ["beginners", "human-friendly"] |
| 6 | +author: "Bruno Kiafuka" |
| 7 | +--- |
| 8 | + |
| 9 | +Muitas vezes sou questionado por diversas pessoas que aspiram estudar ou começar uma carreira em programação de softwares (ou simplesmente programação), querendo saber qual é a complexidade no aprendizado e quais os skills necessários para singrar na carreira. Pessoalmente acho que não exista uma fórmula para aprender, mas sim alguns principios e skills que devem sem adquiridos por qualquer pessoa que deseja tornar-se um programador. |
| 10 | + |
| 11 | +Neste artigo, estarei partilhando alguns principios e skills que devemos desenvolver durante o processo de aprendizado da programação. |
| 12 | + |
| 13 | +<hr/> |
| 14 | + |
| 15 | +### O que é programação de softwares afinal? |
| 16 | + |
| 17 | +Quando pesquisamos por "programação de softwares" no google recebemos cerca de 28.500.000 resultados com diferentes abordagens e definições. Muita das vezes estes conteúdos são muito técnicas, ou apresentam uma linguagem muito complexa, que fazem com que os aspirantes a programadores fiquem confusos. Sempre que fosse questionado o que é programação, a minha resposta era similar a de muitos blogs ou até mesmo a da [wikipedia](https://pt.m.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_de_computadores). |
| 18 | + |
| 19 | +> Hoje, eu defino programação como um processo de escrita de instruções que devem ser executadas por um computador. |
| 20 | +
|
| 21 | +### O que é necessário para aprender a programar? |
| 22 | + |
| 23 | +Existem várias maneiras para aprendermos a “programar”, muitos de nós aprendemos porque acabamos por ter a programação como modúlo durante a nossa formação ou por mera curiosidade. Os pontos abaixo contêm aspectos que pessoalmente acho serem necessários para qualquer pessoa desejando começar com a programação: |
| 24 | + |
| 25 | +- **Ter habilidade de resolver problemas** — Quando estamos desenvolvendo um programa na verdade, estamos escrevendo instruções de como o computador deve solucionar um dado problema. Todo programador deve ser um bom "problem solver", devemos desenvolver a capacidade de fazer analise a fim de dar solução a qualquer problema definindo uma série de interações necessárias para a resolução de dado problema. |
| 26 | +- **Saiba como criar algoritmos** - _“Os algoritmos aplicam-se em todas as áreas da nossa vida.”_ — Um algoritmo é simplesmente uma sequencia finita de passos para resolver um problema (lembra da definição de programação). Saber desenvolver algoritmos nos ajudará a saber como devemos estruturar as nossas soluções. Algoritmos são muito importantes pois eles nos ajudam a entender o que é necessário para solucionarmos um dado problema. |
| 27 | + |
| 28 | +``` |
| 29 | +// Exemplo de um Algoritmo para um programa |
| 30 | +// que calcula o a média de um aluno após entrar 3 notas |
| 31 | +1. Começar o programa; |
| 32 | +2. Ler as três (3) notas inseridas pelo usúario; |
| 33 | +3. Somar as notas e dividir o resultado da soma pelo número de notas |
| 34 | +4. Caso o resultado da divisão for maior ou igual à 50 |
| 35 | + 4.1. Informar ao usúario que o aluno foi aprovado |
| 36 | +5. Caso o resultado for menor do que 50 |
| 37 | + 5.1. Informar ao usúario que o aluno foi reprovado |
| 38 | +6. Terminar o programa |
| 39 | +``` |
| 40 | + |
| 41 | +- **Aprenda a escrever pseudocódigo** — O pseudocódigo é um metódo usado para escrever de forma informal um algortimo, utilizando uma linguagem simples sem necessariamente seguir ou usar a sintaxe de uma linguagem de programação. |
| 42 | + |
| 43 | +``` |
| 44 | +// Pseudocodigo do Algoritmo acima ... |
| 45 | +Variaveis |
| 46 | + media, nota1, nota2, nota3 |
| 47 | +Inicio |
| 48 | + leia nota1, nota2 e nota3 |
| 49 | + media = (nota1+nota2+nota3)/3 |
| 50 | + Se (media >= 50) |
| 51 | + entao escreva “aluno aprovado” |
| 52 | + Senao |
| 53 | + escreva “aluno reprovado” |
| 54 | + Fim |
| 55 | +Fim |
| 56 | +``` |
| 57 | + |
| 58 | +- **Aprenda e domine no mínimo uma linguagem de programação** — Após aprender ou aspectos acima citados eu o aconselharia a aprender e dominar no minimo uma linguagem de programação. **Linguagem de programação** é o método formal para dizermos ao computador como executar as nossas instruções (nossos algoritmos) — todos os dias tem uma nova linguagem sendo criada, todas elas partilham o mesmo conceito mas apresentam uma sintaxe diferente. Dentro delas existem algumas são consideradas as mais faceis de se aprender, particularmente aconselho comecar com as seguintes linguagens: Python, C, C++, Java, C#, PHP e Javascript. |
| 59 | + |
| 60 | +> As linguagens estão listadas de forma aliatória. |
| 61 | +
|
| 62 | +```python |
| 63 | +// Exemplo em Python do nosso Pseudocodigo |
| 64 | +nota1 = int(input("Insira a primeira nota: ")) |
| 65 | +nota2 = int(input("Insira a segunda nota: ")) |
| 66 | +nota3 = int(input("Insira a terceira nota: ")) |
| 67 | +media = (nota1 + nota2 + nota3) / 3 |
| 68 | +if(media >= 50): |
| 69 | + print("aluno aprovado") |
| 70 | +else: |
| 71 | + print("aluno reprovado") |
| 72 | +``` |
| 73 | + |
| 74 | +- **Habilidade de pesquisa** — um programador (seja estudante ou até mesmo já exercendo a profissão) deve desenvolver o hábito de pesquisa. Muito do conteúdo exposto online (video aulas, blog posts, e etc…) ajudam-nos bastante no processo de aprendizado e/ou de desenvolvimento da carreira, visto que estaremos aprendendo com outras pessoas que têm mais experiência na nossa área de estudo. |
| 75 | + |
| 76 | +- **Tenha domínio da língua Inglesa** — se fizermos uma analise lógica, posso afirmar que 99% das linguagens de programação existentes herdaram alguns elementos da gramática Inglesa. De igual modo, os documentos oficiais são sempre escritos primeiro em Inglês e depois traduzido noutras linguas caso seja necessário. |
| 77 | + |
| 78 | +- **Dedicação e força de vontade** — Os aspectos acima citados são bastante importantes numa vertente mais técnica e academica, a dedicação e força de vontade tem uma aplicação muito pessoal. Muita das vezes por falta de dedicação acabamos por não por em prática aquilo que nos é ensinado ignorando o conteudo que temos em nossa posse, não só em programação mas como em toda outra área de estudo devemos ser perseverantes e investir o nosso tempo a melhorar as nossas habilitações. |
| 79 | + |
| 80 | +<hr/> |
| 81 | + |
| 82 | +Após aprendermos a programar poderemos desenvolver diversas soluções para os mais variados problemas. Estaremos hábilitados para criar aplicativos para computadores, aplicativos para móveis, aplicativos para smart TVs, etc… Mas para tudo isso seja possível é necessário muita dedicação e disciplina. |
| 83 | + |
| 84 | +Programação pode se tornar um bicho de sete cabeças de quando em vez especialmente quando não estamos fazendo por vontade própria, mas também pode e deve ser divertido quando o fazemos com força de vontade. Os pontos abordados neste blog ajudaram-me no processo de aprendizado e até hoje uso-os como um ponto de referência no desenvolvimento das minhas soluções. |
| 85 | + |
| 86 | +> "Aprender a programar pode ser meio frustrante no começo mas vale apena o sacrifício" - Coding is fun :) |
0 commit comments