
This is the most complete document of one of the landmarks of modern education in art - the famous Basic Course at the Bauhaus in Weimar, Germany. Itten was the teacher who organized it at the invitation of Walter Gropius. First published in 1963 when Itten was still alive, the book has been revised and updated by Itten's widow, Anneliese Itten, and includes new material from the basic course at the Bauhaus, as well as visual examples and descriptions of the refinements made by Itten in later course in Berlin and Zurich.
For starters, there won't be any easy algorithmic way to defines shades and tones of colours (shade is the term for mixing a colour with black, tone is mixing a colour with white) as the eyes perceive them all a bit too differently, so they will all require some hand tweaking.
When users can choose colours, try and keep any preselected colours neutral. Blacks, whites and greys. Sometimes a slight blue can be applied. Blue is universally the easiest/most agreeable colour.
For finding good color combos the major ways to go about it are to either pick color chords and tweak slightly, or to play with the hot/cold contrast.
Color chords means using 3 or 4 colours which are equidistant on the HSL wheel (90 or 120 degrees apart), you can then play with them a bit to see what you like.
Hot cold contrast just means that warm colors and cold colours always look good against each other. So red/orange/yellow against blue/violet.
Also worth noting that different colours have different weights. Yellow is perceptually bigger than purple. So if you have two equal sized dots, one yellow one purple, the yellow will appear larger.
Most of this comes from The Elements of Color https://www.amazon.ca/Elements-Color-Johannes-Itten/dp/04712... . Im sure many other books cover it but this one is considered a classic.
The Elements of Typographical Style is a beautiful book and an elegant, literary introduction and guide: http://www.amazon.com/gp/product/0881792063/ref=as_li_qf_sp_...
Thinking with Type is full of contemporary examples to give you new ideas: http://www.amazon.com/gp/product/1568989695/ref=as_li_qf_sp_...
Ruder's Typographie is the book that established modern typography and is the de fact guide to modernist typography: http://www.amazon.com/gp/product/3721200438/ref=as_li_qf_sp_...
As an introduction to typography, I also recommend watching Helvetica: http://www.amazon.com/gp/product/B002RIOGI0/ref=as_li_qf_sp_... – it will give you a personal perspective on different philosophies of choice of type-face
For that matter, the same goes for color theory.
Here's a nice introduction to color in general from the Adobe website: http://www.adobe.com/products/adobemag/archive/pdfs/9611febf...
The Wikipedia entry is worth reading: http://en.wikipedia.org/wiki/Color
Kandinsky's Concerning the Spiritual in Art is a beautiful manifesto on art, but contains a very interesting theory of color: http://www.amazon.com/gp/product/1619491532/ref=as_li_qf_sp_...
Itten's The Elements of Color is the classic text on color: http://www.amazon.com/gp/product/0471289299/ref=as_li_qf_sp_...
Albers' Interaction of Color will teach you that colors are no absolute reference ponts – they interact with each other to create all sorts of effects (this text pairs well with the Kandinsky): http://www.amazon.com/gp/product/0300018460/ref=as_li_qf_sp_...
To get really deep into color, check out the IESNA handbook: http://www.ies.org/handbook/
All this is not to obviate OP's impetus to write posts on these topics. Blog posts are crucial as introductions and I find tend to work better as references than books, which tend to be overwhelming and ignored in this digital age. But if you want to go deeper, these are my favorite references after moderately exhaustive research.
The Art of Color: The Subjective Experience and Objective Rationale of Color
http://www.amazon.com/Art-Color-Subjective-Experience-Object...
The Elements of Color: A Treatise on the Color System of Johannes Itten Based on His Book the Art of Color
http://www.amazon.com/Elements-Color-Treatise-System-Johanne...
Color wheels are kind of cool and cheap: http://www.alvinco.com/Shop/Products.aspx?GID=5993
The Munsell system is a bit pricier: http://munsell.com/color-products/color-communications-produ...
Pantone is great for specifying print colors: http://www.pantone.com/graphics/process-color?from=topNav
On the other hand, one man's sand is another's off white. Naming colors is a whole 'nother ball game.
Good luck.