I'm completely new to gamedev and want to learn how to design good UI for a city-building game (like SimCity).
What books and other materials can I read in order to learn it?
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It only takes a minute to sign up.Sign up to join this community
The first step is to have design goals. Figure out what kind of features your game will have, so you know where to focus your efforts and what designs to look out for. Will it be graph heavy? Will it be minimal and have panels upon panels hidden away? Will most of the action take place in the UI or in the game world? Will it be animated? Does it have a theme (industrial, sci-fi, etc.)?
Once you have your requirements you can start your research.
The nice thing about user interfaces is they're visible, so it's easy to see other designs without digging into source code. I think your best bet is to study the UIs of popular city building games. Buy a few of them on Steam, check out the design, see what you like and what you don't. Build up the ideas you started forming when deciding on your requirements.
Finally, play testing. Test a lot. Have other people test. Have people unfamiliar with those types of games test. Give them tasks that are common to the regular game play, like "Increase the taxes on industry by 4%", see if they can do it, see how long it takes them. Don't watch. People never perform the same way when they're being watched.
I think visual design is something that is difficult to learn with books. It's best to learn with practice.
As a supplement to Byte56's answer, I can give you list city-building (or similar) games that I think have a GUI worth mentioning (at least parts of it):