Foundations of Security: What Every Programmer Needs to Know (Expert's Voice)
From the reviews:"It is written based on a course for beginning programmers. … The book has three main parts: security design principles, secure programming techniques, and an introduction to cryptography. … Exercises are included at the end of each part in order to provide suggestions for getting hands-on experience." (A. Mariën, ACM Computing Reviews, Vol. 49 (5), May, 2008)