Understanding how a computer "thinks" is one of the first steps to becoming an excellent computer programmer. A foundation in logic is crucial in developing this understanding. Mastering logic is more than learning a set of rules. It involves learning how to break problems into smaller chunks, figuring out how repeatable processes can save time and improve quality, and understanding how to organize problems into the right size.
In this course, you'll learn how to do all those things and use computers to make them easier. After all, logical tasks are what computers are best at doing!
This is not a programming course, but it will teach you how to approach critical thinking as both a lifestyle and an aide to better programming and testing.