Scheduling or time-tabling software -- the name changes according to where in the world you grew up -- is the poster-child example of garbage in, garbage out. No software application is going to make up for insufficient or disorganized information. The process matters, too: As in life, you must be ready to say what you need right at the start and, subsequently, to ask for what you want at well-chosen moments.
I had the opportunity to use FET ("Free Educational Timetabler") version 5.11 on Ubuntu 10.04* recently and found that it is not only powerful, but backed up by an active on-line forum which I found responsive and creative with suggestions. FET's author, Liviu Lalescu of Romania, takes an active part, often leading the responses. Other users give clarifying advice, though, which elevates FET to that difficult-to-achieve status of a genuine FLossEd community project in my mind.