شرح و سرفصل ها
نام دوره : دورهی آنلاین کُدنویسی در معماری
مدرس : مهدی یار اسماعیل بیگی
زمان برگزاری : : شنبه و چهارشنبه ها 21:30-19:00
در چند جلسهی انتهاییِ دوره با همکاریِ شرکتکنندگان، در قالبِ یک پروژه عملی، پلاگینی کاربردی برای راینو و گرسهاپر نوشته و به اسمِ مشارکتکنندگان منتشر خواهد شد.
پلاگینهای نوشتهشده در دورههای قبلی:
https://www.food4rhino.com/en/app/javid
https://www.food4rhino.com/en/app/iac
نشست های نخست، مباحث مقدماتی:
- بررسیِ ماکروها، گرسهاپر و چراییِ نیاز بهکُدنویسی.
- مقایسهی زبانهای Compiled، Interpreted و Semi-Compiled.
- شروع کار با پایتون:
- آشنایی اولیه با Syntax پایتون.
- متغییر، List، Tuple و ... در پایتون.
- شرط در پایتون.
- حلقه در پایتون.
- توابع در پایتون.
- شروع کار با RhinoScriptSyntax:
- مُفَسِرِ پایتون در راینو و گرسهاپر و آشنایی با Visual Studio Code.
- آشنایی اولیه با نقطه، بردار، رنگ، خط، سطح؛ شاملِ بررسیِ نحوهی ایجاد، ارزیابی و اعمالِ تغییرات.
- بررسی کتابخانهی Math و Random در پایتون.
- نوشتنِ و خواندنِ فایلها.
در این مرحله تمریناتِ متعددی شامل بررسیِ الگوریتمیکِ فرکتالها، و گونههای متعددی از سطوحِ هندسی و ریاضی انجام خواهد شد.
نشستِ های میانی، تَعَمُق در.net و آشنایی با C#:
- آشنایی عمیقتر با متغیرها و مقایسهی Explicit با Implicit. و Dynamic Typing با Static Typing.
- بررسی تفاوتهای اساسی Flow Control در پایتون و C#، شاملِ بررسیِ عمیقترِ حلقهها و شروط.
- آشنایی عمیقتر با توابع و بررسیِ مفهومِ Method Overloading.
- بررسی Array و List در C# و بررسی عمیقتر Tupleها Listها و Dictionaryها در پایتون.
- بررسی مفهوم Value Type و Reference Type در C# و Mutability در پایتون.
- آشنایی با ghpythonlib و مفهوم Node in Code به منظور استفاده از کامپوننتهای گرسهاپر در پایتون و بررسی محدودیتهای این روش.
- آشناییِ اولیه با مفهوم Multi-Threading در پایتونِ گرسهاپر.
- آشنایی با کتابخانهی scriptcontext و کاربرد Sticky Variableها در پایتون.
- آشناییِ اولیه با مفهوم کلاس در پایتون و C#.
در این مرحله تمریناتِ متعددی شامل Cellular automata، Curve Subdivision، Circle relaxation و ... انجام خواهد شد.
نشستِ های پایانی شئگرایی:
- آشنایی با Visual Studio IDE.
- تَعَمُق در کلاسها و بررسیِ مفهومِ Encapsulation.
- بررسیِ Constructorها و Destructorها.
- بررسی Static Memberها و Static Classها.
- آشنایی با Structها و Enumها.
- بررسی مفهومِ Inheritance و Polymorphism.
- تَعَمُق در کتابخانهی Rhinocommon.
- آشنایی با Spatial data structure و R-Tree و سایر روشهای بهبود سرعتِ اجرای کُد.
- تَعَمُق در Multi-Threading در پایتون و C#.
- بررسی Data Treeها در گرسهاپر و نحوهی کار با آنها در پایتون و C#.
- کامپایلکردنِ کُد و ایجاد کامپوننتِ آمادهی انتشار.
- بررسیِ نحوهی استفاده از کتابخانههای خارجی، در پایتون و گرسهاپر.
- آشنایی اولیه با الگوریتمهای بهینهسازی و نحوهی پیادهسازیِ آنها در پایتون و C#.
در این مرحله تمریناتِ متعددی شاملِ Flocking Simulation و Mesh Subdivision Growth انجام خواهد شد. همچنین با همکاریِ شرکتکنندگان کامپوننتهایی آماده و در قالبِ پلاگینِ بازمتن برای گرسهاپر منتشر خواهد شد.
پیش نیاز دوره
- نیاز مند آشنایی با گرس هاپر
- صرفا آشنایی با محیط راینو کافیست
- تمام مسائل کد نویسی از بیس آموزش داده میشود
مخاطبین دوره
- دانشجویان معماری و فارغ التحصیلان معماری و علاقه مندان به معماری رایانشی ، الگوریتمیک ، پارامتریک
توضیحات تکمیلی
- در انتهای دوره مدرک به دانشجویان ارائه میشود