Develop a foundational understanding of computational thinking required to approach engineering challenges with systematic problem-solving skills. By the end of this class, students will be able to apply computational thinking principles to design, implement, and debug programs using a high-level programming language. Additionally, students will demonstrate proficiency in fundamental programming concepts, including variables, control structures, arrays, and functions, while also showcasing the ability to analyze problems, decompose them into smaller tasks, and devise algorithmic solutions.