I remember "learning" that in university. *shudders*
Surprisingly I never had to learn it in college (CpE here). The logic is all extremely simple and it was surprisingly easy to get started, but since no one can agree on a standard I've had to model out 3 different setups for what should be the same type of relay. Just small stuff popping up that was getting annoying.