¿Debería un ingeniero que no sea CS aprender programación, algoritmos y estructuras de datos?

Si. sin lugar a duda. ¿Pero por qué?

La programación te enseña cómo funcionan estas máquinas a tu alrededor. Las computadoras, los teléfonos móviles, casi todo lo que te rodea, y los usas a diario, pero no tengo idea de cómo funcionan. Suena ignorante, ¿no?

Cuando aprende algoritmos y se le da un problema que resolver, su cerebro comienza a funcionar de manera estructurada y lógica para encontrar soluciones.

Comienza por comprender el problema (descomponerlo en pedazos pequeños si es necesario), analizarlo (cuáles son las entradas, salidas y restricciones a su alrededor), y luego pensar en soluciones, ver cuál encaja mejor, codificarlo, y probarlo No todo eso, tendrá la capacidad de encontrar los errores y corregirlos.

Necesitamos estructuras de datos porque pensamos de esta manera como seres humanos, o al menos, se supone que debemos hacerlo.

Una receta es una estructura de datos real, como lo es una lista de compras, un directorio telefónico, un diccionario, etc. Todos tienen una estructura, tienen un formato.

Bill Gates tuiteó esto en algún momento:

Si bien puedes preguntarte sobre sus pensamientos detrás de esto, permíteme garabatear algunos de los míos:

De la forma en que el mundo está cambiando y adoptando la tecnología, no está lejos cuando se puede ver un pequeño chip detrás de cada pequeña cosa en la mayoría de los hogares, ya sea el timbre de su puerta o su refrigerador o puede ser su cepillo de dientes. Ahora habría algún código escrito sobre cada uno de estos chips para hacer todas las cosas elegantes que es muy probable que te intimiden. Aprender a codificar es cada vez más fácil a medida que pasa el tiempo. Hay más recursos que nunca. Las bibliotecas de código abierto se están convirtiendo en una bendición. Lo que podría tomar tanto tiempo para aprender y codificar hace años ahora se puede hacer en mucho menos tiempo con mucho menos esfuerzo. Pronto, la mayor parte del trabajo se automatizaría y eso sería el final de los trabajos mecánicos. Puede ser parte de este cambio o quedarse atrás. Volviendo a la pregunta, sí, es razonable aprender programación y lógica (DS y Algos). No porque quieras trabajar en una de las empresas, sino porque sería bueno saber cómo ocurre la magia (al menos en forma cruda).

Escribo sobre programación y experiencias de la vida. Si me sigues, no te decepcionaré. Aashish Barnwal

A2A.

Como yo mismo soy estudiante, no sé cuán calificado estoy para responder esto. Pero permítanme presentar una opinión con el descargo de responsabilidad de que el lector debe hacer su propia investigación.

Las computadoras se están convirtiendo en partes integrales del mundo en el que vivimos. Estamos entrando en una era en la que el enfoque parece estar en la automatización de todas y cada una de las tareas. La implicación es que, en este punto, aprender programación, algoritmos y estructuras de datos es una “opción segura”. Entonces esa es una forma de cortarlo. Tenga en cuenta que esto NO significa que otros trabajos sean / serán inútiles. Todavía necesitamos y probablemente seguiremos necesitando médicos, ingenieros, gerentes, etc.

La otra forma de pensar es que la programación, los algoritmos y las estructuras de datos le enseñan a pensar sobre los problemas y resolverlos. Por lo tanto, podría valer la pena aprenderlos, especialmente si se dirige a un campo técnico. Podría darle una nueva perspectiva en la resolución de problemas que podría ser útil algún día.

Espero que haya ayudado. Nuevamente, recuerda el descargo de responsabilidad.

Todo lo mejor 🙂

More Interesting

¿Cuál es su proceso de pensamiento cuando selecciona y define nuevas variables cuando escribe código?

¿Cuál es una buena explicación de la asignación de Dirichlet latente?

¿Cuáles son las cosas más incomprendidas sobre programación competitiva y concursos de programación como ACM ICPC?

¿Cuál es la diferencia entre la implementación de HPLC y FTIR?

¿Alguien puede aprender las ideas asociadas con los algoritmos sin aprender a codificar primero?

¿Cuál es el algoritmo de esta pregunta de Hacker-Rank?

Ahora que los bitcoins son famosos y caros, ¿cómo reaccionaría el mercado ante un clon de Bitcoin que utiliza un algoritmo, tecnología, etc. idénticos?

Cómo diseñar una estructura de datos que pueda almacenar 1-1000 números

Programación competitiva: dado un polígono y tres cuadrados congruentes alineados con el eje, ¿puede determinar en tiempo polinómico si el polígono puede cubrirse por completo de manera que los tres cuadrados, que pueden superponerse, cubran una cantidad igual de área en el polígono?

¿Dónde encuentro los mejores recursos para aprender algoritmos y estructuras de datos?

Cómo escribir una matriz para un libro de calificaciones que acepte 10 entradas y no requiera usarlas todas

¿Qué institutos mejor C o estructuras de datos o facultad en Hyderabad?

¿Qué es más rápido, encontrar un elemento en una tabla hash o en una lista ordenada? ¿Suena fácil? Pensar, repensar y comentar.

¿Qué es una estructura de datos dinámicos de pila?

¿Cuál es la complejidad de este algoritmo de conteo de bits?