Programming Course

Table of Content

Forword

The main objectives of this course are to provide an introduction to:

Keeping in mind the constraints of time, this course aims for breadth in the topics included and thereby provides a broad overview of the CAAD area in the shortest possible time. It should be noted that this course is not a substitute for an intensive programming course or a specialised course in CAAD; but it does provide a good basic training which will make subsequent intensive courses much easier.

Conventions

This script is organised by lecture topics listed in the course schedule. In each chapter, you will find major topics described under relevant headings. Whenever you find some text that is in courier font, for example, this text is in courier font, it refers to either a programming concept or a command in AutoCAD or UNIX. Whenever you are asked to type in such text, you should type it exactly as shown. Due to a variety of factors, including the fact that UNIX is case sensitive and AutoCAD is not, no capital letters should be used for any directory or file names. Some of the lectures and exercises may be presented in English.

People

Several members of the Professur for CAAD will be involved in the lectures and exercises for this course.

Dr. Rudi Stouffs is responsible for the first six lectures and exercises. He will help you to make the step from using a CAD program to programming it, in Lisp. Rudi Stouffs has a Dipl.-Arch. degree from the Vrije Universiteit Brussel, and a Ph.D. in Architecture from Carnegie Mellon University.

Prof. Maia Engeli will lead you from AutoCAD to Inventor and introduce you to programming graphics with the object oriented language C++. Maia Engeli has a Dipl.-Arch. degree from the ETH Zürich, a Masters degree in Design Studies from Harvard University and experience with graphics programming from the MIT Media Lab.

Mr. David Kurmann will introduce VRML at the end of the course. David Kurmann has an engineering degree in Software Development from the ETH Zürich and is currently working on an interactive design modelling software.

Kuk Hwan Mieusset will assist during the first part of the course and help you with the AutoLISP exercises. Rasmus Jörgensen has prepared the C++ and Inventor exercises and will assist during the second part of the course.

We want to thank Dr. Bharat Dave for his seminal role in the design of this course. It is the result of his knowledge and our experiences since the Wintersemester 1990/91.

Registration

You can sign up for the course starting October 22th 1996 outside of room E66. In case of questions, please contact David Kurmann or Rudi Stouffs at the chair for CAAD, HIL D74.3.

Requirements

There are eleven exercises. Students will receive a Testat once they have successfully completed seven exercises. CAAD Nachdiplom students are required to complete at least ten exercises on time. The final presentation will be a summary of student's course work and experiences. We encourage you to complete all assignments in the time frame given in the schedule. The latest date to hand in exercises necessary for the Testat is February 27, 1998.

Recommended Reading

Multiple copies of the following two references are available in the Lab:

The following book can be obtained at the book store:

If you intend to do intensive programming in C++, the following book is recommended:

Prof. Dr. Gerhard Schmitt, Prof. Maia Engeli, Architektur & CAAD

Schedule

Date
Chapter ContentsExerciseSubject

24.10.97

Kapitel 1

Rudi Stouffs


Introduction

CAD Software AutoCAD


Exercise 1

Macros

31.10.97

Kapitel 2

Rudi Stouffs


Basic Programming Concepts

Lisp I - Introduction


Exercise 2

Variables

07.11.97

Kapitel 3

Rudi Stouffs


Functional Programming

Lisp II - Basic Functions


Exercise 3

Functions

14.11.97

Kapitel 4

Rudi Stouffs


Program design

Lisp III - Selective Structures


Exercise 4

Selective Structures

21.11.97

Kapitel 5

Rudi Stouffs


Lisp IV - Repetition and Recursion

Exercise 5

Tracery


Seminarwoche

5.12.97

Kapitel 6

Rudi Stouffs


Mathematical Programming

Exercise 6a

Exercise 6b


Parametric Designs

Fractals


12.12.97

Kapitel 7

Maia Engeli


Inventor I - From AutoCAD to Inventor and C++

Exercise 7

Understand Inventor

19.12.97

Kapitel 8

Maia Engeli


Inventor II - Programming in C++, Structure of a Program and Nodes

Exercise 8

Modify a Sculpture

Weihnachtsferien

9.01.98

Kapitel 9

Maia Engeli


Inventor III - More C++

Exercise 9

Create an Object

16.01.98

Kapitel 10

Maia Engeli


Programming and Architecture

Exercise 10

Add some Action

23.01.98

Kapitel 11

David Kurmann


3D and the Web

Exercise 11

VRML


06.02.98

Alle

Zusammenfassung und Präsentation


Präsentation