While I disagree with his beliefs, I do not see how that was appropriate action by the university. If asked to teach about catholicism, I would also tell my students that according to the catholic church, homosexuality is against moral laws (as this is the catholic view and I'd otherwise be lying to them). The question at hand is of course if the professor expressed that Catholics saw homosexuality (including himself passively) as morally wrong, or that, while teaching Catholicism, homosexuality was morally wrong. Difference being neutrality (teach, don't preach), which I believe is in place in order for students to learn and form their own opinions and not be indoctrinated one way or the other.
The article is not fully clear on that subject, though it seems to want to be neutral and in the prof. favor, but it is a Catholic news site and thus could be more biased than unaffiliated media.
I'm pretty sure from reading related articles from other (non-Catholic) sources (http://www.news-gazette.com/news/university-illinois/2010-07-09/instructor-catholicism-ui-claims-loss-job-violates-academic-free) this guy was fired for representing the Catholic viewpoint in class-related materials for a class on Catholicism. The "hate speech" charge is garbage and was presented in the most cowardly way (an email from a guy not even taking the class?)
The "teach don't preach" view of university instruction is an interesting one but not one I share for the most part. I think students at a university ought to be challenged to defend their positions and to examine viewpoints not just passively but actively. After all, the learning they are supposed to be doing should have at least some real-world significance and the real world of opinion and discourse is anything but passive. Moreover, should someone really be fired for stating one's beliefs? What if the professor tried to get the the student expelled for anti-Catholic rhetoric? This hate speech thing is a tricky business.
I really hope that we can have a non-heated discussion. It is obviously not hate speech, as it seems it was meant to create a discussion in the class. While I can see that condemning someone (guessing the friend is not of the catholic view that homosexuality is morally wrong) as being morally wrong can be considered hateful, but it is simply a representation of the Catholic faith (whether agreeable or not). Personally, I believe that while a teacher can spark a discussion, he/she should NOT encourage one side or the other (unless it is actual hate speech such as racist or similar remarks, but do note that I do not think that this teacher was guilty of hate speech). Doing so would be an authoritarian way of inhibiting free speech, of forcing an opinion on students. If an authority figure holds one stance, while students may argue for or against it, the students siding with the teachers will probably have an easier time.
In Sweden, not counting higher levels of education as university and college, teachers may not preach a specific view of religion or politics (with the exception of promoting democracy). This system is in order to prevent students from copying teachers opinions instead of forming their own. In university, however, I think that students should be grown enough to know their own opinions and not be influenced beyond controllable measures.
Going on a anti-catholic rampage would be fairly odd, considering that the subjects he's teaching. But promoting your own faith, whether it would be pro and anti catholicism in this case, I believe should not be encouraged in any public education element. If you choose a private Christian university, then it is another thing. Separation of church and state, teaching should be religiously neutral, not pro and not anti.