Please note! Course description is confirmed for two academic years, which means that in general, e.g. Learning outcomes, assessment methods and key content stays unchanged. However, via course syllabus, it is possible to specify or change the course execution in each realization of the course, such as how the contact sessions are organized, assessment methods weighted or materials used.


Basic knowledge of algorithmic design with ability to write and execute own Python scripts as well as formulate design problems in code. Students will learn the basics of object-oriented programming paradigm using Python programming language with integration in Rhinoceros CAD environment.

Credits: 6

Schedule: 01.03.2022 - 24.05.2022

Teacher in charge (valid for whole curriculum period):

Teacher in charge (applies in this implementation): Luka Piskorec

Contact information for the course (applies in this implementation):

CEFR level (valid for whole curriculum period):

Language of instruction and studies (applies in this implementation):

Teaching language: English. Languages of study attainment: English


  • valid for whole curriculum period:

    The course deals with methods of algorithmic design applied to the field of architecture, landscape and interior architecture, construction, as well as in the broad fields of industrial and product design. Although many architects still use computers much like they used analogue drawing boards, intrinsic capabilities of computers allow them to formalize their designs through code. This opens novel approaches in design thinking and articulation and gives architects, landscape and interior architects and designers powerful tools for formalizing their work. This approach also captures and exploits the inherent contemporary condition of creative practices - when designs become data, it becomes possible to create what was previously undrawable. The course is taught through 12 weeks with lectures and hands-on computer exercises. At the end the students are required to develop and present a final project.


    Non-exhaustive list of topics:

    Programming fundamentals: Python programming language and syntax, data types, operators, conditionals, looping, functions, lists, classes, dictionaries

    Rhino Python and modeling: using Python within Rhino, rhinoscriptsyntax library, RhinoCommon SDK, NURBS modeling, Boolean operations on solids, transformation matrices, mesh modeling

    Computational design: random walk algorithms, attractor fields, vector fields, mapping geometry from external data, Lindenmayer systems, evolutionary algorithms, optimization algorithms, particle-spring systems, voxels, Monte Carlo method, curvature mapping, spatial aggregation of discrete parts, cellular automata systems, dynamic relaxation, agent-based modeling, machine learning

Assessment Methods and Criteria
  • valid for whole curriculum period:

    Students will be evaluated based on the project submitted at the end of the course. The submitted project needs to follow the guidelines which will be clearly communicated in the task description together with reference examples at the beginning of the course. Evaluation criteria fall into three groups:

    1. Formal

    -              student has at least 60 % attendance rate for contact hours

    -              submitted project is within assigned topic and scope

    -              project is submitted on time for evaluation and in correct format

    1. Skill

    -              submitted project demonstrates student s ability to engage and work in an independent fashion in the computational design workflow shown in the class

    -              submitted project demonstrates that the student invested the designated amount of independent study hours to master the software, equipment and methods used in the computational design workflow shown

  • valid for whole curriculum period:

    The course spans periods IV and V, totaling 12 weeks. Calculated total workload for 6 cr is 160 hrs. Lectures and computer exercises are held Tuesdays from 09:15 to 12:00 and total 36 contact hours. Students are expected to invest additional 72 hours for working individualy on assignments and the final project, together with 36 hours reserved for individual study, reading and free topic exploration. Leftover 16 hours should be used for the preparation of the final presentation and documentation.


Study Material
  • valid for whole curriculum period:

    Aside from the hands-on tutorials in the computer lab and lectures during contact hours, the students will be provided with the online video tutorials covering the same topics as in the class. These can be used by the students during their self-study hours and are meant to repeat as well as expand on the topics shown in class. Practical information in condensed form will be included in the course hand-outs prepared specifically for the class. All learning materials will be provided to students in digital form. The moto of the course is Learning by doing and the students will be required to practice their skills directly on their project submitted at the end of the course.

Substitutes for Courses
SDG: Sustainable Development Goals

    9 Industry, Innovation and Infrastructure


Further Information
  • valid for whole curriculum period:

    Teaching Period:

    2020-2021 Spring IV-V

    2021-2022 Spring IV-V

    Course Homepage:

    Registration for Courses: Sisu replaces Oodi on 9 August, 2021. Priority order to courses is according to the order of priority decided by the Academic committee for School of Arts, Design and Architecture:



    The order of priority for admitting students to courses at Aalto ARTS 1.1.2018 onwards (approved by The Committee of Arts, Design and Architecture on 10.10.2017)

    The order of priority is as follows:

    1. students for whom the course is compulsory for their major/programme and who have scheduled it for the current academic year in their personal study plan (HOPS);
    2. exchange students for whom the course is a part of his/her officially approved learning agreement and scheduled to be taken during the current semester;
    3. students for whom the course is compulsory for their major/programme and who have not completed it yet;
    4. students, for whom the course is part of his/her major s or programme s alternative studies and has been scheduled in the student's PSP (HOPS) for the current academic year
    5. students, for whom the course is part of his/her major s or programme s alternative studies and who have not completed the requisite number of credits for alternative studies yet;
    6. students for whom the course is compulsory for their minor;
    7. students, for whom the course is part of his/her minor subject s alternative studies and who have not completed the requisite number of credits for alternative studies yet;
    8. students who have applied for the course through a student mobility scheme (internal mobility within Aalto University, flexible study right (JOO) studies etc.);
    9. other students.


    Courses that are intended to be multidisciplinary (e.g. UWAS courses) may apply an order of priority based on the learning outcomes of the course, while bearing in mind the university obligation of enabling students to complete their degrees within the normative duration of study set for the degree. The order of priority does not apply to courses organised by the Centre for General Studies or doctoral courses.

    This decision on the order of priority does not influence the right of the teacher to define prerequisites for the course.