First of all, yes it's totally normal. But it will continue if he doesn't have consequences for his actions...he is old enough to understand cause and effect--which is why he does it in the first place-him throwing it (the cause) gives him an effect he likes--either your reaction, or seeing it fly across the room, etc...you just need to reinforce that the effect is something he won't like...
Here's what worked for us. Whatever gets thrown, gets removed.
When my son threw food, he got one warning, if you throw you food again, no more food. And if he did, we took all of his food away.... Make sure you give no positive reaction when he does throw anything-do not laugh, etc.
If you think removing food completely is too harsh, then give him an actual time out--one warning, and then remove him from the table, sit him on a mat or in a PNP away from everyone for 2 min, and then tell him why he got his time out, etc.and then back to the table, if he throws food again, repeat.
Similarly with toys--if he threw a toy--it got removed for the day...period...
again, no laughing or other positive reinforcement and try to tell him what you are doing (This toy is going bye bye because you threw it) so he understands the "cause" which is him throwing and the "effect" the item gets removed.
If my son continued, I would add a time out--meaning, I would remove the toy AND he would get a time out. It really only took a few times before he got the picture and stopped throwing...
Good luck!