Learn the fundamentals, from coding websites and games, to navigating large data sets. Students will start with the building blocks including variables, data types, and basic operations. Learn how to control the flow of your programs with conditional statements and loops; discover the power of functions for modular and reusable code; dive into data structures and file handling; create modules to implement object-oriented design; and learn problem solving algorithms to begin implementing code. Students will apply Python best practices and their newfound knowledge to participate in hands-on class projects that range from simple scripts to more complex real-world applications. At the end of this course, students will have learned the syntax and concepts of Python that will enable them to write Python programs for a wide range of applications.