Three year olds learn so quickly, and seemingly without effort. But what they learn at this age is not academics. To teach him science, take him outside and let him play and get dirty. He’ll find out that wet dirt sticks together better than dry; that bugs are everywhere, and some of them fly; that it is harder to walk uphill than down; that worms live under the grass; and lots of other things. Inside, get out some Legos, gears, wooden blocks, or toy cars and play with them yourself. Have fun. He’ll want to join in, and learn that some things stack better than others, and different materials make different noises, and about friction.
For math, at this age, you can practice counting to 20 with him, just by doing it yourself and letting him hear you. If he asks for something countable (my daughter likes Tic-Tacs and M&Ms), you can say something like, "I’ll give you 1 Tic-Tac." Soon he’ll start asking for 2, 3, and eventually 20. You can say no, of course, and teach bargaining at the same time. You can also sing the "Inchworm" song to him, since it is a great little kids’ song, and he’ll learn the words.
To teach him scientific vocabulary, use long words and interesting facts. "Gravity makes that roll down," "Butterflies are insects, just like ants," "The earth is round like a ball, and the moon goes around it," "Look how your bathwater makes a vortex! Can you catch the vortex?" These are all real examples from my daily interaction with my daughter, who can correctly pluralize vortices.
To me, math and science are a big part of the wonder of the world, and sharing that with your son should be a great joy for both of you. If you have fun with it, he will too. You already know so much that you can teach him about science. You don’t need any books, just your imagination and excitement.