I second the Explosive Child book/method.

Do you think it's lack of impulse control? Does he have necessary tools to handle his anger/frustration? Can you help him verbalize his emotions?

I had to remind myself last night _again_ that my child is lacking the skills to behave and not intentionally misbehaves. With that attitude, I can teach him how to behave in difficult situations.

Also, instead of looking at individual incidents (e.g. throwing things after being told no TV), try to look at the bigger picture. Why did he do that? Because he was frustrated being told no TV, but he couldn’t verbalize it. Teaching him how to express his emotions will go a long way.

Just remember, you are not a bad parent. Good luck.