The module Programming for Computational Design is designed to equip architecture students with parametric and algorithmic programming skills, thereby opening up creative possibilities and solving architectural design problems effectively. In the context of modern architecture, the use of programming tools to create complex and flexible architectural models is becoming increasingly important. This module will introduce students to the basic concepts of parametric programming, common design algorithms, and specialized modeling and programming tools (e.g. Grasshopper, Dynamo, R Programming). Students will learn how to apply algorithms and programming methods to solve specific architectural design problems, from creating basic shapes to optimizing design solutions. The module also focuses on developing design data visualization skills, helping students present and communicate design ideas effectively. Through practical exercises and final projects, students will have the opportunity to apply their knowledge in practice, thereby enhancing their creativity and problem-solving skills in the field of architectural design. This module will provide students with the tools and skills needed to become architects who can think optimally about parametric design and use technology effectively.