quinta-feira, 21 de fevereiro de 2013

Dica: Projeto Euler


Existe um site chamado ProjectEuler.net, que contém uma série de problemas de matemática para serem resolvidos através da elaboração de algorítmos e implementados em alguma linguagem de programação.
Como cada problema pode ser solucionado de diversas formas, existe uma regra geral para validar uma solução: o programa deve encontrar a resposta em menos de um minuto.
Então, cada problema é um desafio para a sua criatividade.
É uma excelente ferramenta para quem está aprendendo programação, ou, para quem está aprendendo uma nova linguagem, e também, para quem quer resolver problemas não relacionados com o dia-a-dia de seu trabalho.
Outra coisa interessante é que ao resolver o problema, você tem acesso ao forum do problema onde pode acompanhar as discussões sobre as dificuldades do problema e, principalmente, as diversas soluções apresentadas na sua linguagem e em outras.

Estou aproveitando para resolver os problemas usando os recursos da linguagem Java. Para solucionar os problemas estou usando uma estratégia de "reinventar a roda", ou seja, sempre que possível procuro desenvolver uma rotina própria ao invés de usar um recurso pré-existente.
Por exemplo, em problemas envolvendo grandes números (com centenas de dígitos) não faço uso do BigDecimal, ou BigInteger.
É uma forma de conhecer e programar rotinas com outra visão.

Outra regra muito importante é: Não publicar a solução dos problemas.
Afinal, o que importa é cada um descobrir a sua solução!

Bons códigos!

sábado, 9 de fevereiro de 2013

Releituras


Aproveitando o início do ano, fiz um ciclo de revisão de conhecimentos.
Reli os livros abaixo.

  1. Java concorrente na prática - Brian Goetz

  2. Google Android para Tablets - Ricardo Lecheta

O livro seguinte eu estou lendo um ou outro tópico por semana.

  3. Effective Java - Joshua Bloch

Essa revisão foi muito proveitosa, usei para me aprofundar em alguns tópicos que tinha deixado para depois ou não tinha entendido completamente.

O foco neste semestre é ficar atualizado com os estudos do Android até o Jelly Bean.

quinta-feira, 7 de fevereiro de 2013

Estudando Fragments

  Nos últimos dias tenho dedicado boa parte do meu tempo livre para estudar a API Fragments.
  Além do natural uso para gerenciamento de views, abre-se uma gama de possibilidades para usar como background worker (sem tela) para activities e também para outros fragments. Em muitas situações, poderá substituir um worker service com vantagens.


 

sábado, 2 de fevereiro de 2013

Dica: Método de estudo

  Num post antigo, descrevi minha técnica de estudo:
"Estou usando uma técnica de aprendizado incremental.
Funciona assim:
-Defino uma lista de assuntos a estudar.
-Estudo o básico sobre cada assunto.
-Revejo a lista de assuntos, eliminando ou acrescentando novos itens.
-Estudo novamente cada assunto, desta vez acrescentando mais profundidade em cada tema estudado.
Tenho repetido esses ciclos por diversas vezes, e tem dado um bom resultado para mim. A vantagem disso é que como sei que vou voltar ao assunto, se ele estiver muito difícil ou incompreensível para mim naquele momento eu não gasto muito tempo nem energia com ele, sigo em frente. No próximo ciclo de estudos, terei agregado experiência e novos conhecimentos para entendê-lo."
  Esta técnica se adapta muito bem para uma plataforma que está em franca evolução como o Android. A cada nova versão do SDK vem acompanhado de novidades, alterações, substituições.  

  Eu aplico essa técnica na leitura de livros técnicos. Primeiramente, eu faço uma leitura "superficial" para me inteirar dos assuntos tratados no livro, me detendo apenas em um ou outro tópico que esteja mais interessado no momento. Numa segunda leitura, faço uma revisão dos conhecimentos que já tenha incorporado, me detenho mais atentamente em outros tópicos que ainda não esteja usando mas que já saiba que serão importantes para uso futuro. Refaço esse ciclo até que esteja "dominando" os assuntos tratados no livro, aí, ele vira livro para consulta tópica, específica ou eventual e vai para a estante!
 
  Que fique claro, que eu faço isso com livros que considero de conhecimentos que sejam fundamentais, não dá para fazer isso com todos.

  Cada um tem o seu método de estudar, fica aí o meu. Pode ser útil para você, se está tendo dificuldades em aprender algo.

  Bons estudos!