Well, if it makes you feel any better, it's (usually?) a first year uni class (right after DC steady state -- circuits, resistors, voltages and currents).
Although, even after four years and a steep dropout rate, I suspect few graduates actually remember how to do it.
Well, maybe that doesn't help much.

Are you familiar with DSP systems? Suppose you're doing that, but instead of integers* in a register, you have continuous values, with units attached (voltage/current), and the coefficients are the impedance ratios in the circuit. That might help?
*Or floats, but they're still some number of bits, not an actual real number.
The final step of course is not just removing quantization (replacing it with Johnson noise, or other noise sources as needed for the model), but going from difference equations (fixed timestep) to differential equations (continuous time). For well-behaved systems, this is surprisingly straightforward; not that differential equations are ever terribly easy to solve, but for LTI** systems, it leads into pole-zero analysis, and hence you have engineers talking about poles and zeroes in a system's frequency response.
**Linear time-invariant. Basically, the equation doesn't depend on any other variable in the system: it can be written as a polynomial in differentials (i.e., derivatives of the state variable, multiplied by constant coefficients). There aren't any coefficients depending on time, or on the state variable. (Except for a "source" function, which is separable from the rest of the equation.)
This won't mean anything if you don't have a calculus background, so don't mind that in that case -- suffice it to say, it's the simplest, easiest case, one that is actually tractable by hand (once you do have a calculus and diff eq background).
If you do know DC analysis, then AC is the same, but on the domain of complex numbers (i.e., pairs of real numbers -- one associated with the "imaginary" constant j, such that j*j = -1, and you just write everything out that way and see what follows), and with impedance functions rather than constant resistances. So, everywhere you would write R, you write R for a resistor, jωL for an inductor, or 1 / (jωC) for a capacitor. Analysis works exactly the same, so that, say, the resistance divider equation Vo/Vi = R2 / (R1 + R2), becomes the impedance divider Vo/Vi = Z2 / (Z1 + Z2), where Z1 and Z2 are whatever their component impedances happen to be.
You can figure out some basic things, like the voltage or current gain of a series or parallel resonant network, with respect to frequency, and where resonance is. The algebra is somewhat nontrivial, so do take it easy, don't get overwhelmed.

Proving it in general -- for an LC or RLC filter, say -- is much more difficult, but there are proofs for that, and frameworks to use.

Tim