I have five children between the ages of 8 and five months. Let me offer you a "welcome to toddlerhood" high-five. This behavior is completely and totally, 100% normal for his age. A series I would suggest is called "Your ____ Year Old" by Ames and Ilg. If you pick up a copy of "Your One Year Old" I bet you'll read it and think a spy has been living in your house. Sometimes it can be enormously comforting to know that this is nothing you've done "wrong", it's just how they're developmentally wired.
I can tell you that in all honesty, so long as you aren't rushing around to cater to his every whim, that you aren't caving in and giving him whatever he wants when he demonstrates frustration, he will outgrow it without you having to "correct" it out of him. Spanking him is your choice, and spanking can certainly work. Re-directing him can also work. Ignoring in certain situations can also work. Pretty much anything done with relative consistency can work.
The more kids I have, each with their own unique personality and set of challenges--- the more I realize exactly what is simply age-related behavior that will pass with time (and no need to stress on my part) and what is beyond normal and needs more intensive direction. I can promise you that your son, when he is 5, will not act like he does when he one, because he goes through the process of maturity. It is why they don't come out of the womb a walking, talking, grown up and why we get almost two decades to help them work out the kinks :)
I have a vivid memory of my now three year old daughter's very first meltdown. She was the mellowest baby on the planet. In fact I marveled to the world how I had managed to finally get such an easy going baby. She was 16 months old and we were in Best Buy and she had grabbed a Showgirl DVD off the shelf. I made her put it back and she THREW herself on the floor, SCREAMED, ROLLED, pounded her fists....and I remember the very first thought to pop into my head as I watched her demonstration of frustration was "Sigh. Didn't I just do this? Man, I thought I would have more time! I feel like it was only yesterday and now it's here again!"
Does that mean you abdicate parenting? Of course not. :) But I'm here to tell you that you really can't control your son. If you think because you won't tolerate ________ that it means he won't do it.....well, he will. And you cannot control him. You can't "make" him potty-train, you can't make him eat food he doesn't want to eat, you can't make him sleep, you can't make him not scream, or not throw a tantrum. That degree of control will never happen and expecting it will only frustrate you and him. We are parents and it our job and responsibility to teach our children the values we think are important, the behavior we expect, and how to interact with the world at large but ultimately when it comes down to the rubber-meeting-the-road, only they determine how they will act, what words will come out of their mouths, what they will do with their bodies. The faster that is realized, the more you are able to set the both of you up for behavioral success and you are able to be most effective.
You can set boundaries. Boundaries about what *you* will do, or not do. You can maintain boundaries of acceptable and unacceptable behavior, but boundaries recognize that you can't actually control whether your child demonstrates that behavior or not, only what *your* response will be when and if your boundaries are violated.
How do I work with my littles? It all depends on the scenario, the child, the context. First off,what is your boundary (and remember the boundary is about something you control)? How is that boundary being violated? The solutions then stem from those questions.
For example--- I have a boundary that this computer is mommy's computer only. It's mine. For a one year old that is coming up to push buttons on my computer, I enforce the boundary by redirecting the child "Not for ______ (insert child's name") and moving them. A tantrum over that is handled with a calm reflection of their feeling "Oh, that's frustrating!". I don't give in, but I acknowledge and move on. They are allowed to have their feelings, just like I am, and I demonstrate that I am bigger than their big feelings by remaining very calm and out-waiting them until they're done. If they continue to run back in to touch the computer, then they're gated off and not given access to that room. Or, they're put in the playpen for a while if a gate isn't accessible and I need to do something other than chase them from the computer room every 2 seconds. Mine have never been big fans of the playpen. They might have a tantrum about it. I reflect feelings and do what I need to do.
At two they would get a little bit more of a direct "No touch! This is mommy's" and pretty much the above scenario. I sometimes move my keyboard higher so it's not even an issue I need to fight.
By three and four, the consequence for touching my computer is having to have to stay next to me for the remainder of the day or directly in my line of sight.
But you know what? It's a very, very rare issue beyond the age of two. Once they develop out of the motor-driven impulsivity of the toddler-age, they are able to meet the boundary without my constant enforcement. They know the rule and as they mature into the capacity to follow the rule without my assistance, they do so. With constant modeling and instruction in appropriate behavior, as they are able to assimilate that behavior then they internalize it and use it. When they have the words and have been coached on a more acceptable way to express their frustration, then they do it. Rolling, kicking screaming tantrums on the floor give way to just screaming, and that gives way to "I'm so angry! I wanted a cookie and you said no and that makes me upset!".
All of the skills we want to teach them need to be actively taught, and that takes time, a lot of practice, and a lot of patience. Always, I ask myself "What do I want my children to learn? What is age-appropriate? How do I work to teach them this skill at this age?" When I create boundaries, I ask myself "How do I want to reinforce this boundary when it is broken?" In short, it's a mindset. It is not the only way to parent and I certainly don't throw myself up there as an expert, I ultimately parent this way because I like what it does for my relationship with my children, I like that it eliminates a lot of frustration, a lot of stress, and it's working.
I'm sure you're doing a great job with your son! Best of luck!