I'm conflicted here, because in his current state, your dog poses a real threat to your cats. At the moment, I wouldn't let him out of my sight even for a second if there was a cat nearby.
I don't know if he actually wanted to kill the kitten, or if it was the victim of too rough play. In either case, boredom could have been a reason. Shepherd dogs are a working breed and need to burn off energy every day, both in walks and in play. A bored dog is prone to developing compulsive or destructive behavior.
The next question is how obedient is he? Can you reliably make him wait even if he really wants to run after the ball? Can you make him sit down even if he sees something exciting? If the answer is "yes" then you have a chance of teaching him not to attack your cats.
I strongly advise you to have him on the leash and maybe even muzzled for the confrontation.
It's as simple as sitting down in the room adjacent to where the cats are and letting them come inside.
He will be excited and want to sniff at the cats, but he's not allowed to run free! The cats must come to him. Since they'll be curious as well, this shouldn't be a problem.
Now you have to gauge his reaction. If he snarls, stop immediately and bring the cats to safety. I don't think you could let both the dog and cats live with you safely. (Barking is OK, though. It's a sign of excitement as opposed to aggression)
Then he may interact with the cats (while you hold the leash and can intervene immediately). Sniffing and licking is allowed, but scratching, pushing them around or biting is not! If he goes for the throat of a cat, it's not safe for them to live with him (and that's the reason for putting a muzzle on him).
You must reprimand him strongly for being too rough with a cat. Tell him "No!" in a loud and angry voice, pull him away from the cats and make him lay down. You can be a little rough with him, but don't hit or kick him or otherwise cause him pain.
Remove him or the cats from the room after a few minutes. Repeat the same procedure every day at least once to get him used to being together with the cats. Depending on how he interacts with them, you can leave the muzzle aside after 2 or 3 days and unleash him when he understood that he isn't allowed to be too rough with them. Always keep an eye on him until you are certain he won't harm them.