programming for architecture: the students’ point of...

10
Programming for Architecture: The Students’ Point of View Rita Aguiar 1 , Afonso Gonçalves 2 1,2 INESC-ID, Instituto Superior Técnico, University of Lisbon 1 [email protected] 2 [email protected] The following paper presents a reflection on computational design education in Architecture schools. For approaching this subject, the specific case of the Programming for Architecture course taught at Instituto Superior Técnico - Universty of Lisbon is presented and analyzed through the students' point of view. The aim of the course is to focus on representation methods through programming, introducing the fundamentals of computational approach to architectural design. We will explain and discuss the subject teaching methods, the structure of the course and the school environment. Also we will express the students' opinion regarding the class organization, the contents of the program and the usefulness of programming, as well as suggestions for an improved strategy for teaching computational methods to Architecture students. Keywords: Programming classes, Students opinion, Learning methods, Rosetta, 3D modelling INTRODUCTION The pace at which CAD tools have crept up on the workflow of architects and designers alike in later years has meant that the teaching of such tools are now an integral part in most, if not all, university cur- ricula. However, the road to implementing these new tools in a pedagogical context, with many of them requiring different ways of thinking and problem- solving strategies, has not been without its setbacks and obstacles (Duarte, 2007). Divergent opinions are even greater on the subject of introducing subjects related to the field of Computer Science, leading to a discussion on the importance and to what extent programming courses support architecture students' way of thinking (Wurzer et al 2011). The most logical way to understand the suc- cesses and failures of programs that have tried to im- plement this new approach to architectural design is to know how students feel about them. Knowing and understanding the way Architecture students are receptive to these relatively new concepts is an im- portant step towards guaranteeing the success and future motivation of young designers in using these tools. The aim of this study is, thus, to understand, from the students' point of view, the way such concepts are received by students, using for that purpose a specific case study observed at Instituto Superior Téc- nico (IST). IST is an Engineering institution in Lisbon where every year students from the Integrated Mas- ter's Degree in Architecture take a course on Pro- gramming for Architecture (PA). The study tries to focus on structural aspects of teaching programming and computational design, CAAD Education - Tools - Volume 2 - eCAADe 33 | 159

Upload: vongoc

Post on 27-Jul-2019

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Programming for Architecture: The Students’ Point of Viewweb.ist.utl.pt/antonio.menezes.leitao/ADA/... · Programming for Architecture: The Students’ Point of View RitaAguiar1,AfonsoGonçalves2

Programming for Architecture: The Students’ Point ofView

Rita Aguiar1, Afonso Gonçalves21,2INESC-ID, Instituto Superior Técnico, University of [email protected] [email protected]

The following paper presents a reflection on computational design education inArchitecture schools. For approaching this subject, the specific case of theProgramming for Architecture course taught at Instituto Superior Técnico -Universty of Lisbon is presented and analyzed through the students' point of view.The aim of the course is to focus on representation methods throughprogramming, introducing the fundamentals of computational approach toarchitectural design. We will explain and discuss the subject teaching methods,the structure of the course and the school environment. Also we will express thestudents' opinion regarding the class organization, the contents of the programand the usefulness of programming, as well as suggestions for an improvedstrategy for teaching computational methods to Architecture students.

Keywords: Programming classes, Students opinion, Learning methods, Rosetta,3D modelling

INTRODUCTIONThe pace at which CAD tools have crept up on theworkflow of architects and designers alike in lateryears has meant that the teaching of such tools arenow an integral part in most, if not all, university cur-ricula. However, the road to implementing these newtools in a pedagogical context, with many of themrequiring different ways of thinking and problem-solving strategies, has not been without its setbacksand obstacles (Duarte, 2007). Divergent opinions areeven greater on the subject of introducing subjectsrelated to the field of Computer Science, leading toa discussion on the importance and to what extentprogramming courses support architecture students'way of thinking (Wurzer et al 2011).

The most logical way to understand the suc-cesses and failures of programs that have tried to im-

plement this new approach to architectural designis to know how students feel about them. Knowingandunderstanding thewayArchitecture students arereceptive to these relatively new concepts is an im-portant step towards guaranteeing the success andfuture motivation of young designers in using thesetools.

