Why would you program a solution that has to kill people? If you are aware of specific situations, shouldn't you program a solution that completely avoids such situations and saves everyone?
Some situations cant be avoided like if something falls off the car in front of you. In a real car you could swerve to avoid it and you will likely kill whoever is on the side of the road you swerve at but you will get away with it because it was a panic response and there was no way for you to properly assess what to do. This changes with self driving cars because they have all the info available and don't panic. The decision on what to do was planned and programmed in an office with plenty of time.
> Some situations cant be avoided like if something falls off the car in front of you.
It can be avoided by allowing adequate breaking distance between the car in front. Most of the time having to make any decision between swerve and break can be avoided and someone that chooses swerve and kills someone should be charged with manslaughter.
Something non of the self driving cars seem to do is slow down for road conditions.
On some of the questions, I find the options morally equivalent. So in these situations, if I were programming a solution, I would leave it up to chance and use a random number generator to decide the fate.