I'm a programmer, but not savvy with robotics (to lay a baseline for my lack of knowledge). I have a game-simulated arm that allows me to set joint angles which it will automatically move the joints to match, unless blocked. Thus this is a very high-level control scheme; I don't need to worry about forces and actuators directly. For my use-case I also needn't concern myself with how fast the arm can react or the servo delay.
What I need to understand is how I translate joint measurements and allowed angles into linear equations / matrices, and then how to plug in the desired end-effector location/orientation to those matrices to get the set of joint angles as an output (or an error if the desired coordinate cannot be reached with the given arm constraints). I know the full answer must be involved and long, involving multiple chapters of a robotics textbook; a high level explanation plus a pointer to freely published resources is all I'm expecting.