The aimof this study is, thus, to understand, fromthe students' point of view, the way such conceptsare received by students, using for that purpose aspecific case studyobservedat Instituto Superior Téc-nico (IST). IST is an Engineering institution in Lisbonwhere every year students from the Integrated Mas-ter's Degree in Architecture take a course on Pro-gramming for Architecture (PA).

The study tries to focus on structural aspects ofteaching programming and computational design,

CAAD Education - Tools - Volume 2 - eCAADe 33 | 159

Page 2: Programming for Architecture: The Students’ Point of Viewweb.ist.utl.pt/antonio.menezes.leitao/ADA/... · Programming for Architecture: The Students’ Point of View RitaAguiar1,AfonsoGonçalves2

especially on the difficulties and expectations of thestudents regarding what they experience every yearas part of their school curricula. Many issues reportedby the students might often be more conjecturaland/or too tied to the institutional nature whereinthese subjects are taught so trying to keep the studyfocused on the structural issues behind their opin-ions was of major concern for us.

The students were approached with open infor-mal questions during interviews in addition to a for-mal survey answered by 30 students. Based on theiropinions and in the observation of what happenedduring the semester, we tried to do a synthesis ofwhat we consider essential and more representativeof what students think and feel. After this reflectionon the case study, we present some suggestions ofpossible improvements that could contribute to mo-tivate Architecture students to have more interest inprogramming and to use it in their future activity.

CASE STUDYProgramming LanguageThe programming language taught to students inPA is Racket, a general purpose, multi-paradigm pro-gramming language of the Lisp/Scheme family. Thelanguage is used in a variety of contexts such asscripting, general-purpose programming, computerscience education, and research [1]. The students useRacket native programming environment - DrRacket,to write their programs with the aid of a specific li-brary of pre-defined functions called Rosetta. WithRosetta, students have access to a multitude of func-tions that they can embed in Racket code to createandmanipulate geometry in a CAD application, suchas AutoCAD or Rhinoceros. Rosetta is a program-ming environment that supports multiple program-ming languages (known as front-ends) and multipleCAD tools (known as back-ends) (Lopes 2012).

Course subjectsDuring the theoretical component of this course, stu-dents are confronted with several concepts neces-sary for programming and creating relevant architec-

tural projects. These include recursion, constructivegeometry, understanding and using data structures,higher-order functions and parametric representa-tion and processing of surfaces and curves. Figures1 and 2 are some examples of what students shouldbe able to accomplish by the end of the semester.

Figure 1Example ofimplementation ofrecursion andrandomnessbehavior

Figure 2Example ofprocessing datastructures

Figure 3The final project ofthe 2014/2015academic year.

Class structureThe PA course is taught weekly in three units of one-hour theoretical lectures, and one unit of two-hourlaboratorial lectures.

The theoretical lectures are administered in thetraditional method supported by interactive slides

160 | eCAADe 33 - CAAD Education - Tools - Volume 2

Page 3: Programming for Architecture: The Students’ Point of Viewweb.ist.utl.pt/antonio.menezes.leitao/ADA/... · Programming for Architecture: The Students’ Point of View RitaAguiar1,AfonsoGonçalves2

containing demonstrations that result in the directapplication of the subjects. The teacher explains theway the computer processes the code exhibited inthe slides, helping students understand its execution.

The laboratorial lectures are administered at oneof the university's computer labs where students arechallenged to solve exercises related to what theylearned during the theoretical lessons. A detailedguide with illustrations of the intended results isgiven to students. The semester ends with a final ex-ercise where students are paired and asked tomodela parameterized version of a well known building,previously chosen by the students themselves. Fig-ure 3 is an example of this exercise

STUDY RESULTS AND FIRST IMPRESSIONSRaised interest and experienced difficultiesThe conducted study showed that, generally, stu-dents were impressed with the potential of pro-gramming. As observed in Figure 4, most studentsshowed great interest on the covered subjects whenasked about the "interest that the subject raised" ona scale of 0 to 10.

On Figure 5we also notice that students under-stood and accepted the importance that program-ming can have on the Architecture curricula.

However, the results of Figure 4 show a greaterdispersion than Figure 5. It is possible that this hasto do with the fact that students expressed some ini-tial difficulty in using an algorithmic language thatis described through textual code with demandingsyntactic and semantic rules. These difficulties werewell expressedby the interviewees, including the stu-dents with higher grades. This is increased by thefact thatmost of themhadnoprior contactwith suchsubjects: in 30 students, only 7 had previous contactwith programming. This leads them to show somedifficulty in developing the ambiguity-free thinkingperspective that is required forworkingwith comput-ers.

