El código de aprendizaje puede ser útil para cualquier estudiante o profesional de ingeniería, pero las EE probablemente se beneficien al máximo porque su campo se superpone con Ingeniería de Computación en el nivel de interfaz hardware-software. Las computadoras están en todas partes, y saber cómo funcionan sus herramientas de ingeniería profesionales en un nivel básico puede hacer que sea más capaz con esas herramientas. Donde fui a la escuela, todos los estudiantes de ingeniería tuvieron que tomar un curso en Matlab, y si la memoria me sirve bien, los ME tendrían que tomar un curso de introducción a la programación en C.
El uso más obvio y general para la codificación fuera de la ingeniería de software es en las secuencias de comandos. Las secuencias de comandos generalmente son menos complicadas que la programación general y se utilizan con frecuencia para automatizar tareas repetitivas. Si eres un estudiante de EE, probablemente estarás expuesto a Matlab o una herramienta igualmente poderosa. Matlab es una gran calculadora, pero se vuelve mucho más capaz cuando eres capaz de escribir tus propias funciones y scripts.
Matlab y los lenguajes de script de propósito general, como Perl o Python, vienen con grandes bibliotecas con toneladas de funcionalidad. Parece que Matlab tiene un comando para casi cualquier cosa relacionada con la ingeniería, y los lenguajes de propósito general tienden a tener paquetes / módulos para hacer casi cualquier cosa. Tener algunas habilidades generales de programación le da acceso al poder que ofrecen estas herramientas.
Los shells de línea de comandos (como el Símbolo del sistema o PowerShell en Windows, o Bash en Linux / Unix / MacOS) se parecen más a los lenguajes de script específicos del sistema que facilitan la automatización de flujos de trabajo y la interfaz de diferentes programas. Los programas con una interfaz de línea de comandos son mucho más fáciles de escribir / automatizar que aquellos con solo una interfaz gráfica. Las habilidades de programación pueden ayudar a que la línea de comandos se sienta menos misteriosa o arcaica.
- ¿Cómo puede un estudiante con conocimientos lingüísticos aprender mejor la programación?
- ¿Qué tan difícil es para una persona Odia aprender idiomas del sur de la India?
- ¿Dónde puedo aprender los conceptos de Spring Framework en Java?
- Estoy interesado en aprender el lenguaje de señas (ASL) para poder hacer trabajo voluntario con niños sordos o adultos. ¿Cuánto tiempo me tomaría, estudiar a tiempo parcial, tener suficientes habilidades de comunicación para ser de alguna utilidad para alguien?
- Después de aprender C y Java, ¿qué lenguaje o tecnologías web debo aprender a continuación?
En caso de que no lo hayas notado, las computadoras se están abriendo camino en casi todos los dispositivos electrónicos. Una EE funcionará con o cerca de los microcontroladores, e incluso puede necesitar escribir firmware de bajo nivel. La competencia de programación básica es absolutamente una ventaja aquí, ya que le brinda una perspectiva más amplia sobre qué papel desempeña en el sistema más grande. Los EE también tienen una mala reputación entre los ingenieros de software que terminan heredando su código (como es de esperar cuando muchos reciben poca capacitación formal en programación).
Un área de EE es el diseño de hardware, y entre las herramientas utilizadas en este campo están los lenguajes de descripción de hardware. Los dos más populares de estos idiomas (que yo sepa) son Verilog y VHDL. Escribir “código” en un HDL no es exactamente como escribir un programa ejecutable, pero es sorprendentemente similar. En lugar de compilar su código en instrucciones ejecutables para un procesador, la computadora está compilando su código en un dispositivo físico de hardware. Tiene algún hardware, como los FPGA (Arreglos de Puertas Programables de Campo), que pueden, como su nombre sugiere, ser reprogramados en el campo para realizar diferentes funciones de hardware.
Estoy seguro de que me estoy perdiendo mucho aquí, pero esas son las mejores razones por las que puedo pensar por qué una EE podría querer aprender a programar.