A good pilot shouldn't be looking for a program to tell him, he has to be able to know himself
Turn when you get to the proper waypoint/VOR to turn
Ascend at a certain climb rate so you'll know when you will reach your Cruise Altitude. Cruise at the proper percentage of sound speed suitable for that airplane (this is called Mach). While your cruising, your not doing nothing, your calculating things you need to know for descend and landing.
Find your Top Of Descent (T/D) and descent rate. To find this you multiply the difference between your current altitude and your target altitude, dropping the 3 zeros, by 3. This is the amount of nautical miles you should start your descent from the VOR/Airport
A good descent profile to use is to aim to be at 10,000ft AGL 30nm away from the airport.
To find your rate of descent you multiply your DESCENT ground speed by 6. So if my descent ground speed is 300kts I multiply 300 x 6 = 1800 so my descent rate is -1800fpm
Its unrealistic to have a program to tell you when to do this. Remember in the real world, there is ATC, and they do tell the pilot when to descent, but there not telling the pilot for the first time, the pilot will be expecting that instruction there and then because he/she has figured out the T/D. ATC are just simply saying "You have clearance to start your descent as planned, there is no traffic alert at present time"
Now I suggest you take all Rod's lessons and then you should be ready to fly without anything telling you when to turn, ascend descent etc
Also do a route in Microsoft Flighit Simulator. Say New York - Boston. Start in New York, file an IFR plan and fly it. You should know when to turn descent etc of your own mind rather than ATC telling you. The only thing ATC should be helping you with is Vectoring to Final, but this can also be done without help of ATC
Hope this helps!!