This course introduces the basic mathematical and programming principles that underlie much of Computer Science. Understanding these principles is crucial to the process of creating efficient and well-structured solutions for computational problems. To get hands-on experience working with these concepts, we will use the Python programming language. The main focus of the class will be weekly mini-projects that build upon the mathematical and programming principles that are taught in the class. To keep the class fun and engaging, many of the projects will involve working with strategy-based games. After completing this course, you will have a much stronger background in Computer Science and be capable of writing Python programs that are both efficient and well-structured. You will also have a better understanding of how to approach more complex computational problems. As always, our goal is to teach these principles of computing in a fun and exciting way. We look forward to seeing you in class!