Boas-vindas ao Entenda Programação

Eu, dando boas vindas ao site Entenda Programação de uma vez por todas.

Olá! Meu nome é Ramon Chiara e eu quero lhe dar as boas-vindas ao projeto “Entenda Programação de uma vez por todas”. Não sei se já aconteceu com você, mas sabe quando surge aquela vontade de melhorar algo que você já faz? De fazer algo diferente?

Já faz alguns anos que leciono disciplinas básicas de programação como algoritmos, programação estruturada e programação orientada a objetos, além de algumas mais avançadas como programação para Web, desenvolvimento de serviços e componentes, entre outras. Quando comecei na carreira de professor, eu tive que aprender a preparar as aulas como forma de tentar passar o melhor de mim para os alunos. Às vezes eu conseguia, às vezes não. Com o tempo, fui tentando melhorar as aulas. Isso era, e ainda é, um processo de tentativa e erro. Mas, eu sabia que estava no caminho certo quando recebia uma palavra de um aluno elogiando minha aula ou me agradecendo. Na verdade, eu que agradeço a todos eles, pois essas palavras me incentivaram nessa caminhada ao ponto de, hoje, sentir que estou cumprindo meu papel na sociedade!

Mas, isso não está sendo o suficiente! Eu sinto que ainda falta algo… Programar não é uma tarefa fácil, pois não existe uma fórmula mágica para a criação de software. É um processo de entendimento de um problema que, muitas vezes, tem informações incompletas, criação de uma solução abstrata para esse problema e a materialização dessa solução na forma de um código computacional. Lógico que existem níveis de dificuldade e, com a experiência, algumas coisas ficam mais fáceis. Quando você começa a aprender programação, por exemplo, a maioria dos problemas a serem resolvidos são bem básicos. No entanto, muitos alunos sentem uma dificuldade enorme. Vejo que alguns não conseguem nem saber por onde começar a resolver um problema. E, é nesse ponto que vem aquela vontade que comentei no começo do artigo: eu gostaria muito de conseguir arrumar um jeito de tornar o processo de entender programação o mais fácil possível!

Daí, surgiu este projeto! A ideia é criar artigos sobre lógica de programação de forma que quem está iniciando nos estudos de algoritmos, ou até mesmo quem já passou nessa matéria na faculdade, possa ter mais uma fonte de informações e, acima de tudo, possa interagir comigo, expondo suas dificuldades. Quero achar meios de fazer você entender programação de uma vez por todas! 🙂

Para isso, eu usarei, muitas vezes, assim como nas faculdades, a famosa Linguagem Portugol. Para executar programas feitos nessa linguagem, pode-se usar vários ambientes. O mais famoso é o VisuAlg. No entanto, ele só tem versão para Windows, o que fez com que eu optasse por estar usando o ambiente Portugol Studio. Como ele é feito em Java, pode ser executado em qualquer sistema operacional. Se você tem um Mac, por exemplo, poderá acompanhar os artigos sem problemas.

Além dos artigos, estarei criando um curso online sobre lógica de programação, mas usando a Linguagem Java (mais para frente, quero criar outros cursos, mas, por enquanto, vamos nos focar nas fundamentos). A escolha dessa linguagem para o curso foi particularmente difícil por uma série de fatores. Mas, acabei optando por ela pelo motivo descrito acima bem como por ser uma das linguagens mais usadas no mercado, o que pode propiciar um maior grau de empregabilidade para você! Além disso, se você aprender Java, terá andado meio caminho para programar para outras tecnologias como celulares, Web, desktop, etc. Tentarei colocar, nesse curso, toda minha experiência em programação e no ensino em faculdades!

Sabendo disso, preciso da sua ajuda! Neste exato momento, gostaria que você fizesse duas coisas:

    1. Se cadastrasse na minha lista de e-mails (acima, à direita deste site) para ficar sabendo das novidades que aparecerem aqui, bem como do lançamento do curso online.
    2. Deixasse, na área de comentários abaixo, qual a dificuldade que você enfrenta ou enfrentou durante o aprendizado de algoritmos e lógica de programação.

