2026

“AR-327-Introduction to computational architecture” is an hands-on course taught at bachelor level at EPFL. The main goal is to transmit to students a computational thinking in design via the use of text programming. The course is designed for absolute beginners in programming. For the 2026 spring semester we focus on the use of Python in Rhino3D for computational timber design.

Legend: Theory + in-class exercise Assignement deadline

1 Rhino

[1] TBD: Rhino-intro, Rhino-interface, Rhino-viewport, Rhino-transform, Rhino-macros assignement due:TBD: 01-custom-macros

2 Python

[2] TBD: Intro-to-programming, IDE Intro-to-Python, Variable, Primitive-datatypes, String, Int/Float, Boolean assignement due:TBD: 02-Python-basics

[3] TBD: Collections, List, Tuple, Set, Loops, Dictionary, Functions Functions-good-practices assignement due:TBD: 03-Python

[4] TBD: OOP, Class, Attributes, Methods assignement due:TBD: 04-Python-oop

[5] TBD: Magic-methods, Static-methods, Encapsulation, Properties, Inheritance, Composition

3 RhinoPython

[6] TBD: Modules, Libraries, RhinoPython-intro, RhinoPython-RhinoCommon, RhinoPython-RhinoScriptSyntax, RhinoPython-How-to-use-the-docs

assignement due:TBD: 05-libraries-and-modules

[7] TBD: Intro, Points, Lines, Polylines, Vectors, Planes, Circles

assignement due:TBD: 06-2D-objects

[8] TBD: Transformation, Translation, Rotation, Uniform-scaling, Non-uniform-scaling, Plane-to-plane

assignement due:TBD: 07-transformations

[9] TBD: Intro-to-3D-objects, Boxes, Bounding-Box, Cylinder

[10] TBD: BREP, BREP-Properties, BREP-Methods

[11] TBD: BooleanOp-intro, BooleanOp-union, BooleanOp-difference, BooleanOp-intersection, BooleanOp-split

assignement due:TBD: 08-BREP joints

[12] TBD: TBD assignement due:TBD: 09-ComputationalTimber