You will need the following (free) software:
But most importantly, your time. Even with all the help in the world, you will not learn to program unless you do a fair amount of programming yourself. Or more to the point, you cannot pass this course by being passive. Compare it with a top football player or a dancer, they can never be good unless they exercise.