The following are the best public courses:
Butterfield Trail Course - Tom Fazio design course with good ammenities
http://www.butterfieldtrailgolf.com/
Painted Dunes ... Award winning course
http://www.painteddunes.com/
Vista Hills - once private now open to the public is a bit older but still ok
http://www.vistahillscc.com/
Lone Star - Near the airport is a good cheap starter course
http://www.lonestargolfclub.net/
Avoid Ascarate, Santa Teresa closed years ago, most of the others are private
Las Cruces has a few nice ones as well.