کد نویسی برای معماران

کد نویسی برای معماران

مدت: 72 ساعت

تعداد جلسات: 30 جلسه

شرح و سرفصل ها

نام دوره : دوره‌ی آنلاین کُدنویسی در معماری

مدرس : مهدی یار اسماعیل بیگی

زمان برگزاری : : شنبه و چهارشنبه ها 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 انجام خواهد شد. همچنین با همکاریِ شرکت‌کنندگان کامپوننت‌هایی آماده و در قالبِ پلاگینِ بازمتن برای گرسهاپر منتشر خواهد شد.

 

پیش نیاز دوره

  • نیاز مند آشنایی با گرس هاپر
  • صرفا آشنایی با محیط راینو کافیست
  • تمام مسائل کد نویسی از بیس آموزش داده میشود

 

مخاطبین دوره

  • دانشجویان معماری و فارغ التحصیلان معماری  و علاقه مندان به معماری رایانشی ، الگوریتمیک ، پارامتریک

 

توضیحات تکمیلی

  • در انتهای دوره مدرک به دانشجویان ارائه میشود