Figure 4Level of interestshowed by thestudents

Figure 5Importance ofprogramming inarchitecturalcurricula

Figure 6Difficulty inassimilating theconcepts

Figure 7Rhythm of thepresentation of thecontents

CAAD Education - Tools - Volume 2 - eCAADe 33 | 161

Page 4: Programming for Architecture: The Students’ Point of Viewweb.ist.utl.pt/antonio.menezes.leitao/ADA/... · Programming for Architecture: The Students’ Point of View RitaAguiar1,AfonsoGonçalves2

On Figure 6 we can observe that the answers col-lected do not seem to demonstrate that there hasbeen a great difficulty assimilating the conceptstaught in class but again we notice some dispersionin the answers.

The interpretationof this resultmightbeonwhatstudentsunderstandas assimilation. If they are think-ing in the context of the theoretical lectures, thenthe clarity with which the teacher exposes the issuesmight be an important factor that leads to amore fa-cilitated assimilation of the contents, not necessarilymeaning students do not find them difficult.

Understanding what the teacher says does notmean that the knowledge is internally understoodand interiorized since this can only occur when theinformation is organized and processed according tothe mental structure of the student.

This is where difficulties can appear. Accordingto what we observed, in the beginning there werenotmajor difficulties although it is amatter that gen-erally students do not consider to be easy. The exer-cises were simple and the results of the first test werereasonable.

The difficulties started to appear in exercises thatinvolved the use of more elaborate and demandingconcepts having a great demand in terms of devel-oping a greater analytic capacity in interpretingwhatis being asked and also in finding strategies for prob-lem solving. Given the way the question was asked,the possibility of bias in thematter of a psychologicalissue of personal self-esteemmust be also taken intoaccount.

According to Figure 7, when we asked if stu-dents found the course timeframe appropriate, theresults show the general opinion that the program istoo extensive for the class time. This, then, requiresan accelerated rhythm that, for many students, doesnot provide enough time for developing and inte-grating the information received in class. The con-sequences may lead to students feeling discouragedto keep attending class, especially considering howdemanding and time consuming the rest of the Ar-chitecture degree is. If for whatever reason a student

skips a lesson, it is much more difficult for him to fol-low the next classes.

Students expressed a great emphasis on the im-portance of practical classes since they feel the needto interact with the computer in order to verify theeffect of the code they elaborate.

One of the obstacles encountered regarding thefinal project was how to manage time efficiently andapply the knowledge learned in class, as well asknowing how to organize the programmatic contentin a systematic way. Starting is where students feelthe greater hardships since they have to take whatis complex and simplify it to the point that it canbe translated into code. There should also be a pre-viously understanding of the geometry and mathe-matics involved in the project design. The elabora-tion of a more complex project benefits from the useof functions that are introduced at latter stages of thecourse.

If the students start thinking in the project early,they do not have the most important means to elab-orate it. If they start it very late, then the time theyhave left is short. This resulted in the teacher givinga good help, presenting in classes the key functionsfor its elaboration.

When asked their opinion on "Should this sub-ject be extended to another semester?", 12 studentsanswered "yes" while 17 answered "no". Naturally,their position towards this question is dependenton many factors, such as the interest that the sub-ject provoked on them, the difficulties they felt andthe perception of the importance that this will havein their future careers. According to the interviewsthere seems to be a consensus that if the subject wasdivided in two semesters the course would be mucheasier to follow, especially in regards to the finalproject which could be done in a second semester.

Opinions on the impact of programming inarchitectural designIn general, students were deeply impressed by thesubject of programming, to the point where theylook at design in a new perspective.

162 | eCAADe 33 - CAAD Education - Tools - Volume 2

Page 5: Programming for Architecture: The Students’ Point of Viewweb.ist.utl.pt/antonio.menezes.leitao/ADA/... · Programming for Architecture: The Students’ Point of View RitaAguiar1,AfonsoGonçalves2

Students realized the potential of programmingin architectural design, especially in the extent towhich with a few lines of code they can draw shapesthat are intangible by either their manual abilitiesor the restrictions imposed by CAD tools (Leitão etal 2010). The ease with which, through variationof function parameters, students can produce varia-tions of a model is also a very helpful feature whensearching for the ideal form to their designs. Buthere the students' impression is that programming isonly useful when designing and drawingmonumen-tal, complex and exotic buildings. Students doubtthat programming can be useful for the type of workwhich has to be elaborated during the Architecturedegree.

