I would say that whatever your relationship with your son's dad, make sure you are both TOTALLY on the same page in how you react to his bad behavior. This also includes any grandparents or babysitters who watch your son. He has to understand that there are consequences to bad behavior and that they are always going to happen no matter who he is with.
When my son was that young, I found that 'reward' boards did NOT work. The 'reward' is too far away and too intangible for the child to keep in his head. Here are some other ideas though:
1)How much TV are you letting him watch? I have to say, when we got really hardcore about TV and cartoons and did not let my son watch it regularly, it improved his concentration and focus a LOT when he was small. We used 15 minute periods of TV as a reward for GOOD behavior and a tantrum or something like that automatically meant no videos or cartoons for the rest of the day.
2)Hitting is never, ever ok. You have to just keep drumming this into your son- tell him over and over. If you are someplace else, take him out of the situation- the store, park, etc. Make sure he learns to apologize both to you and anyone else he smacks. Saying 'sorry' is one way to link the hitting with THINKING about the hitting and being aware of doing it is a step closer to controlling it .
Even when he has been good, you can tell him in a positive way before bed or at dinner -
"I saw that you didn't hit anyone today at the park and you played really nicely with everybody. That made me so proud and you really had fun, didn't you? Can you try and do the same tomorrow?" This keeps it in his mind- hitting= bad consequences, not hitting= positive.
If he keeps this up in preschool you will have a much bigger issue to deal with. I know time outs have probably not been too effective, but we found that they worked as long as we REALLY enforced them.
If you have a pack n play or play pen still, put him in there with NO toys, no tv no nothing for a 3 minute time out when he misbehaves. he will cry and scream and try to get out, but do not give in.
Tell him calmly before you put him in why he is in time out and set a timer. Tell him if he is still screaming when the timer goes off, he has earned another minute and that he will have to apologize to get out of time out. If he tries to climb out, just pick him up - kicking and screaming if need be!- and put him back in.
3) In public, if he acts up or screams or throws a tantrum, leave the store IMMEDIATELY. I know what a pain this is- but you are training him that if he whines or misbehaves, not only will he NOT get the thing he wants, he will be removed entirely! Put him in his car seat, tell him you cannot take him out until he calms down and sit in the front seat and read a book for a few minutes. Make him understand that bad behavior is not going to be rewarded with treats and attention- just the opposite! AS SOON as he settles down, immediately say " See? I knew you could calm yourself down and be a good boy. Can you say sorry to mama? Let's have a hug" give him a hug and ask him if he thinks he can keep from doing the same thing again if he goes back into the store, restaurant, etc. If he sniffles and nods yes, then try it again. Repeat as often as needed.
4)As a last resort- my mom did this to my son once and it TOTALLY worked!! In a last resort, if it is a major meltdown- try gently pouring a glass of water over his head. My son was about 3 and just totally lost it at a family holiday- kicking and screaming. I took him upstairs but just could NOT get him to settle down ( he was overtired from playing and traveling, etc)
Then my mom came up and tried to let him 'cry it out' but he still just didn't wind down. Finally she went and got a glass of water and said to him very calmly,
"William, I am getting worried that you just are not going to stop crying and screaming at your mommy and I. I think maybe if I pour this glass of water over your head, it might help you stop."
He paused for a minute and just looked at her- it was something new, so it got his attention. Then he got this LOOK in his eye like " I DARE you' and started up again louder than ever. My mom just said "Ok, I guess I have to pour the water now."
She slowly poured the whole glass over his head! He was so surprised that he stopped screaming and kicking and she reached out and took him in her lap. He started just crying and sniffling- he had to be totally exhausted at this point- and she said,
"Now, I am sorry I had to pour that water on your head, but you weren't stopping, so I needed to get your attention. Let's calm down and have a rest here for a while" He stayed with grandma and fell asleep and I went back to dinner.
As I said, this was extreme- but she didn't throw the water in his face or anything - and a couple of other times when he had tantrums, I would say "Do I have to get a glass of water like Grandma?" and he would sort of stop, then start giggling remembering it, and the tantrum would pass.
Remember, your job is to keep him safe and make sure he does not hurt himself when he is throwing a tantrum. It is NOT always your job to make sure he is happy! You would not let him drive a truck just because he wanted to, or go in a lion's cage just because he wants to- don't let him get away with this power trip just because he wants things his way!
Stick to your guns!! I know it is hard, but think how much harder his life will be in the future if he doesn't learn a little self control.
He will always love you- you will always be his mommy and believe it or not ( my son is now almost 10) someday he may even look back on his tantrums and laugh with you. " Wow, mom, do you remember that Easter when I had the big tantrum and you had to take me away to Grandma's bedroom and she poured the water on me?!?"
He won't be able to believe how crazy his younger self was acting, lol! (this is especially useful to remind him of when younger cousins are losing their cool- everyone goes through it at least once!) Good luck!!