You can have a look through the Solidity language documentation http://solidity.readthedocs.io/en/develop/ then setup an environment with truffle (contract deployment and testing framework) and testrpc (lightweight blockchain client) as the client then write some contract code
Where do i start ( in the context that i can program)