Potential use in other subjectsOneof the aspects towhich students expressedgreatinterest was the integration of what they learn at PAand the other courses they attend, especially with Ar-chitecture Project. In 30 students inquired, 20 an-swered positively to this integration. Obviously thisrequires that professors in charge of these coursesshow acceptance and willingness to having studentsmake use of programming in their classes. But the re-ality shows that many are used to a more traditionalmodus operandi for architectural design and remainskeptical and not receptive to such integration. How-ever, if the teaching of computer science subjects istohaveany success in theArchitecture curricula, thenthey must be tailored to the needs of the architects.Students learn best when they see a connection be-tween what they are learning and their current or fu-ture needs (Duarte 2005).

The use of programming in other disciplines willhave to come from students' own initiative regard-ing their own projects, but there is also a time pres-sure to consider in the equation. During the pro-gramming course, students learn how to elaboratesmall independent projects but they do not exercisetheir integration into broader projects. Studentswhohad the subject recently do not yet feel confidentenough to risk using methods that are still not com-

monly used on academic design disciplines. If stu-dents had the programming course a long time be-fore, unless they continued their training with pro-gramming since then, they fear they will have forgot-ten much of what they learned, feeling even less se-cure to integrate this knowledge in their projects.

Use of programming in their future careeras architectsFigure 8 synthesizes the answers to a question re-garding the students' thoughts on using program-ming on their future Architecture projects.

The dispersion of the answers may reveal somedegree of uncertainty regarding the perspectiveswhile mode 5may indicate a certain hesitation in theanswers. Themean value is 5.2 while themedian is 5.

Through informal talks with the students wecould conclude that, generally, students feel that theway Architecture is practiced in Portugal does notcreate high expectations for the use of programming,while in other countries, several studios already seekprofessionals with programming skills.

Wealso concluded fromthe interviews that therewere students interested in the possibility of pro-gramming for other backends such as Revit andArchiCAD because sometimes AutoCAD is simplyunfeasible. The team behind the development ofRosetta has already understood this importance andis actively working on having this integration.

Figure 8Thoughts on usingprogramming onfuture Architectureprojects

CAAD Education - Tools - Volume 2 - eCAADe 33 | 163

Page 6: Programming for Architecture: The Students’ Point of Viewweb.ist.utl.pt/antonio.menezes.leitao/ADA/... · Programming for Architecture: The Students’ Point of View RitaAguiar1,AfonsoGonçalves2

SUGGESTIONSANDREFLECTIONSON THERESULTSThe focus of academic education is the student,hence the importance of hearingwhat students haveto say. It is crucial to understand the educationalbackground inorder for a teacher to employ themostappropriatemethods and communication strategies.With the proper methodology students feel more in-terest in further extending their knowledgeand skills.

What follows now are a set of suggestions thatthe authors consider to be relevant in addressing theissues presented previously taking into account theprofile of Architecture students.

Program and teachingmethodsInitial motivation.We consider of great importancethat, from the very beginning, students be amazedwith the potential of programming. Consequently, inorder to motivate students to become interested inprogramming, the teacher should find ways to capti-vate the students' interest, probably through imagesof great visual impact during the very first lesson, andshowing how few lines of code can produce surpris-ing results, and give examples of the powerful effectthat parameter variation can have in the resulting im-age and its usefulness in the search of the desiredshape.

Typeof lectures.Considering thatproficiency inpro-gramming requires practice it seemsmore suitable tohave a mixed system of theoretical-practical classes,instead of the traditional method of entirely theoret-ical lessons separated frompractice. Students under-stand programming concepts better if they have theopportunity to test their programs right away.

The suggestion is not to undermine the impor-tance of theory but rather understanding the bene-fits of interconnection with practice. Switching be-tween more expository stages and more experimen-tal stages will help keep the interest of students andmotivate them at later stages.

Timemanagement. It is important to tailor the pro-grammatic content of a programming course to thetime students have available. This adjustment can be

made in extent and/or in depth.With respect to extent, without undermining a

