I'm just starting to look into creating Source mods for HL2 and I'm a little bit confused. I've gone through some tutorials on level creating to get the basics and it seems to me that it's all that really goes into the creation of a mod. I know I'm wrong so could someone please explain to me where the programming comes in? Is it more than just sticking NPCs and objects on a map?
You can create levels -- place existing objects in them and specify their behavioral parameters to an extent -- without programming. Programming in mods generally comes in to play when you want to modify or tweak the intrinsic behavior of things in the game, or create entirely new kinds of things with unique AI or effects, beyond what is possible by the stock engine and object library.
For Source specifically this tends to include things like entity behavior and AI, networking, rendering effects, and UI.