I agree with all the other postings but I have another idea as well. When my boy was about that age. I took him out to an area with little traffic and practiced crossing the street. That was it. I think I even brought a friend of his so we could create peer support. I said, "OK now we are going to practice crossing the street. What do big boys ALWAYS do?" Then we would all say, "Stop and look both ways, left, right,left." Then we would do it. I would give encouragement and praise for how good they were following directions. Then I would say, "all clear, now what?" or "Car coming, now what?". We would then say either "Walk Tall!" or "Wait!" Again we would do it and then there would be high fives and whooo hoos when we crossed like big boys. I made it a game with lots of praise and simple rules that we used every time. All of us learn by doing and we remember through role playing and games. This is really a serious thing but the learning doesn't need to be. If you play this game often, I believe he will surprise you and begin to do it on his own, perhaps even teaching others how to do it. My son loved to teach what he knew, so when we had a new person with us, even it whas Grandma, I would say to him, "Ok, Son, let's teach Grandman how to cross the street like a big boy." This gave him a sense of confidence and solidified how smart I knew he was. Encouragement is always a great tool, when coupled with training.
Let me know how this works if you choose to try it.
K.