Espero muito que você goste dos artigos que colocarei aqui e que participe deixando seu feedback! Dessa forma, espero poder ter ajudar com essa atividade tão legal que é programar, criar softwares, materializar ideias que só você tem em sua mente! Lembre-se: estou aberto aos seus comentários, críticas e sugestões!

Um grande abraço!

PS: ah! Você também pode curtir a página do Facebook, do Google+, bem como se inscrever no canal do YouTube!

34 Comments on “Boas-vindas ao Entenda Programação
  1. Oi, Prof Ramon. Um dos problemas que tive quando aprendi algoritmos foi a quantidade baixa de exercícios dados em sala de aula. Consegui contornar essa situação resolvendo exercícios extras, dos mais simples aos mais complicados. Parabéns pela iniciativa e SUCESSO no curso!

    • Grande Prof. Saulo!
      Realmente, eu percebo que um dos segredos de entender programação é treinar! Muito!
      Aliás, como em qualquer coisa que a gente queira fazer na vida, né? 😉
      Muito obrigado pelo feedback e sucesso para todos nós!

  2. Prof. Ramon, obrigado por compartilhar seus conhecimentos acadêmicos e experiências de anos no mercado. É fundamental lapidar sempre nossos conhecimentos em lógica. Parabéns.

  3. Olá Ramon! Primeiro quero parabenizar e agradecer pela iniciativa que irá nos ajudar muitoooo. Tenho dificuldades nos detalhes, em algumas aulas as coisas ficam meio nebulosas, preciso entender o “por que”, para que eu possa saber quando usar, depois disso muito exercício, rs. Abraço!

    • E aí, Leandro?
      Eu que agradeço o feedback!
      Quando aos porquês, eu também tenho essa visão!
      Eu odeio decorar coisas! rsrs Preciso entender! E vou tentar passar isso por aqui…
      Ah! Vai ter muito exercício! rsrs
      Abraços!

  4. Prof Ramom, Muito boa a idéia, eu aprendi muito bom você na UNIP, nas suas aulas de Java. Eu não tive muitas dificuldades nas matérias de programação (Hoje trabalho com SQL). Mas apóio d+ sua atitude em respeito a passagem de conhecimento.

  5. Grande Ramon, primeiramente gostaria de parabeniza-lo pela iniciativa e dizer que tentarei sugar o maximo de informações daqui. Indicarei para amigos pois sei que seu trabalho é feito com muita qualidade e dedicação. Suas aulas foram e ainda são muito proveitosas no meu dia-a-dia.

    Um tópico interessante de ser abordado é a famosa orientação a objeto, algo que tive alguma dificuldade de entender no começo, mas buscando algumas alternativas pude compreender mais claramente, porem é sempre bom renovar as informações.

    Grande abraço!

    • E aí, Victor!!!
      Muitíssimo obrigado pelo apoio e carinho!
      Quanto à orientação a objetos, está nos planos abordá-la! Mas, somente mais pra frente.
      Nesse primeiro momento irei passar os fundamentos de algoritmos.
      Mas, depois, irei avançar até onde der! rsrs
      Grande abraço!

  6. Ramon,
    Como presenciou na sala de aula minha dificuldade, foi quando passamos para programação orientada à objetos…É chatinha porém a melhor Forever, pois ajuda-nos e quem for realizar manutenção, até hoje, tem problema em abstrair as coisas pra deixar O.O….Mas com um excelente professor como você, tudo ficou mais claro com relação a programar da melhor maneira…$U©3$$0

  7. Olá Professor Ramon.

    Professor, eu acho que seria interessante se vc usasse metodologias de educação livre nesse projeto sabe?! Muitas vezes um aluno não se interessa por um determinado assunto devido a metodologia tradicional de ensino baseada em teoria, tipo acho que mostrando coisas reais que a pessoa pode fazer com a programação, fazer com que a pessoa aprenda se divertindo e assim o conhecimento vir por osmose.

    Mas é claro que esta é uma mera opinião de um mero mortal 😀

    Para entender melhor sobre o que eu estou falando assista esses videos, me fale o que achou depois.

    https://www.youtube.com/watch?v=9_yu9gAi2sg

    https://www.youtube.com/watch?v=-t60Gc00Bt8

    Boa sorte Professor! 😀

    • E aí, Giovani!
      Estou vendo os vídeos aos poucos… Conceitos interessantes, mas, assim como eles criticam (com certa razão) o modelo tradicional de ensino, não devemos aceitar tudo o que é dito (inclusive deles) sem uma crítica e uma auto-crítica.
      Eu acredito num equilíbrio entre o ensino tradicional e o que se tem falado atualmente sobre novas formas de aprendizado. Tento equilibrar teoria e prática que, no nosso caso, são exercícios. E, muitas vezes, saio de um contexto para outro tentando ligá-los.
      Tentarei trazer coisas reais que a pessoa pode fazer com a programação (obrigado pela dica), mas já adianto que, como os vídeos comentam, cada um é diferente do outro e isso pode ou não funcionar dependendo da pessoa. Normalmente, eu tento isolar o conceito sendo aprendido e, por isso, surgem exercícios simples que tratam sobre ele. Só depois é que misturo o conceito em questão com outros conceitos já aprendidos. É aí que, provavelmente, os casos reais poderiam entrar.
      Também é pelo fato de cada um ser diferente do outro que eu tento explicar a mesma coisa de formas diferentes. Isso aconteceu e ainda acontece comigo. Quando comecei a aprender programação, lia vários livros sobre o mesmo assunto. Eles tinha mais ou menos 98% de coisas em comum. Mas, esses 2% diferentes é que faziam muitas “fichas caírem”.
      Muito obrigado pelo seu feedback!
      Abraços!

  8. Olá professor Ramon! Blz ? Acho que o grande problema para que está aprendendo a programar, que é o meu caso tb rssr, é entender o problema proposto. No meu caso, tenho uma certa dificuldade nisso. Quando assistia suas aulas na unip, via vc sempre falando sobre boas praticas de programação orientadas objetos. Acabei percebendo, que não entender o problema proposto, muitas vezes, é o que faz vc escrever classes muito acopladas, não uso de boas praticas de programação OO. Pra mim, sempre vem aquela pergunta: ” Por onde começar”. Talvez, esse nem seja um problema só para iniciantes como eu, mas sim, para muito profissional já na área tb. Abraços!

    • Grande Marcos!
      Eu tive um professor de física que falava “Física é 80% interpretação de texto e 20% matemática”.
      Acredito que isso também vale para programação! 🙂
      Não sei se você se lembra, mas, nas aulas, ao resolver um exercício eu perguntava qual era o primeiro passo que tínhamos que fazer. E qual era? Ler o exercício, interpretá-lo e extrair dele as informações necessárias para resolvê-lo. Muitas vezes isso se resumia a descobrir quais as entradas, qual o processamento e quais as saídas!
      Irei abordar essa dúvida de “por onde começar”. Espero que eu consiga dar uma luz nesse tópico porque vejo que é, realmente, uma grande dificuldade de muitos. Até porque, muitas vezes, as informações estão incompletas. E isso, no mundo real (mercado), é muito comum!
      Muito obrigado pelo seu feedback!
      Grande abraço!

  9. Fala Professor! Eu recomendo que você faça seu curso online focando nos mínimos detalhes quando começa a parte de fazer os algoritmos, debugar e entender o código. Mas tentar fazer isso sem ser massante. E ser repetitivo com listas de exercícios, cada capítulo ou a cada 3 vídeos, fazer uma tarefa e o vídeo seguinte conter a resposta. Sempre enconrajar o programador iniciante, pois as vezes ele não pensa ainda como programador mas só quer resolver seu problema.

    • E aí, Heitor?
      Vou tentar balancear os detalhes, ok? Até para não ser massante! 😉
      Minha ideia é realmente tentar fazer vocês entenderem o código.
      Acredito que aprender a fazer o debug ajuda bastante!
      Sim, irei colocar muitos exercícios aqui, bem como a resolução!
      Muito obrigado pelas suas dicas!
      Grande abraço!

  10. Ótima iniciativa e ideia professor, e minha maior dificuldade na linguagem Java foi entender melhor a comunicação das classes. Tem data para iniciar o conteúdo?

    • Grande Alan!
      Pois é! O conteúdo demorou um pouco, mas saiu o primeiro deles. Hoje! 🙂 É sobre algoritmos!
      Já o curso de algoritmos e lógica de programação em Java ainda está sendo produzido.
      Estarei comunicando os detalhes pela lista de e-mails. Por isso, não deixe de assiná-la aí no canto direito do site!
      Muitíssimo obrigado pela força!
      Abraços

    • Olá!
      Obrigado pelo comentário!

      Com relação às funções, elas são algoritmos na essência!
      Com entrada, processamento e saída!
      Os parâmetros são as entradas, o corpo é o processamento e o retorno é a saída.

      A diferença entre funções e o algoritmo principal é de onde vem a entrada e para onde vai a saída.
      No algoritmo principal, a entrada vem do usuário e a saída vai para o usuário.
      Na função, as entradas são valores/variáveis que o algoritmo principal (ou outra função/algoritmo) passa para ela.
      E, a saída retorna (!) para o algoritmo principal (ou outra função/algoritmo) que executou/chamou a função em questão.

      Espero que tenha ajudado a esclarecer um pouco mais.
      Por favor, escreva outro comentário dando esse feedback.

      Ah, a entrada/saída do algoritmo principal, normalmente é o usuário, mas pode ser um arquivo, o banco de dados, a rede, etc. 😉

  11. Olá!
    Que hora oportuna para estar diante de tal fonte e ampliar os conhecimentos sobre essa área que acabo de começar. De antemão, já quero te agradecer pela disponibilidade em ajudar e compartilhar, o “algo diferente” que buscava, e que certamente faz por amor.

    Estou começando agora na faculdade e diria que minha dificuldade até o momento é, em relação entender a forma que se ordena a lógica em um algoritmo.

    Obrigado e Boa Sorte !

    • Oi, Lucas!

      Muito obrigado pelo seu feedback!
      Fico feliz em poder ajudar!

      Sobre a forma de ordenar a lógica de um algoritmo, é questão de prática mesmo!
      Veja que eu ainda vou abordar isso durante os artigos que estou escrevendo por aqui.
      Mas, basicamente é uma questão de montar uma espécie de quebra-cabeças passo-a-passo!
      Quando eu estava no colegial, eu lembro que o professo de Física dizia que essa matéria era 90% interpretação de texto e 10% matemática.
      Isso porque tínhamos que entender qual era o problema antes para depois ver como íamos resolvê-lo.

      Veja um exemplo trazido para o nosso mundo dos algoritmos: imagine que você quer saber se um aluno passou ou não de ano.
      Como se faz isso? Veja, como eu disse antes, temos que pensar passo-a-passo.
      Como sabemos se um aluno passou? Oras, temos que saber qual é o critério adotado pela escola.
      Digamos que esse critério seja: “um aluno passo de ano se a média é maior ou igual a 7,0”.
      Muito bom já sabemos resolver o problema! Só que não! rsrs
      Por que não? Oras, porque a gente não sabe a média dele!
      Ok! E como ficamos sabendo isso? Ah! A gente precisa das notas das duas provas e fazemos uma conta com ela!
      Ué… Mas, que conta é essa? Ah! A gente soma as duas notas e divide por dois? Sim! Chamamos isso de média.
      Certo! Mas, e de onde vem essas duas notas? Preciso saber delas!!! Sim, sim… A gente pede para quem sabe isso!
      Ou seja, as notas são as entradas do nosso algoritmo! E, saber se passou ou não é a saída.
      Todo o caminho que fizemos desde a entrada para chegar na saída chamamos de processamento.

      Percebeu que usei o problema inicial e fui voltando até chegar nas informações que preciso?
      Agora, é só escrever o algoritmo da frente para o fim! 😉

      Entradas:
      nota1, nota2

      Processamento:
      media <– (nota1 + nota2) / 2
      passou <– media >= 7

      Saída:
      passou

      Bom, espero que tenha ajudado um pouco.
      Qualquer dúvida, basta escrever mais comentários! 🙂

      Grande abraço para ti!

Participe deixando seu comentário!