This might be overkill, but I have just started going though this:
https://6002x.mitx.mit.edu/
"6.002x (Circuits and Electronics) is designed to serve as a first course in an undergraduate electrical engineering (EE), or electrical engineering and computer science (EECS) curriculum. At MIT, 6.002 is in the core of department subjects required for all undergraduates in EECS."
Eric