Livros: - Código Limpo:Um Manual de Artesanato de Software Ágil, de Robert C. Martin
- Código completo:um manual prático de construção de software por Steve McConnell
- ThePragmatic Programmer:From Journeyman to Master por Andrew Hunt e David Thomas
- Padrões de Projeto:Elementos de Software Orientado a Objetos Reutilizáveis por Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides
- Padrões de design Head First:um guia amigável para o cérebro, de Eric Freeman, Elisabeth Robson, Bert Bates e Kathy Sierra
Cursos on-line: -
edX oferece vários cursos online gratuitos sobre programação de computadores, incluindo "Introdução à Ciência da Computação" e "Introdução à Inteligência Artificial".
-
Cursora também oferece cursos online gratuitos sobre programação de computadores, como “Programação para Todos” e “Especialização em Ciência de Dados”.
-
Udacidade oferece cursos on-line sobre uma variedade de linguagens de programação e tecnologias, como "Introdução ao Python" e "Introdução ao Desenvolvimento Web".
-
Pluralsight oferece cursos on-line pagos em uma variedade de linguagens e tecnologias de programação, como "Fundamentos de Java" e "Fundamentos de Desenvolvimento Web".
Documentação: - A documentação oficial de muitas linguagens de programação e bibliotecas é um recurso valioso para aprender como projetar e escrever programas de computador. Por exemplo, a documentação do Python, a documentação do Java e a documentação do C++ estão todas disponíveis online.
Projetos: - Uma das melhores maneiras de aprender a projetar programas de computador é começar a escrever os seus próprios. Você pode encontrar muitas ideias para projetos de programação on-line ou criar as suas próprias. Começar um projeto pode ajudá-lo a praticar as habilidades que aprendeu e a solidificar sua compreensão dos conceitos de programação.
Mentoria: - Se você quer mesmo aprender a projetar programas de computador, considere encontrar um mentor que possa ajudar a orientá-lo e responder a quaisquer perguntas que você tenha. Pode ser um professor, um assistente de ensino ou um programador mais experiente. Ter um mentor pode fornecer feedback e apoio valiosos à medida que você aprende.