general knowledge of all the capabilities of program-ming, there could be a selection of what is moreimportant in Architecture use. In what concernsdepth, the best solution would be beginning withvery simple examples and deepening with progres-sively more complex examples till the available timefor the theme is reached. Thus, the depth attainedwould depend on the ease with which students arelearning.

Presentation of the various themes in parallel tothe conception of a more elaborate project. Dur-ing classes, students learn through small exercisesthe various components of the program.

It could be more beneficial if, from the begin-ning, students were presentedwith amore extendedexercise instead, that also made sense as an archi-tectural whole, especially conceived for this purpose.This exercise could incorporate the various conceptsthat are to be learned through the subject. Thismeans that some of the smaller exercises executedduring the semester could be directly incorporatedin this project. This way, students could be taughtfrom the beginning about how to approach a morecomplex exercise in addition to preparing them forthe final project.

Selection of exercises oriented to a future use.The study that we conducted shows that students donot feel very encouraged to use what they learned intheir works on other project subjects.

One specific exercise the students are shownduring class is how to take an urban site plan (Figure9), provided by municipal services or topographers,anddevelop the equivalent 3Dversionwith the aid ofprogramming. This involves cleaning spurious datafrom the drawing and extracting relevant geometryinformation from a CAD application to use it in theprogramming environment.

After a study of what students normally do inthese subjects, some of the exercises in practicalclasses could be conceived so that they could be ap-plied in the project subject.

164 | eCAADe 33 - CAAD Education - Tools - Volume 2

Page 7: Programming for Architecture: The Students’ Point of Viewweb.ist.utl.pt/antonio.menezes.leitao/ADA/... · Programming for Architecture: The Students’ Point of View RitaAguiar1,AfonsoGonçalves2

Figure 9Exercise of taking a2D site plan andturning it into a 3Dmodel. Downtownof Lisbon City.

From the visual to the abstract. During the lastdecade, it has been discussed how far programmingcourses support the architecture students' way ofthinking (Wurzer et al 2011). It has alsobeen reportedthat Architecture takes on a much more problem-oriented approach to design than the algorithmicthinking behind programming (Lawson 2005). Whatseems certain is that Architecture students have avery strong visualmindset so focusing on visual com-munication during the teaching process should beprivileged. The visual representation may even bethe starting point for understanding more abstractconcepts, as illustrated farther in connectionwith theconcepts of recursion and higher-order functions.

Regarding what has been mentioned, we thinkthat for an Architecture student it is preferable tostart presenting the concept in a visual form first, us-ing for that purpose a simple example that is morerelatable to Architecture rather than presenting com-plex or purely mathematical examples.

Simple examples have the advantage of captur-ing the maximum attention of the student on thenew concept, saving them the effort to understandother complex aspects of the example. This couldeventually constitute a kind of backgroundnoise andprevent the student from looking clearly at the newconcept.

Sequence of the presentation of the contents. Thesuggestions we present in this section take into ac-count what we proposed before and are intendedfor a type of course where students use a front-endprogramming languagewhere they can embed func-tions from a library that produces objects in a CADtool as backend.

After the initial motivation we referred before,students could have their first contact with the com-

puter by means of elaborating a simple program inwhich they would experiment and use the program-ming language and functions from the library to gen-erate a simple image in the CAD tool. Then, after thestudents had elaborated this, the teacher could ex-plain, in a schematic way, the architecture of the soft-ware being used.

In connection to this, the teacher could beginteaching the language in a more formal way. Whenappropriate, students can execute examples and ex-ercises in the computer improving the comprehen-sion and helping maintaining a good mood.

We think there is an advantage of presentingfunctions and the associated concepts from the li-brary as soon as possible to beused inmore visual ex-amples that may help students to understand moreformal and abstract concepts of the language.

During the semester, the choice of contents andthe way they are presented should take into accountthat this course is aimed at Architecture students andnot Computer Science students. Although many ef-forts have been made in the past to do so, we con-sider that this matter could still be improved.

Concepts more difficult to achieve. As previouslystated, several powerful concepts that we commonlyuse in programming, such as recursion and higher-order functions, are more difficult to assimilate, con-sidering that they represent a newwayof thinking formost students.

In the case of recursion, the immediate percep-tion of the spectacular effect and usefulness of its usein solving architectural problems would facilitate aquicker apprehension of this concept by the student.The concept of higher-order functions is more diffi-cult to grasp and so more time and observation ofnewuseful examples have to convince the student ofits potential.

