/OSEE

Open-source Electrical Engineering Curriculum

MIT LicenseMIT

Open-Source Electrical Engineering Curriculum

This repository consists of a series of online courses and textbook recommendations that together cover most of the basic Electrical Engineering knowledge, similarly to a bachelor's degree.

While I strongly recommend going to an actual university, nowadays we have a wide array of extremely high quality online education resources. Deciding what to study on your own might be difficult when the catalogues are long, and I hope I can at least guide you if you have no idea where to start.

For those of you in the path of obtaining an actual BSEE degree, this might still be useful since it can complement your education.

The curriculum is based on my personal experience completing a BSEE at the Federal University of Rio Grande do Norte, which was a 5 years long programme, but revised to fit into 3 years due to the strong inspiration I got from ETH Zürich's and MIT's curriculums.

Naturally, the actual time you invest highly depends on how many hours a day you put on the online courses and how many of them you want to go through. The textbooks themselves are all good on their own, and valuable resources by themselves if you're good at self-learning.

Structure

The curriculum is split into 2 parts, a mandatory core and several electives. The core aims to cover the basic knowledge every electrical engineer should know (even if you're not a specialist), opening the doors to the more specific knowledge. Some universities allow you to choose a specialisation, focusing on a single part of EE, which is exactly how the 5th and 6th semesters are designed here.

Core

The core is divided into 4 knowledge areas:

  • Mathematics: Calculus, Linear Algebra, Statistics, etc.
  • Electricity: Electromagnetic Theory, Electric Circuits, Electronics, etc.
  • Computing: Boolean Algebra, Logic Circuits, Programming, etc.
  • Signals: Signals and Systems, Control, Communications, etc.

The "Mathematics" subjects are the very first pillars engineers needs to build in order to sustain the rest of our knowledge, you'll need calculus to understand electricity, linear algebra to understand robotics, statistics to understand communications, etc.

The "Electricity" subjects are related to the physical aspects of electromagnetic waves and electronics, which are used in clever ways to build everything else in EE.

The "Computing" subjects cover the logical parts of digital electronics, an area of knowledge that ended up giving birth to IT, CS, CE, etc.

Finally, the "Signals" subjects cover what might be the most unique knowledge in EE, being able to understand what the frequency domain is and how we can design things outside the time-domain. Signals and Systems will lead the way to all knowledge related to control systems, communications systems, computer vision, etc.

1st Semester

Introduction to Electrical Engineering

I strongly recommend checking YouTube videos about electronics, hardware, software, etc. See if they interest you. Recommending a textbook is extremely difficult since what you want is an overview of what EE is all about, but that doesn't mean cool casual books don't exist. Brian Kernighan, the author of the quintessential C language book, wrote something very interesting aimed at people who don't work in the technology field but who'd still want to understand the basics of computing and the digital world. It was never meant to be read by engineering students, but it can be a good introduction since it gives you a showcase of many concepts without delving too deep into technical details.

Recommended book:
Understanding the Digital World - Brian Kernighan

Trustworthy resources:
AnandTech
EEVblog
ElectroBOOM
Computerphile

Calculus

Recommended textbooks:
Calculus - Gilbert Strang

Trustworthy resources:
Calculus 1A - Differentiation
Calculus 1B - Integration
Calculus 1C - Coordinate Systems and Infinite Series

Linear Algebra

Recommended textbook:
Linear Algebra - Gilbert Strang
Linear Algebra Applications - Steve Leon

Trustworthy resources:
Introduction to Linear Models and Matrix Algebra
Linear Algebra: Foundations to Frontiers
Differential Equations: Linear Algebra and NxN Systems of Differential Equations

Boolean Algebra and Logic Circuits

Recommended textbooks:
Digital Design - Frank Vahid
Digital Design RTL VHDL Verilog - Frank Vahid

Trustworthy resources:
Computation Structures Part 1: Digital Circuits

2nd Semester

Probability Theory and Statistics

Recommended textbooks:
All of Statistics: A Concise Course in Statistical Inference - Larry Wasserman
Grinstead and Snell’s Introduction to Probability

Trustworthy resources:
Fundamentals of Statistics
Statistics
Probability
Statistics and R

Electricity and Magnetism

Recommended textbooks:
Electromagnetic Field Theory - Markus Zahn

Trustworthy resources:
Electricity and Magnetism Part 1
Electricity and Magnetism Part 2
Electricity and Magnetism: Electrostatics
Electricity and Magnetism: Fields and Forces
Electricity and Magnetism: Maxwell Equations

Programming Logic and Algorithms

Recommended textbooks:
C Programming Language - Brian W. Kernighan, Dennis M. Ritchie
C Programming A Modern Approach - K. N. King

Trustworthy resources:
Introduction to Computer Science
Introduction to Computer Science and Programming
Basics of Computing and Programming

Linear Systems and Signals

Recommended textbooks:
Linear Systems and Signals - Lathi
Signals and Systems - Alan V. Oppenheim, Alan S. Willsky, with S. Hamid
Discrete-Time Signal Processing - Alan V. Oppenheim, Ronald W. Schafer

Trustworthy resources:
Signals and Systems Part 1
Signals and Systems Part 2
Differential Equations: Fourier Series and Partial Differential Equations
Discrete Time Signals and Systems Part 1: Time Domain
Discrete Time Signals and Systems Part 2: Frequency Domain
Discrete Time Signal Processing

3rd Semester

Discrete Mathematics

Trustworthy resources:
Mathematical Modelling Basics
Computational Thinking for Modelling and Simulation
Introduction to Programming with MATLAB

Electric Circuits

Recommended textbooks:
Fundamentals of Electric Circuits - Matthew Sadiku

Trustworthy resources:
Circuits and Electronics 1: Basic Circuit Analysis

Digital Systems and Computer Architecture

Recommended textbooks:
Computer Architecture A Quantitative Approach - David A Patterson and John L. Hennessy
Computer Organization and Design RISC-V Edition: The Hardware Software Interface - David A Patterson and John L. Hennessy
Digital Design and Computer Architecture - Harris and Harris
Digital Systems, Global Edition - Tocci
Digital Design RTL VHDL Verilog - Frank Vahid
Logic & Computer Design Fundamentals - M. Morris R. Mano, Charles R. Kime, Tom Martin

Trustworthy resources:
Nand2Tetris Part 1
Nand2Tetris Part 2
Computation Structures 2: Computer Architecture
Computation Structures 3: Computer Organization

Control Systems

Recommended textbooks:
Control Systems Engineering - Norman Nise
Modern Control Systems - Richard C. Dorf

Trustworthy resources:
Introduction to Control System Design - A First Look
Dynamics and Control
Introduction to State Space Control

4th Semester

Power Systems Analysis

Recommended textbooks:
Power System Analysis - Hadi Sadaat

Electric Machines

Recommended textbooks:
Fitzgerald & Kingsley's Electric Machinery

Electronics

Recommended textbooks:
Microelectronic Circuits - Sedra
Microelectronics - Razavi
Electronic Principles - Malvino

Trustworthy resources:
Circuits and Electronics 2: Amplification, Speed, and Delay
Circuits and Electronics 3: Applications
Principle of Semiconductor Devices Part I: Semiconductors, PN Junctions and Bipolar Junction Transistors
Principle of Semiconductor Devices Part II: Field Effect Transistors and MOSFETs

Communication Systems

Recommended textbooks:
Modern Digital and Analog Communication - Lathi

Trustworthy resources:
A System View of Communications: From Signals to Packets (Part 1)
A System View of Communications: From Signals to Packets (Part 2)
A System View of Communications: From Signals to Packets (Part 3)
IoT Networks and Protocols

5th and 6th Semesters

This is where the core principles of Electrical Engineering are completely covered. The student should freely choose the remaining subjects based on personal interests and the preferred knowledge area. I won't bother specifying specific courses since by now you're probably used to edx and coursera.

Power Systems Subjects
Power Systems II
Power Substations
Power Protection

Electronics Subjects
Power Electronics
Nanoelectronics
RF Electronics
Electromagnetic Compatibility
Semiconductor Physics
Optoelectronics

Digital Electronics Subjects
VLSI Design
Functional Verification
Design For Testing
Embedded Systems

Computing Subjects
Operating Systems
Machine Learning
Computer Vision
Computer Networks

Control Subjects
Adaptive Control
Non-Linear Systems

Communications Subjects
Digital Signal Processing
Advanced Compression and Coding
Antennas
Optical Communications
Wireless Communications

Prerequisites

The following image illustrates the "flow" in which subjects should be studied in order to facilitate them.

Prerequisites