- Código limpio:un manual de artesanía de software ágil por Robert C. Martin
- Código completo:un manual práctico de construcción de software por Steve McConnell
- El programador pragmático:de oficial a maestro por Andrew Hunt y David Thomas
- Patrones de diseño:elementos de software reutilizable orientado a objetos por Erich Gamma, Richard Helm, Ralph Johnson y John Vlissides
- Patrones de diseño Head First:una guía amigable para el cerebro por Eric Freeman, Elisabeth Robson, Bert Bates y Kathy Sierra
Cursos en línea:
- edX ofrece una serie de cursos gratuitos en línea sobre programación de computadoras, que incluyen "Introducción a la informática" e "Introducción a la inteligencia artificial".
- Coursera También ofrece cursos gratuitos en línea sobre programación de computadoras, como "Programación para todos" y "Especialización en ciencia de datos".
- Udacidad Ofrece cursos en línea sobre una variedad de lenguajes y tecnologías de programación, como "Introducción a Python" e "Introducción al desarrollo web".
- Visión plural ofrece cursos en línea pagos sobre una variedad de lenguajes y tecnologías de programación, como "Fundamentos de Java" y "Fundamentos del desarrollo web".
Documentación:
- La documentación oficial de muchos lenguajes de programación y bibliotecas es un recurso valioso para aprender a diseñar y escribir programas informáticos. Por ejemplo, la documentación de Python, la documentación de Java y la documentación de C++ están disponibles en línea.
Proyectos:
- Una de las mejores maneras de aprender a diseñar programas de computadora es comenzar a escribir los suyos propios. Puede encontrar muchas ideas para proyectos de programación en línea o puede crear las suyas propias. Comenzar un proyecto puede ayudarte a practicar las habilidades que has aprendido y consolidar tu comprensión de los conceptos de programación.
Tutoría:
- Si realmente quieres aprender a diseñar programas de computadora, quizás quieras considerar buscar un mentor que pueda guiarte y responder cualquier pregunta que tengas. Podría ser un profesor, un asistente de enseñanza o un programador con más experiencia. Tener un mentor puede brindarle comentarios y apoyo valiosos a medida que aprende.