Recursion. In order to contextualize the matters be-ing discussed, let us look at the concrete example ofa simplified drawing of a staircase. The intention is todraw the representation of this staircasewith n steps,starting at a point P and with a riser length of r anda tread length of t. The recursive construction can

CAAD Education - Tools - Volume 2 - eCAADe 33 | 165

Page 8: Programming for Architecture: The Students’ Point of Viewweb.ist.utl.pt/antonio.menezes.leitao/ADA/... · Programming for Architecture: The Students’ Point of View RitaAguiar1,AfonsoGonçalves2

be well understood according to figure 10 retrievedfrom the teacher's book.

In reality, the concept of recursion is visually wellrepresented in the figure which translates verbal lan-guage describing the process of drawing an n-stepstaircase the same as drawing one step first and thenbased on it draw a staircase with n-1 steps.

The representation of the algorithm and its im-plementation and coding should follow, so that thestudents feel the effect immediately, in particular thevariation of the parameters.

Higher Order Functions. Before presenting it in anabstract way, the concept could be apprehended inan experimental way through the elaboration of a se-quence like the following:

The teacher asks the students to define a func-tion that, given a point, creates a cylindrical singlecolumn of certain dimensions centered at point P.

Next, the teacher asks the students to define afunction that uses the previous one, but not givenas argument to this new function, and creates analignment with a certain orientation of n cylindricalcolumns at a certain distance from each other.

The execution of the program for 5 columnswould produce an effect as can be seen in Figure 11.

Continuing, the teacher would then ask the stu-dents to repeat the same steps but for creating pris-matic columns. The execution would produce the ef-fect in Figure 12.

Finally, the teacherwould present the solution ofa single function capable of producing the same re-sult as before but with the particularity that it wouldreceive as argument any of the two previously de-fined functions to create a single column as opposedto having to use two different functions to producealignments, one for each type of column.

Thisway, and simultaneouslywith the apprehen-sion of the concept, the students would realize thebenefits of the use of higher order functions.

Next, a very simple mathematic example couldbe showed like the following.

Let us define a function named shift1 that re-ceives as argument a real functionof real variable and

produces as image, another function whose graph isobtained from the graph of the first function by a ver-tical translation applied by the vector (0,1).

The visual illustration of the function shift1 ap-plied to the function square would be such as in Fig-ure 13.

Figure 10A simplified stairand the recursiveprocess of how it isdrawn.

Figure 11A series ofcylindrical columns

Figure 12A series of prismaticcolumns

Figure 13Visualrepresentation ofthe function shift1applied to thefunction (1)

166 | eCAADe 33 - CAAD Education - Tools - Volume 2

Page 9: Programming for Architecture: The Students’ Point of Viewweb.ist.utl.pt/antonio.menezes.leitao/ADA/... · Programming for Architecture: The Students’ Point of View RitaAguiar1,AfonsoGonçalves2

A very suggestive description in mathematical lan-guage is:

(f → (x → f(x) + 1)) (1)

This type of description could also be used to visu-ally illustrate the semantics of the execution of com-mands of the given language.

As an example, and to illustrate the semantic be-hind Racket's code execution, the usage of the func-tion shift1, when given as argument the functionsquare and the result applied to the value 5 could besuggestively presented as in Figure 14.

Figure 14Visualrepresentation ofthe semantics ofthe use of shift1 inRacket language

Continuation of the theme in new coursesThe students' general opinion is that one semester isnot enough time for the extent and level of demandin the course's program, and if it was divided andcomplemented in two semesters it would be moreaccessible. Yet, when confronted with the prospectof an additional semester, 12 students expressed a fa-vorable opinion and 17 unfavorable.

This can be explained by the fact that, accordingto what we have stated throughout this work, stu-dents show interest in regards to programming butthe difficulties experienced and the unmet expecta-tions do not motivate them to go further. If that is in-deed the case, then we can legitimately assume thatthe reorganization of the course's program into twosemesters may allow the first semester to be muchless overwhelming, more attractive and could moti-vate students to continue in a second semester.

Envisaging a scenario of a programming coursedivided in two semesters, a more introductory but

motivating first semester could prepare studentsfor the second semester. Throughout the secondsemesters, students would then elaborate a projectusing the propermethodology, possibly even explor-ing the application of programming in other areasof their curriculum. A second semester could evenbe optional as not to force students, who are clearlynot interested in the theme of programming, to con-tinue.

