Come laureando in ingegneria elettrica, quali sono tutti i software, le competenze informatiche, i linguaggi di programmazione che dovrei conoscere?

Riferimenti:

  1. Pasquale Ferrara'risposta a Quanta programmazione c'è in ingegneria elettronica e delle comunicazioni?
  2. Pasquale Ferrara'risposta a Quali sono i diversi linguaggi di programmazione che un ingegnere elettronico deve avere nel suo arsenale?

MATLAB per la modellazione matematica, la progettazione e l'analisi di sistemi/filtri e la simulazione è usato nell'ingegneria del controllo e nell'elaborazione dei segnali

Progettazione di circuiti integrati (IC) analogici/RF e a segnale misto: SPICE (se possibile), Tcl (se possibile), Perl, Python (se possibile), script di shell UNIX

Progettazione VLSI: Verilog (soprattutto negli Stati Uniti; altrimenti, VHDL), SPICE (se possibile), Tcl (se possibile), Perl, Python, script di shell UNIX

LaTeX (+ BibTeX) e Markdown per la documentazione. Opzionale: Asymptote, TikZ e MetaPost per il disegno

Scripts di shell UNIX: Per lavorare in modo efficiente ed efficace in un sistema operativo UNIX-like; sapere come usare le espressioni regolari.

C, C++, FORTRAN: Per classi che coinvolgono metodi numerici, come la progettazione di antenne, interferenze e capacità elettromagnetiche (EMI/EMC).

LabVIEW: ingegneria energetica; progettazione, modellazione e analisi di macchine elettriche; progettazione di smart grid; acquisizione dati; prototipazione di sistemi (puoi usare LabVIEW per progettare sistemi VLSI su schede FPGA)

Linguaggi di programmazione assemblati, C, C++, e SystemC (a livello di transazione) per sistemi embedded

Se hai l'opportunità di prendere lezioni intermedie (tipicamente rivolte a junior, senior, e forse a studenti laureati) in >3/4 temi (o >10 lezioni introduttive a varie aree di ricerca), ti suggerirei di imparare quanto segue:

  1. C++: you can pick up C and Java from C++
  2. MATLAB for aforementioned areas in electrical engineering, and numerical methods
  3. Python: for process automation and numerical methods
  4. UNIX shell scripts: for process automation
  5. LaTeX (+ BibTeX) for documentation
  6. Verilog/VHDL: VLSI design
  7. SPICE: IC design
  8. Any other languages that are required for your classes, such as LabVIEW, and assembly programming languages (e.g., MIPS, ARM, Intel x86, and Motorola 68000)

By intermediate classes, I mean the following:

  1. Electrical machines
  2. Electrical Power Distribution (Networks)
  3. Power electronics
  4. Control systems
  5. RF engineering
  6. Telecommunications
  7. Communications theory
  8. Communications engineering
  9. Signal Processing
  10. Embedded systems
  11. Computer architecture
  12. Real-time systems
  13. Device engineering
  14. Optical engineering
  15. VLSI design
  16. Analog/RF and Mixed-Signal IC design
  17. Computer networks
  18. Operating systems

Sembra assurdo prendere più di 10 di questi corsi. Tuttavia, in programmi competitivi di ingegneria elettrica, avrete la fortuna e l'opportunità di farlo. Questo può comportare un sacco di notti in ritardo e notti intere nel tentativo di completare i tuoi compiti e progetti di ingegneria in tempo. Tuttavia, imparerai molto sull'ingegneria elettrica e sulla portata dei percorsi di carriera in cui puoi avventurarti con il tuo background in ingegneria elettrica. Vedi Come competere e innovare gli altri con le lauree EECS in molte professioni. Personalmente, ho preso più di 8 di queste classi intermedie come studente universitario, e alcune altre come studente laureato.