Coding Architecture II: FS26

Week 01 - Reciprocal Frames with compas_timber

Course Banner

Table of Contents

Introduction

Coding Architecture II is a programming class specifically designed for architects. The course focuses on demystifying technology — both software and hardware — and exploring the programmability of our world through digital, computational, and algorithmic design methods, enabling architects to grasp the fundamental principles and practical applications within our increasingly digital world.

This course is an entry point into the world of programming, with a specific emphasis on its application in architecture. You’ll learn how to use Python as the primary programming language, and we’ll work extensively with Rhino and Grasshopper to bridge the gap between text-based coding and 3D modeling.

Overview

Throughout the course, you will:

Lectures, tutorials, and exercises will cover:

This course welcomes students from all backgrounds, but this semester requires familiarity with Python, either having successfully completed “Coding Architecture I” or having acquired it in a different context.

Team

Teaching Team

Slides

Slides

↑ click to open ↑

Course Administration

Semester Structure

Semester Structure

The semester structure for Coding Architecture II is designed to progressively build your skills in programming and computational design. The course begins with the use of COMPAS Timber for simple timber frame structures, and then moves on to geometric algorithms and reciprocal frames with COMPAS Timber.

Assignments are strategically spaced throughout the semester, starting with simpler tasks like constructing a simple timber reciprocal frame, and advancing to more challenging projects, culminating in a final project that integrates all the learned skills. The schedule also includes tutored sessions and review periods, providing sufficient opportunity for guided practice and feedback.

Room

The course “Coding Architecture II” will take place on Thurdays from 13:45-16:30 in room HPT C 103.

Please note: We will try to provide as many powerplugs as we can, but we may not be able to cover the entire room! We kindly request that you bring your laptops fully charged to each session.

Moodle

Moodle will serve as our primary teaching platform. From there, you will access all course materials, relevant administrative information, download and submission links, and quizzes. Additionally, Moodle hosts the course forum, where you can ask questions and engage in discussions with your peers and instructors.

Follow this LINK to access to the Moodle course plattform.

Moodle Platform

Tutoring Groups

Tutor Team

To ensure a smooth learning experience, we have assigned tutors who will act as your points of contact throughout the semester. They will be available to assist you with any content-related or administrative questions you may have. We highly recommend signing up for a tutor on Moodle as soon as possible.

LINK: Moodle: Tutor Selection

Grading

See here for details about the grading process and your requirements.

Assignments

The course includes three major assignments that progressively increase in complexity, allowing you to test and improve your programming abilities. These assignments cover a range of topics, from basic list and loop operations to object-oriented programming. The culmination of the assignments is a final project where you will design a timber structure set to be built in the city of Zürich during the Focus Work period. It is recommended to complete the assignment submissions well in advance of the review session deadline.

Software Requirements and Installation

See here for details about software requirements and installation of the tools.

Assignment A00

In this first assignment, you will familiarize yourself with compas and compas_timber by creating a manually constructed reciprocal frame node and transitioning to an automated, rule-based workflow using a custom class.

This is an ungraded assignment.

First Main Topic

Roadmap Recap

The “becoming a computational designer” roadmap is a comprehensive guide that outlines the necessary steps to becoming proficient in computational design. It covers foundational concepts such as data and algorithms, as well as more advanced topics. The roadmap also provides visual references, with equivalent concepts in Grasshopper highlighted in green and programming concepts highlighted in blue below:

See here for more information about the Roadmap: becoming a computational designer.

Roadmap

↑ click to view ↑


Teaching Material

We have compiled a list of essential links and resources to support your learning throughout the semester. These materials cover foundational topics in programming, computational geometry, visual programming, Rhino, and Grasshopper. You will also find API references that include the methods, classes, and functions needed for your assignments and projects. Additionally, we’ve included a selection of books and other resources to help you deepen your understanding of the course topics. These resources are intended to provide you with the necessary tools and information as you progress through the course.

Foundational Material

Rhino

Grasshopper

Python

COMPAS

Books

For online access using your ETH Account, you have to be in the ETH network or VPN.

Video recordings

The lecture recordings will be available on the ETH Video Portal to serve as reference, however, presence during lectures is required.


Gramazio Kohler Research