Concise Guide to Computing Foundations