The question is whether the proposal to add asecond semesterwould, in this context, bewelcomedby the body responsible for coordinating the Archi-tecture course.

Integration in other disciplines of learnedmethodsFinally, it is very important to settle for convinc-ing those responsible for architecture courses andfaculty the importance of increasing programmingnowadays and especially in the future so that thereis an openness and willingness to reinforce learningthese methods and to introduce its use in other sub-jects.

CONCLUSIONA study of a particular case was presented. All the in-formation regarding this study was based on the ex-perienceof students that attended thePAcoursedur-ing the 1st semester of the school year of 2014/2015,at Instituto Superior Técnico.

Weconcluded that, although students expressedtheir interest in programming and accepted the im-portance that programming can have on the aca-demic Architecture curricula, they felt it is unlikelythey would continue using and integrating whatthey learned in other subjects or in their own de-sign projects. This is due to many factors amongwhich we consider most relevant the lack of applica-bility the subjects haveon the students' work in othercourses, the difficulty in managing the time neededfor elaborating the final project, and the lack of en-couragement shown in other courses in trying to in-tegrate new digital design tools in their educational

CAAD Education - Tools - Volume 2 - eCAADe 33 | 167

Page 10: Programming for Architecture: The Students’ Point of Viewweb.ist.utl.pt/antonio.menezes.leitao/ADA/... · Programming for Architecture: The Students’ Point of View RitaAguiar1,AfonsoGonçalves2

programs.We hope this study provides useful reflections

on this subject and that will contribute with rele-vant suggestions geared towards an improved strat-egy for teaching computationalmethods toArchitec-ture students. For a broader view on teaching meth-ods and other stories of success and failure this studywould need to be expanded to other contexts. Asfor future work, it seems pertinent to approach stu-dents from other backgrounds, other educational in-stitutions and possibly even professionals whomakedaily use of these technologies in their practice. Itmay also prove useful to compare the results of ourstudies with other similar analysis that have alreadybeen developed in other institutions.

ACKNOWLEDGMENTSThis work was partially supported by national fundsthrough Fundação para a Ciência e a Tecnolo-gia (FCT) with reference UID/CEC/50021/2013, andby the Rosetta project under contract PTDC/ATP-AQI/5224/2012.

We thank our colleagues who contributed to theelaboration of the survey and attended the inter-views, although they may not agree with all of theinterpretations/conclusions of this paper. We wouldalso like to thank Ana Rita Santos and Sandra Mon-teiro for their help in the revision phases.

REFERENCESCelani, G and Vaz, C 2012, 'CAD Scripting and Visual Pro-

gramming Languages for Implementing Computa-tional Design Concepts: A Comparison From a Ped-agogical Point of View', International Journal ofArchi-tectural Computing, 18, pp. 122-137

Duarte, J. 2005 'Towards a New Curricula on New Tech-nologies in Architecture', Giaconia, P. (ed.), Script:Spot on Schools, Editrice Compositori, pp. 40-45

Duarte, J. 2007 'Inserting New Technologies in Under-graduate Architectural Curricula', Predicting the Fu-ture 25th eCAADe Conference Proceedings, Germany,pp. 423-430

Lawson, B 2005, How designers think: the design processdemystified, Architectural Press, Burlington

Leitão, A. 2013 'Teaching Computer Science for Architec-

ture', 1ST eCAADe Regional International WorkshopLeitão, A., Cabecinhas, F. and Martins, S. 2010 'Revisit-

ing the Architecture Curriculum: The programmingperspective', FUTURECITIES [28th eCAADeConferenceProceedings, Switzerland, pp. 81-88

Leitão, A. and Proença, S. 2014 'On the Expressive Powerof Programming Languages for Generative Design -The Case of Higher-Order Functions', Proceedings ofthe 32nd eCAADe Conference, England, pp. 257-266

Lopes, J. 2012, Modern Programming for Generative De-sign, Master's Thesis, Instituto Superior Técnico/Uni-versity of Lisbon

Wurzer, G., Alaçam, S. and Lorenz, W. 2011 'How to TeachArchitects (Computer) Programming: A Case Study',29th eCAADe Conference Proceedings, Slovenia, pp.51-56

[1] http://racket-lang.org/

168 | eCAADe 33 - CAAD Education - Tools - Volume 2