- Iteración eficiente y correcta: la diferencia entre los bucles UNTIL-do y WHILE-do, las situaciones correctas para el uso de cada uno; cómo escribir pruebas de bucle sin crear variables de “marca” adicionales y rarezas confusas en general.
- Búsqueda y clasificación fundamentales: cómo escribir una búsqueda binaria en una lista ordenada; breve y específico para la lista involucrada. Algoritmos de clasificación fundamentales pero eficientes: clasificación de shell y clasificación de fusión para ejemplos. CS101 hace que uno escriba tales cosas por sí mismo: en la vida real, las bibliotecas se encargan de esto, pero los ingenieros de software (autodidactas y de otro tipo) necesitan aprender y luchar con problemas de búsqueda y clasificación como parte de convertirse en un verdadero programador profesional.
- Potentes estructuras de datos fundamentales, por ejemplo: ¿Qué es un árbol B en lugar de un árbol binario y cómo escribir todas las rutinas CRUD para cada uno?
- Cómo estructurar la lógica de alternancia (IF-THEN-ELSE) para que se comunique con el codificador del mantenedor y genere el comportamiento informático previsto. Las pruebas deben ser “naturales” para el mantenedor. Cada programa de computadora es un acto de comunicación dual: transmitir el comportamiento a la máquina y, al mismo tiempo, transmitir significado y justificación al futuro codificador de mantenedor que necesita comprender para mejorar de manera segura y efectiva. Si su lógica de prueba IF es “difícil de asimilar” (contiene muchos NOT o XOR), debe escribir comentarios cuidadosos, enfocados (y breves) que expliquen. La práctica bajo capacitación formal en la que otros leen y evalúan el código (es decir , CS101 de alta calidad ) da esta lección. Los programadores autodidactas deben buscar mentores que estén dispuestos a leer el código y ayudarlo a aprender este poco de magia.
¿Qué CS101 debería aprender todo ingeniero de software autodidacta?
Related Content
Cómo mantener limpio su sistema host en todos los proyectos
¿Es correcto decir que el software nunca sufre desgaste?
¿Qué es el patrón de diseño singleton?
¿Puede un ingeniero de control de calidad cambiar el mundo?
¿Cómo es la cultura corporativa de Microsoft a partir de 2014?
- Lógica booleana Y O NO XOR, tablas de verdad, reducción lógica. No solo aprendas, internaliza hasta el punto de hacerlo sin pensar.
- Clasificación de datos, indexación, listas, búsquedas de diferentes tipos de datos, sin depender de la funcionalidad que proporcione el idioma elegido. Lo harás todos los días a partir de ahora.
- ¿Cuál es la mejor y más rápida forma de repartir una baraja de cartas? Esta es mi pregunta de entrevista tecnológica favorita.
More Interesting
¿Aprendes a codificar cuando tomas ingeniería de software?
¿Cómo se mantiene el enfoque en aprender constantemente como desarrollador de software?
¿Qué debe hacer el propietario de un producto con las historias de usuario "tal vez más tarde"?
¿Cómo es su experiencia al pasar de Linux a OSX como desarrollador de software?
¿Qué es una pérdida de memoria?
¿Cuál es la mejor manera de aprender sobre ingeniería de software?
¿Cuál es el mejor software para el análisis de circuitos de placa de pruebas?
Cómo crear una [dirección de correo electrónico protegida] como dirección de correo electrónico
¿Cuál es el mejor lugar para publicar trabajos de desarrollador en la ciudad de Nueva York?
¿Qué es un resumen del artículo 'The Mythical Man-Month'?
¿Cuándo y por qué Haskell se convirtió en un lenguaje viable?