Introduction to Computational Design – Course introduction

good okay
all right good morning everyone are you
guys doing today
welcome to the GSD or whatever your guys
are coming from
my name is for service and I will be
your instructor this year for
introduction to computational design
okay I would like to start this class
with a really really quick round of
introductions I would like to introduce
you guys to our star Teaching Fellow
today he is daniel dish would you like
to say hi say something about yourself
thank you
he's more of a Python person but
nobody's perfect and this class is very
inclusive about different programming
orientations so if I'm actually really
happy that he's joining us this year
okay I'm also looking for a teaching
assistant did you associate however it's
called many of you have already reached
out to me I'm in the process I have a
lot of emails so I'm in the process of
like going over them and make you some
decision so I will reach out to you very
soon okay the class is going to go out
and really quick relevant elections for
you guys as well
there's a lot of you this year I think
we're almost 60 people register I hope
to scare you out and go ahead bring it
down to like 40 or something a bit more
manageable we'll see about that but can
we do a quick round of like where you
guys sir which program you are and where
you're coming from above us and this
technology okay welcome I'm sorry you
guys have to be here you didn't choose
to be here
but I'll try to make it nice for you
other embassies hmm that's very nice
we're from okay okay
80 PD okay that's nice what about other
programs in this school what about a
mark one a mark two some MDE okay
anybody else from this school or you
Emily okay nice any non GSD people hi
where you coming from
are you under that you need reach – okay
MIT which program Oh you emailed me as
well right okay cool thank you all right
well that's very interesting quite
diverse the course is going to go as
follows we will be meeting here in this
room every Tuesday and every Thursday
from 10 to 11:30 a.m. and we will have
lectures and workshops in this room
additionally we will have a review
section for those of you that review
section will be with him it will be
Friday from 4 to 6 here in this same
room as well right before beer and dogs
so you can come do your thing and then
go get a trick and those review sections
will be optional those will be sections
will where then we'll go over the
context of what revised playing that
week we will try to clarify do a bit
more hands-on and you will be able to do
much more of a Q&A and back and forth
with him we may not have the chance of
do too much interactivity or working
together just because we're so many so
we may try to keep things a bit more
high-level at least on the lecture part
okay I will explain a little bit of how
lectures and workshops are going to work
out throughout the semester okay and
then I will have office hours my
appointments on Thursdays and he will
have office hours my appointments on
Mondays just shoot us an email and we
will give you a timeframe and a location
we can get for that okay so what is this
class about this class is an
introduction to computational design
what does that mean well that's actually
a really generic topic and this class
lives on the legacy of Professor Michael
Athos who is this this class or many
years before I stepped in
you guys are really unfortunate that
he's not here anymore and you're stuck
with me but I took his class back in
2011 it was amazing was probably my most
every class of all times and I'm going
to try to make it at least 10% as cool
and if it was when he was right okay
I'll do my best you guys will tell me if
I reach it but in his own words
computational design is kind of the
study of how we use programmable
computers in order to be integrated in
the process of design okay I will teach
you how to code but I'm not interested
in making you computer scientists I will
teach you a lot of geometry but I'm not
interested in making you guys
computational geometers if that's a word
what I'm interested is in making you try
to understand how computational
processes and writing your own software
can help you be more creative and can
help you in your typical design
processes okay I'm assuming that if you
are here you are here because you're
interested in design as a field and that
you're interested in learning new tools
that can help you enrich open up and
widen the scope of the things that you
can do as designers okay and as probably
many of you already know the way I think
is extremely biased by the way we
express ourselves on there so there's a
lot of Tech Talks out there that
describe how people have different
personalities depending on whether if
they were born learning speaking English
German French Spanish same thing with
software yeah I'm not sure if you're
aware but many of the things that you do
when you use Photoshop use illustrator
you use Rhino or use grasshopper you do
them kind of because that software has a
bias and the software is designed by
someone who was very opinionated about
how certain things should be done and
you can abide you can agree with those
biases and that's why you may find that
software useful or not but if you want
to be as unbiased as possible if you
want to open up and not be directed to
do certain things the way somebody else
has crafted them for you then go in much
lower level
and learning how those people created
those tools it's actually a really good
enterprise and it will yield a lot of
returns if you're interested okay I
would like to make this a bit more
interactive so you can stop in at any
time if you have any questions okay so
what are we going to learn specifically
in this class we're going to learn a lot
of computational job you guys are here
I'm assuming because you are designers
which have some kind of interest in
general 3d modeling apply to maybe
architecture landscape urbanism product
design art some kind of those related
phase okay and you just sort turned it
just so turns out that in those fields
creating 3d object is a very common
process and it just so turns out that
you may have been using software that
other people has designed for you like
right now or grasshopper who is a basic
intermediate grasshopper user who has
never used grass up at all so what's
everybody else that didn't raise the
basic grasshopper just basic grasshopper
you've used it a little bit you've
opened somebody else's definition okay
okay well we're gonna learn a lot of
that because grasshopper is great at
giving you options to generate and
manipulate geometry but it's also again
very biased and if we understand how
those processes work under the hood in
the background if we understand how to
represent numerically and you will hear
me say this like a thousand times
throughout this class if you understand
how to represent numerically the
geometry that you working with what a
point means what a line means in
numerical terms or and how to manipulate
them then you will have a great
advantage over other people who can have
to rely on tools to work with that who
knows the difference between a point and
a vector
your name your name I see c-vector is a
point with the direction map what that's
channel okay points are usually reduced
represent location whereas vectors are
usually are usually used to represent
direction okay
however how do we represent them what do
we use to write a vector that coordinate
choose three or however many numbers
depending on how many many directions
dimensions are working with okay so
essentially the idea exact same thing
the exact same thing two three however
many numbers it is how you interpret
them how you use them that changes and
that's not a numerical problem that's a
mental problem and those are the
problems that we will want to talk about
it in this class as it turns out pros do
not use points they use vectors and in
this class we're going to use a lot of
vectors and I'm gonna try to teach you
how to be pros in this class not because
I consider myself one but I hang out
with a lot of and I know what they did
so we're gonna try to get there for
example how do we represent a line
numerically what is the basic thing that
we will need to create a line two points
how about a point in a vector does that
work which one is better
well it depends on what you want to use
them for what about a circle what is the
basic what we will need to represent a
point in our radius but you're assuming
that where is a horizontal circle so we
may need an actual plane depending on
the spatial orientation but what about
three points can we define a circle with
three points is that enough which one is
better huh three points is that better
maybe maybe depends on what you using it
for have you guys ever moved so have you
ever translated geometry and rotated it
in three-dimensional space have you ever
taken an object and like done this how
have you done that
with a mouse and some clicks right well
in this class I'm going to teach you
transformation matrices
it sounds really scary but it turns out
that with 16 numbers you can represent
any f-fine transformation in
3-dimensional space and it turns out the
computers are really really really
optimized to multiply numbers just as
simple as that so lay people do rotate
3d and then axis and proper blood prose
they generate rotation matrices we're
gonna do a lot of that that's gonna be
like perhaps the most intense
mathematical class that we're gonna have
in this course matrices so I will
refresh a little bit of that for you
okay we're going to work a lot with data
manipulation and data representation
we're going to learn how to generate
streams of numbers how to use them for
particular purposes how to take streams
of numbers that are coming from somebody
else and then visualize them manipulate
them put them to generate geometry put
them to fabricate stuff we're going to
do a lot of that we're going to learn
CAD CAM processes so you guys have
probably at some point 3d printed
something because every 3d printed
something that's pretty good you
probably have 3d model that's something
somewhere in a software then you have
used a second software to put that 3d
model get this kind of like slicing
thing with an infill you crunch some
numbers but you're not really sure
what's happening and then it gave you
this third thing a g-code file then then
you plug in the 3d printer you could go
is that magic it's a witchcraft no it's
just geometry manipulations and general
translations of absolute abstract
geometry to some kind of code that a
machine can understand okay as complex
and difficult this may sound is actually
one of the dumbest things in
computational geometry that you can do
so we're going to learn a little bit of
how to do that manually so that we can
understand how third party to
do this for us and perhaps how to
customise them back or create our own
actually one of the assignments in this
class will be to create your own g-code
it's going to be super cool ok software
development why are we going to learn
fundamentals of software development
well because at the end of the day if we
want to take this the extra mile then we
will probably be bound by environments
that we will be writing our code with
and we may want to start writing our own
stand-alone software pieces that will
perform small operations for us and it
will be really cool and really hacky
we're going to learn a little bit of
creative technology so we're going to
apply creative critical thinking to try
to understand how all these processes
all these tools all these techniques we
will learn this class can help us better
maybe better designers and what being a
better design needs not just can I
create cooler-looking geometry but does
that make sense
have you actually created something new
was it worth this time you spent
creating this as opposed to using
somebody else's tool what are you
contributing etc which will lead me to
the final part of this class in which we
will hopefully through this process
learn a little bit of research
methodology you are in grad school you
are in a fairly nice university so I'm
assuming that if you're here is because
you're interested in professional
practice at a high level but also you
may have some research interests you may
want to push the boundaries of what we
can do as designers and how we can
contribute to society so being able to
frame properly a research question and
try to answer that it's going to be
something that we will by the end of
this semester try to frame properly ok
any questions so far
I'm doing interval time okay so I would
like to demystify before we move on a
couple things first one you may have
heard about code who has ever coded
anything what was written any single
line of code
it's not
for those of you who don't you may be
afraid of it it's a very common feeling
because there's like this there's this
like aura of like fear and complexity
and code is like this like obscure dark
magic that only certain people in
obscure the circles with like capes and
like they do it's actually code is not
about complexity code it's not difficult
code is not something that you either
can or cannot do code is just about
learning a language but most importantly
it's about learning a way of thinking a
process of thinking and it's just and it
turns out that computers are not very
smart computers do exactly exactly
exactly what you tell them to do and
they're based on something that very
fundamental which is logic if you you
guys think you're logic people because
if you're not you may have to come talk
to me after class okay but if you think
you can you are fairly logic in or you
can pretend to be so then you're gonna
have a pretty easy time doing writing
code okay another thing that I would
like to mystify is that code is not
about very complex mathematics there's
this like aura of like oh only people
could do math can't do code that's
totally not true
as I said code is not about learning
calculus it's not we're not gonna learn
differential equations here we're not
we're gonna learn abstract mathematical
concepts what we're going to do is we're
going to apply very simple basic
arithmetic we're gonna add multiply and
divide a lot of things that is true
we're going to do a lot of trigonometry
just because this that is very intense
in computational geometry so you will
have to refresh your sines cosines and
you're how do you say you guys here in
the u.s. you have this like nemo
technique group that sounds like a like
a erupting volcano like the Krakatoa the
sohcahtoa yeah so you have to refresh
the sohcahtoa thing and
you will do a lot of boolean logic you
still don't know what that is but
boolean logic is basically doing
additions sorta and operations with
things that are either true or false so
for example if I ask you am I wearing
glasses what is the answer to that true
or false
now okay am I wearing glasses false
right good is Dan wearing glasses true
so very simple logic that you can add
together what if I ask you am i wearing
glasses and is then wearing glasses that
is false because at least one of us is
not wearing glasses what if I ask you am
I wearing glasses or is then wearing
glasses that's true because at least one
of us is wearing that right
that's boolean logic that's operating
with things that can be true or false
and you can get a bit more complicated
it doesn't get more complex it just gets
more complicated you just add more of
these together okay but that's the only
thing we're going to do and I forgot to
add here we're going to do a little bit
of matrix algebra so we're going to
refresh our multiplying matrices add
them that's super super basic okay
that's as far as we're going to go on
the mat front you think you're cool with
that you think you can handle this good
also I would like to demystify this like
really magic word algorithm sounds like
they're summoning something right but
algorithms are just this is not about
complicated code is not about complexity
it's about receives recipes an algorithm
is just as simple as defining what you
need to work with and a set of rules to
start operating with those ingredients
it's just a saying the exact same thing
isn't key to is impressive however it's
a really fancy word that you should
definitely put on in front of your
clients hey I'm right algorithms you
know you're gonna sound really Pro if
you do that but here between us
algorithms are just simple recipes that
lead us from image
outputs initial inputs are to manipulate
those inputs and then how to get the
output that we wish all okay we will
design a lot of algorithms we will
design a lot of rules to manipulate
stuff and then create an outcome but
ultimately this class is about design
and you will be graded in how tools that
you can learn in this class and help you
be better designers how can help you
think in a different way and how they
can help you through a new language
reach different solutions that you may
not have being able to reach before
either you may not even have imagined
is that clear okay um this class I think
I explained this at some point
why so much man why so much code um in
this class we're going to we're going to
try to break down the basics of
conventional computational design
processes in which ten years ago fifteen
years ago there were people that were
doing these kind of things that we are
doing today but they were doing that in
a way that was like just more difficult
because first of all there were no nice
you eyes with components and wires and
they could link together to create
geometry so they had to learn from
scratch and there was barely no internet
so doing that was not very easy but
thankfully a lot of people throughout
history have been able to go from the
very bones computation of computational
geometry they created environments for
you so that you could draw in a digital
environment as you did on your table
when you Justin table then they created
this thing called BIM Building
Information modelling that adds metadata
to three-dimensional objects and we're
kind of here today
where visual programming languages such
as grasshopper dynamic beam vvvvv max
SMP all of those make the process of
writing things that look or feel like
old much easier because they give you a
visual language to interface with the
underlying code base all right so
this process has taken a couple decades
but we are now here where most of us are
acquaintances with the idea that there's
these things the grasshoppers of life
that helped us create fancy geometry by
manipulating those in a procedural way
in a way where we encode the history and
the processes of the generation of that
geometry all right and algorithm
however we are here and that has made
many people in the world access certain
technologies that were not available
before so that's been great we are here
and you guys probably here because you
have certain interest in understanding a
bit more deeply what is happening in
this UI and what's going on in those
wires that we're connecting right so but
you are here and you now are constrained
by this layer of interfaces that builds
on top of these other layers right here
ok so what I will want to do in this
class is walk back and walk back from
the assumptions that we already have and
start unfolding them and deconstructed
them all the way until we reach the
lower-level basis which in this class
I'm going to trace at computation on
programming languages in particular
seizure ok and as I said before I do
that because I want you because track
all the biases of all the people had
that have created this architecture and
all the layers of opinions of certain
authors that have led you to using
certain tools in a way that are great
for a lot of purposes but constrain your
creativity in a certain line all right
so the lower level we go the more
difficult the process will be the more
time it will take us to create certain
things that will be super easy with the
interfaces that are done but the more
power and the more freedom we will have
I want you guys to remember these two
words power and freedom because this
will be the staple of this class I wanna
be almost like the French Revolution
you could argue well yeah yeah we're
gonna use see sure but hey these sharp
is also biased like somebody had to
design the language right and c-sharp
leaves on top of a computer which is
lose Sheen that somebody has already
designed and already has biases and
works number people away you are right
you're right and if you're very
interested in this question we will be
really good friends but you have to you
have to like draw the line somewhere and
I think for me in this class and the
scope of the introductory class this is
where I draw the line if you guys want
to be more powerful even more free then
you can design your own computer you can
assign your own programming languages
but that's not an introductory endeavor
okay I will I be able to point you to
other classes to further go down the
ladder okay all right
any questions so far any years no fears
I'm not sure if that's a good or a bad
thing okay great yes your name Brian
there was last year and I will be
teaching an elective in the spring I'm
not sure I'm going to design it as a
sequel yet it's very up in the air my
current state of thought is that that
would be something more related to
fabrication maybe some kind of like
real-time robotics fabrication maybe
some machine learning in the mix but I'm
not sure it will be not be a direct
sequel of it but maybe that will change
in the long-term future but I can't say
for sure okay prerequisites this class
you must own a laptop that can run
Windows okay very easy it's part of the
GSD policies and it's very particularly
necessary in this class because we will
use multiple environments that we will
use will run on Windows PCs okay and it
will be very likely and very helpful for
you to come with a laptop and be working
with a lot of hearing okay so if you
have the hardship
making this happen please reach out to
me or reach out to computer resources
and let's try to figure what we can do
about that
okay the other prerequisite is that you
should have basic to intermediate
knowledge of vanilla quote unquote
Prasanna okay but does that mean this
class is not going to be a classical
place I'm we're going to use a lot of
grasshopper we're gonna use it in to
write code inside of grasshopper we're
going to use it to visualize the
geometry that we write in the code that
we that will generate but I'm not going
to teach you the interface what a
component is input and output that is
not going to happen there are many other
classes in this building that will make
a better job of that there are a lot of
digital media workshops it's a digital
media works it's still going on I'm
asking about that but anyway I will
point you because the purpose here is
not you relearn those things but try to
create them from scratch okay so if you
have basic knowledge of plain
grasshopper so the wave people out there
in the world non pros like us use them
it will be helpful because you will
understand the current paradigm that
exists this table and what we're
fighting against all right
and in order to if who believes they do
not comply with this requisite who
believes that they do not have basic or
intermediate knowledge express up one
hand there another hand there to user
come on don't be shy
you can okay sort of like four or five
people okay come and reach out to me
after class okay and I will point you to
some resources okay in order to test if
this is true you have some homework
tonight and the homework is going to be
to recreate a landmark architectural
object I will talk about that in a
second by the end of it
okay it's not too bad if this is not
true but we will have to work a little
bit okay now which tools are we going to
learn in this class well we're gonna
learn a grasshopper but again not the
classical way not the way it's meant to
be we're going to use grasshopper just
way of writing code inside of
grasshopper we're going to create our
own grasshopper components we are going
to use grasshopper for visualization and
we're going to do we're going to be the
ones who contribute to making rush
hopper excellent which is already is I
really like grasshopper but we want to
supersede that parallel okay in order to
do that we're going to learn a lot of
c-sharp I'm going to pay I'm going to
teach you guys how to code I'm going to
teach you from the very basics I'm going
to make no assumptions whatsoever and if
you guys have some previous experience
it will be super helpful but I'm going
to assume that nobody else does okay so
we're gonna start from the very scratch
what data types are how do you do
conditionals for loops or do you write
your own objects and then and we're
going to do it in a way that it's going
to be very oriented towards being able
to create geometry manipulate it and
then port that knowledge which we will
start by doing console applications and
port it into a grasshopper and use all
that magic inside of grasshopper
commands okay that will lead us to
understanding a bit more of this thing
that is called the Rhino common and
Rhino common is the geometry kernel that
runs inside of grasshopper and inside of
that okay we don't have to reinvent the
wheel here we don't have to start
writing code for points vectors lines
NURBS surfaces meshes that would be a
pain in the ass they will take us
forever and we don't need to do that
because somebody else has done it for us
and it's really helpful and it's really
powerful however we need to understand
how the wheel works and we need to
understand how to steer the cart that is
running on top of those wheels so we
will work a lot with
the Rhino common which is basically
what's running inside of each one of
those components is grasshopper all
right and we will use that API to create
our own geometry and to manipulate that
okay and if we understand that we will
be able to use other geometry kernels in
different software or to create our own
West that would be ideal
that's why we're going to talk so much
about computational geometry and their
numerical indications all right and then
by the end of the semester we will
slowly transition to other frameworks
okay this is going to be the core of
what we're going to be doing in this
however we will have dedicated lectures
and or workshops in which we will
showcase superficially how these
techniques can be applied in other
environments so I will we will have like
a processing class where I'll teach you
like oh this is how you do similar
things in processing and in processing
you write this this way you have this
other stuff that is really helpful you
don't have the Rhino common so it's much
better for 2d geometry for graphic
design bla bla we will do a little bit
of unity unity is mixing is really cool
it's video game engine and we will learn
how to script inside of that virtual
engine so that you guys didn't do you
fancy interactive stuff in in unity okay
and you need this really popular
environment I don't know if you guys
have ever done in mercy visualizations
should you start dropping your Rhino
file and then walking around it right so
if you add some layer of code on top of
that then you can start doing fancy
things inside having things move around
or like working with shaders in colors
changing and like things that are much
more immersive and much more interactive
okay and we will learn how to write
things for other of wheeler visual
languages such as for example dynamo bit
which is sort of the grasshopper of
rabbit so if you guys want to be a bit
more beam oriented a bit more practice
oriented you will be able to create your
own components also for that an event
okay with the same paradigm and
perhaps if we get here we will learn a
bit about our shaders shaders is the
nerdiest thing on earth is the most
powerful thing on earth it's really cool
it's parallel processing these GPUs it's
like it's all the cool things together
okay we will hopefully get there all
right but ultimately what I want you
guys to use consistently throughout this
class is your brain okay I want you to
never accept anything that I say just
because I say it I want you to challenge
everything and I want you to contribute
and propose alternatives to anything
that you hear in this class or from your
peers okay because you are designers
this is what you want to do use your
brain and your critical thinking to
challenge reality and propose a better
model okay all right well I'm doing
really bad okay the car the the course
the course website you're gonna who has
access to this canvas who hasn't who
doesn't have access to this already okay
come talk to me after class okay this
will be our main means of communication
the syllabus is already here this will
we just made where you will submit all
of your all of your assignments and this
will be where we will also post like
bibliography references okay
the course will consist of lectures on
Thursdays okay every Thursday I will
give a sort of high-level overview of a
particular topic okay this Thursday is
going to be data data types and I'm
going to talk about points and data
manipulation all right there will be
fairly high-level they will require a
lot of your attention so please bring a
lot of coffee to those lectures okay and
and those will serve as the theoretical
or the concept of foundations for many
of the things that we will learn on
tuesdays tuesdays will be a bit more
workshop hands-on oriented where we
learn a bit more of some kind of
technical skill we will push forward
some kind of like coding project we will
talk about assignments Tuesday's will be
a bit more hands-on a bit more workshop
style kind of class okay with one
exception which is Thursday next week we
will do workshop as well because I want
to get over with the basics of c-sharp
Plus as possible so that we can move on
into higher-level cooler things all
I will talk about the schedule in Isaiah
and on Fridays we will have review
sections this are completely optional
and they're open to anyone who wants to
come and wants to sit down with them
then we'll do a an overview of
everything that we will learn that week
in the lectures in the workshop and he
will be super open to a bit more of
interactive Q&A which unfortunately I
want to be able to do so much because
we're so many people so he will be able
if you have hardship if you want to
clarify certain aspects of any other
classes if you just want to improve your
skills come to the review sections again
the right before beer and dogs so it's
really nice just like finished close
your laptop and then go grab a beer okay
and this is a super super tentative
super super temporal super super
positive schedule of how the semester is
going to go okay this is today this is
this Thursday we're going to learn about
data primitives in some points and then
we're going to spend three workshops
this is next Thursday we're gonna spend
three workshops going over the
fundamentals of c-sharp I'm going to
teach you basic data how to control data
with functions and with computer flow
how to work with streams of data and how
to generate them and then we're going to
go back to the rhythm of lecture
workshop lecture workshop lecture
watching will talk about vectors and
we'll do object-oriented programming
we'll talk about curves and how to
represent them and manipulate them we'll
create our first component in
grasshopper and then we will talk about
surfaces and how do you understand them
as three-dimensional coordinate systems
we will talk about Reiner common and we
all the possibilities in terms of
geometry that the geometry kernel gives
us then we will talk about meshes as
opposed to surfaces and nerves and how
to discretize them we will do some C
sharp in unity we will do transfer make
this is going to be you're going to
learn you're going to have to bring a
lot of coffee here super coffee day okay
because we will learn about
transformations transformation matrices
and how to represent my special
manipulation with a fine homogeneous
matrices okay and then here this is
super super inflow we will talk about
higher level topics and then we will be
intertwining them with the assignments
that you will be doing over the course
of the semester and working on the final
project okay now I would like to raise a
question here in that schedule that you
just saw we have Thanksgiving Day here
on Thursday okay it has been my
experience in the past that the Tuesday
before it's a problem okay because many
of you have families which is wonderful
I have one myself to you and you want to
go you want to travel you want to spend
that time with them right so many of you
end up asking like a professor is it ok
if I don't come who's like flights or
super expensive etc etc like can we do
something whatever so I'm gonna set this
straight I am happy to accommodate for
travels plans or everybody in this class
which means that we're gonna vote right
now would you like guys would you guys
like meet you for this day Tuesday
November 26 would you like me to prepare
a class that does not require that you
guys are physically here in Cambridge
some kind of like online video tutorial
or some kind of practice something
something you will have class you will
have to do whatever I ask you to do here
in terms of homework or assignment but
you just don't have to do it here
physically who wants me to prepare that
could you raise your hand
all right so this is a decision okay
there will be no physical requirement to
be here on this day you will have class
it will be some kind of online thing all
right so if you want you can start
buying your flight tickets and not show
up here on twisted okay it's a decision
Vista all right
now how is this semester going to evolve
well this is sort of a because we're
doing data visualization right this is
sort of like a graph where we're
visualizing semester over intensity okay
we are here today
alright we're hanging out we're cool
we're friends right and then I'm gonna
give you some grasshopper work some
grasshopper homework and then it's gonna
be like oh this is super easy to do it's
so nice I'm just like doing things that
I put them very soon okay we're gonna
start ramping up we're gonna learn how
to code it's gonna be like blah and then
all the way up to here which is going to
be the day with you spatial
transformation matrices okay why is this
happening so fast because I know that a
lot of us take this to do a lot of you
take in other classes this semester and
that the more we've progressed into the
semester the less receptive you are to
me talking about numbers and logic okay
so the sooner we get over with it the
better off we will be to concentrate on
applying these techniques
by the second half of the semester okay
so by the second half of the semester
the lectures will change you tone a lot
and it will be more of like a survey of
techniques a survey of like different
platforms how to apply in these
technologies and these skills in
different environments but I will not
strictly require you that you know how
to use them or that you give me homework
on those it will be more of what it will
be more about sparked in your interest
you like how can you push this further
in other different directions and
inspire you to perhaps use those tools
for your final projects and then we will
spike up a little bit by the end of the
semester as you work on your final
projects and you freak out and the code
is not working and you're asking for
infinite office hours for me
and we will go over that is for you okay
clear I'm very transparent I don't want
to I don't want to lie to anyone okay
and what about homework
well this class is going to be it's
going to be intense
okay most of you are here because you
want you with a with a small exception
of endless technology students so I'm
assuming that you're here because you
want to learn these things and you want
to be better at what you're doing
right so I'm going to give you the
framework to really go deep in that
okay so every class will have some kind
of homework assigned to it and it's up
to you whether if you want to do it or
not okay because at the same time there
are some of you who must be here as a
requirement and I don't want to make
life difficult for anyone okay which
means that every homework every workout
every assignment even the final project
they will all have to left all right
they will have what we call minimum
requirements which is like super simple
and super straightforward applications
of what we just saw in that class okay
and they will have a sort of like hacker
level and the hacker level will be well
how can you push this further
how can you draw from other resources
how can you learn from additional
bibliography or how can you spend more
time making this cooler deeper more
powerful etcetera and those hacker level
points will be for those of you who want
to walk the extra mile will really want
to make the best out of this class and I
will be super happy to support those
directions okay but if you just want an
easy life and you have like all the
things that you're more interested with
I already have already I'm also
respectful of that so you can stick to
minimum requirements and you'll be fine
okay but for those of you who want to
excel in this class you're gonna have to
work okay what does that mean every you
throughout the semester we're gonna have
three kinds of homework we're gonna have
what I call
workouts okay I want you to think of
this glasses volley to the gym right
when you first go you're super weak like
your fluffy butt your butt and it's
gonna cost a lot to start like doing
exercise and be strong and get fit all
so workouts are going to be exercises
that I'm gonna give you in which I just
want you to like do repetitive exercises
to just like improve your skills and get
better as some kind of a technical
aspect okay
workouts are going to be fairly
constrained in their creative scope
they're gonna be more about training a
particular technique all right
and why is that because once you get fit
I want you to decide where do you want
to apply that fitness is it about are
you a true triathlon person are you a
swimmer person are you a Viking person a
marathon person I don't know maybe you
don't know either but it will be
throughout this course that you maybe
will be more interested in certain
aspects of what we learn and therefore
you want we will want to apply that new
power in that direction okay we're not
gonna great the workouts the workouts
are just gonna be for you you're gonna
do them you're gonna we're gonna talk
about that later how to handle this in
but we're not gonna grate that okay it's
just for you internally if you want to
learn and it's really good practice if
you have questions about the workouts to
come to them or to come to me to clarify
those okay we will have though we will
have a science we will have I think
three assignments throughout this
semester which will be some kind of
creative applications of the techniques
that we will learn in plus they will
leave much more open-ended the brief
would be something like I don't want to
disclose what they will be but like
something that is a bit more open-ended
a saying like can you create some kind
of process that generates this kind of
form or this kind of object or this kind
of interaction right and it will be post
purpose three open-ended so that you
guys can decide which aspects of the
assignment you want to work on our apply
your own design intuition into those
I said they will always have to level
minimum requirements and their level and
weather how far you get into those will
be totally up to you all right
and by the end of the semester the last
four to five weeks we will mostly spend
them working on a final project okay the
final project will be super super
open-ended and it will be basically just
do whatever you want to do okay what are
the minimum requirements well I would
like you to write some code for the
final project ideally but even if you
just use any other grasshopper you might
get by with it it will probably not get
a great great but you could get you
could get you could probably you could
probably get by the idea with the final
project is that each one of you is
different you have different interests
you have different backgrounds but code
is in universal language so what you can
do with it is super platform-agnostic is
super field agnostic and you will very
likely through the course of this
semester start thinking about like oh
this would be really cool if I used it
for this thing that I'm working on or
for this hobby that I have or for this
other class that I'm taking right so it
will be up to you to disable the final
project is it will somehow probably be
related to those topics that I have
explained in the second or third slide
today but it will be ultimately up to
you we will do I will explain more about
this by the half of the semester okay
but you will write a small proposal you
will submit that to us we will review it
and then we will negotiate this okay it
will be likely a group project so you
may want to start making friends in this
class and but we don't have to talk
about that too much right now okay if
you wanna perhaps like have an idea of
what kind of projects you could do I'm
not sure if you guys are aware there's
this conference called Acadia that has
sister conferences in Europe Asia and
the US and
is basically at areas there are
Association for computer-aided design in
architecture or something like that
right but pretty much any paper that
gets published in those conferences
could be a good example of a project
that we could do in this class and
actually one of the hacker points of the
final project will be that you write an
actual paper about the project that
you're working which could be
potentially conference grade or journal
grade if so if you're interested in like
surveying what kind of projects you
could do there's this website called
human cat see um ID and something that
basic that has all the papers that have
been published in these conferences
across the history just check them out
and it's probably a good inspiration for
you um you mean cat dot org I think so
you mean this is an N human cat dot org
and you verify that this is true okay so
all the papers that you get published in
those conferences are they're open
access so you can check them and you can
get some inspiration or not or you can
do whatever you want that has nothing to
do with that but we will there will be
like a back-and-forth process of
verification and scope okay
additionally I have any formal agreement
with two classes here the GSD material
systems digital design and fabrication
by professionally thinking and digital
media manipulations with Professor Eng
porn and sex level okay those are
classes that will start this Friday so
if you're interested in their topics you
can go shop them and I have talked to
them and we have an informal agreement
that we will allow to certain students
here we will allow Co joint final
projects between these classes and this
one all right
we're not really sure yet how that's
gonna work you will very likely have to
write a proposal where you explain what
kind of project you want to do
that it is together with this class or
this class and were you very and this is
super important were you very very
clearly the limit what is what belongs
to you the other class and what belongs
to this class so that each one of us can
great you accordingly all right
so if you end up taking either this
class or this class you might be
eligible to apply to do a co joint
project between the two classes okay but
again we have not written these rules in
stone yet because we have never done
this before I'm not sure how it's gonna
play it out um I feel a bit more
comfortable with doing it with this
class because it's very application
oriented so it's very clearly to draw a
line between what is computation and
what is fabrication I'm not sure about
this one because it's very deeply
oriented and computational oriented as
well so I don't I'm not promising
anything and your proposal for a code
joint project might be declined I want
to be very transparent is that as well
okay but it's a possibility in case you
guys are interested right I would yes
even though I haven't talked to and
Jonathan I would and that also sounds
like an easier one for example
visualization yes yes I thought he was
from one to three can we double check
that okay all right we may have to
rethink that then okay but if any of you
are really interested in making that
happen tell me as soon as possible and
then we either change the section order
if not if there's not enough people
doing this then maybe it doesn't make
sense to change the section I don't know
we'll see about that okay I've talked
about this already
and grading for those of you not
familiar with the GSD here there is a
very simple grading system which is
either you pass or you high pass or you
get a decision okay
there's also low pass and failing but
nobody here is gonna go through that
okay so I don't need to tell her that
what does it mean do you have a pass
High Pass or distinction that's going to
be difficult to do great but I actually
wrote something in the syllabus that I'm
very proud of so I'm gonna read this
literally if you stick to the class
content submit what is strictly
requiring the assignments and complete a
final project using mostly standard
available off-the-shelf computational
tools you will be likely awarded a pass
okay so if you take it easy and if you
don't walk the extra mile you're
probably in the pass rate okay
however if you go beyond the scope of
the material taught in this class if you
push the boundaries of the assignments
in Europe with your own contributions
and personal views and submit a final
project with a significant code base
written specifically for the purpose of
your final project then you will likely
be awarded a high pass all right and on
top of that if you consistently
throughout the semester complement your
learning with external resources if you
incorporate techniques or environments
that were not explicitly discussed in
this class if you're submit a final
project of excellence such I'm very
happy about the sentence that
contributes to the research field and or
could have a real-world impact in a
community of users then you might get a
stick all right is that clear
I'm going to assume an elevated entry of
maturity from you I'm gonna teach you a
lot but there's so much more that you
can learn that will not gonna have time
to cover in this class that if you're
interested in those things you should do
a lot of independent research and a lot
of independent learning on the side to
further complement your skills i will
consistently point you to additional
resources every lecture every workshop
things that you can look at is that you
can video tutorials youtubers etc that
you can in your free time
or and then you can compliment those
what you learn there with the things
that we're gonna learn in this class
any questions about this yes yes leave
right Li know you don't I
so I think you I suggest the student you
have access to Rhino licenses with some
kind of online server and I think you
will get Rhino six I will be using Rhino
five on the lectures but grasshopper is
almost identical in both versions so it
doesn't really matter okay we just
learned that there's an overlap from
four to six so we may have to rethink
that and soon if we make a decision we
will notify you okay but who knows maybe
you don't have to come to the review
section because you're great I don't
know will will will have a will have a
conversation about that okay and we'll
get back to you okay
foundational references for this class
we don't have a textbook because
unfortunately I have not seen a one book
that I like and I think it covers things
in a way or in a depth that I think
matches this class so I probably may
have to write one at some point in my
life I don't know you know you plant a
tree you write a book those kind of
things that you're doing in life but I
would like to point you to a bunch of
resources that would be very useful in
certain stages of this course okay
the first one is going to be this book
by Robert Woodbury all elements of
parametric design okay and this book is
great is in that it's very agnostic to a
particular platform or technology it
actually writes kind of pseudocode that
you could then that
like higher level and especially chapter
six is very good because it covers the
fundamentals of points vector algebra
nurse geometry and transformations in a
very nice and very visual way so chapter
six in this book is very nice I think I
have to put this one Reserve on the
library so you can go check it at any
time if it's not on reserve let me know
and I'll think the library again okay
now there's this other book that I just
got it was published last year and it's
called the geometric computation I
actually met Kyle at a conference
recently it's a really really nice book
he's on the fifty dollar range we have
one in the library on reserve as well
and in many aspects is much nicer than
the elements of parametric design
visually is gorgeous is really beautiful
and it has a sort of language about how
it describes computational entities that
it's interesting I'm not sure if it's
great but I think it's interesting so I
like this book a lot unfortunately it's
also very heavy on this one particular
geometry library that they created for
the sake of this book is called decoded
but yes and it's written in Python ah
it's not a Python class you guys can do
better than that and but most
importantly like that library is very
very not under development so the github
page for the library is basically has no
documentation whatsoever and the website
where you should go to get that
documentation is down so I don't know
what's going on I emailed the guy he
hasn't gotten back to me but at least
the conceptual parts what point
Spector's meshes endogenous this is very
nice and it's very well represented
visually so you may want to check this
book as well it has a lot of really
interesting equations for intersections
for example and other group your magic
manipulations that you can do okay so
these are
kind of the two main books that I would
like for this also this one is in red
this one this document is called
essential mathematical computational
design by Roger
Issa she is one of the developers and
educational people at McNeil the people
who write and sell right now right and
it's a free PDF that you can download if
you go to the website we will probably
put that in the resources on canvas and
it's very short it's like 60 pages and
is very heavy on grasshopper so a lot of
the code with and a lot of the things
that you will see there you can directly
apply them to grasshopper and it's also
written in a very very lei way it's very
easy to read it's very easy to
understand and it covers a lot of the
fundamentals that we will talk about in
this class points vector algebra rotate
much transformation matrices and nerves
geometry right so you should definitely
definitely download this and read this
throughout this semester I will point
you at certain sections of this document
while while we're going over the
semester right and if by the end of the
semester you do not understand and
something some sections or you still
have hardships on the copies that are
covered in this document then I will not
have done my job well okay this is a
really good docu go check it out okay
on top of that on a sidetrack for the
more nerdy oriented of you there's this
book called code the hidden language of
computer hardware software by Charles
that's all from Microsoft despite
despite being Microsoft it's a really
really good book okay
it doesn't talk about geometry at all
it's more about the real real
fundamentals of numerical
representations and computer code okay
it walks you in a super nice super easy
way to read from The Telegraph so how
that let you morse code how the concept
of a code
became a way to encode information with
electric signals how that led to binary
code and then how applications of binary
code and boolean logic led to the
creation of register microchips and the
phone Neumann architecture that we
nowadays every one of us has in our
computers all right
as nerdy and as difficult as that might
be sound this book is amazing and how
easy and to understand and how easy to
read this topic that may not be trivial
it is so it's a really good like night
stand before going to bed kind of rate
thing all right and it's also very cheap
you can buy it for five dollars on
Amazon okay so also if you do some
googling you can probably find a PDF
okay but I never said that
take a look at that now if you want to
oh if you want to widen your scopes
there's this book call the processing
the programming handbook for visual
designers and artists this is not
c-sharp is processing processing is a an
empowered library of Java but one of the
nice things about c-sharp is that it's a
sea based language just like C C++ Java
and like JavaScript so if you learn C
sharp you're gonna have a super super
easy time transitioning to any other of
those languages that I just explained
unlike Python all right now this book is
extremely nice because the way it works
you through how to learn how to code is
extremely nicely structured the examples
are very graphic and very visual so it's
really good for people like us for
visual thinkers okay
true story I learn how to code by
reading this book like many years ago I
sat down I went through the whole thing
I did a project and then boom I knew how
to code already okay
so it's great you should definitely
check it out and if you want to be a bit
more and then on top of that I have this
one I'm trying to get this one for the
called generative consultant or a
generative design and it's basically a
collection of artists who to processes
and started creating projects that
tapped on the capacities and the power
that computation gave them as opposed to
regular graphic tools okay
it's got code blocks for a lot of like
geometry driven and visually graphic
driven processes is very nice any any of
the projects that show up here could be
an inspiration for your final projects
as well okay so it's a really good
source of inspiration if you wanted to
get all of these love books are on the
syllabus they are specified in the
syllabus somewhere and finally there is
the nature of code it's it's also is
from Daniel Shipman
I'll talk about him in a second it's a
great book if you want to do more nature
is by code it talks is also based in
processing but it's more about dynamic
generation of geometries what happens
when you generate geometry not with one
static algorithms but by doing loops and
doing dynamic simulations of those so it
does things such as like walk and bird
simulations growth patterns for
vegetable inspire geometry that kind of
stuff is really nice in that sense okay
and you can download this for free so I
bought the book which I got I got signed
by him here right but you can download
the PDF for free from his website okay
now on the grasshopper front I told you
that I'm going to assume some basic to
intermediate knowledge from you for
grasshopper so if you're not there yet I
suggest you check first
the grasshopper primer it's a very
extensive document that you can download
for free as well and it works to the
basics of the whole thing how do you use
them you look grasshopper okay it's very
nice it's quite beautiful it's quite a
stance is perhaps for me it's a little
too extent it's a little too long so I'm
more of a let's cut to the chase and
person so in that sense
I may want to read I may want to
recommend this other one is called
algorithmic ad design but prior to load
to deskey this is very very grasshopper
oriented this literally let's do
grasshopper and let's like fancy
geometry with grasshopper it's too fancy
a little bit for my taste and it's also
a little dated
it's kind of old already so grasshopper
has evolved a little bit but it's quite
foundational it's kind of nice I'm
getting among the process of getting one
of these for the library as well okay
and last but not least I would like to
remember to remind you guys that as you
see or Harvard students you have access
to what used to be called Linda now it's
called Ling Ling Ling Ling learning and
that linked in learning has a lot of
grasshopper tutorials okay if you are
not familiar with our supper or if you
have a hardship doing the minimum basic
requirements of the homework that I will
give you later today
then I very very very strongly advise
you to take this course okay Linda sorry
LinkedIn learning has a bunch of
grasshopper tutorials I find most of
them terrible really bad really really
bad to a point where I may we may
actually like start creating our own
responsorial sometimes it's it's just
terrible because like it's like chapter
1 points chapter 2 machine learning what
what did I miss
you know it's like or like somebody else
is to kangaroo like right away I know
where the basics right and the only one
that covers the basics in a way that I'm
fairly comfortable with is this one that
is called what is grasshopper there is a
link on the syllabus to this one so if
you do any of this to this one do not do
the other ones okay and if you want to
refresh if you want to keep them a
little bit more on like advanced topics
in grasshopper such as data tree
manipulation and those kind of things
please go check this tutorial if you go
to that link if you read through this
list and you think you're comfortable
without going through a tutorial with
80% of what you read here then you're
going to be fine okay you don't need to
do it okay there's everybody everything
else we're going to cover here in this
class sama now if you want to walk the
extra mile there's this guy called long
Yujin in the Institute for computational
design in Stuttgart he's a huge nerd I
have a lot of fun with him and he runs
like what anyway he did this online
workshop and that is called
c-sharp scripting in grasshopper this is
really really good it's a little hard to
follow because it's very fast paced and
it gets into very deep things very fast
all right but this scope of what he
covers is very similar to the scope of
what we're going to be covering in this
class the techniques are very similar
the ambitions are very similar so if you
if the first week or two weeks you're
feeling like I kinda know what to say is
talking about I really want to like move
on some go check this one okay do the
whole thing is like things like 12 hours
of video tutorials but if you complete
this and if you're comfortable doing the
things that he covers in that tutorial
then you're going to have a really easy
time and a really fun time you disguise
okay so this is as it comes to video
tutorial he's probably the closest in
terms of alignment with what we're going
to cover in this class okay I really
recommend that you check it out
and finally last but not least I really
want to recommend you to check the Kodi
drain ok who knows this guy he's called
Daniel shipment and he runs a YouTube
called the coding training and it's
really it's about creating so he spends
like a lot of time writing like things
with processing with p5.js with other
platforms to do fancy geometry things
that move in space use a clock around
whatever and not the content is great is
super good than top of that he is
actually really nice and really fun to
watch it's like super entertaining
like it's and and he covers like
geometry and he dances and has like all
these like sound things and qED's random
numbers all of a sudden it's I don't
know I'm a huge fan I'm a fanboy and
when I grow old I want to be like Daniel
Shipman at some point alright so here's
I really recommend he has a live stream
every Friday so you can just like have
the live stream and like check encoding
while he's coding and the questions and
blah blah blah and it's really
entertaining and it's also very good for
learning okay so as a complementary
thing i really suggest you you check it
out okay now final logistics to take
this class you should be registered for
this class okay some of you may have a
hardship doing that because of course
registration issues because you're not
from the GSD so you have problems with
come let me know I'm not sure if you
know about the GSD policies but you have
a shopping period where you can take
this class that you can drop it for free
without consequences and view can
somebody help me September 20th
September 10th okay don't quote me on
the date but there is a day where before
that so you can register for this class
and if you don't like it and you can
just drop it and it's fine okay no no
strings attached I won't be I won't be
hurt but you need to register for the
class because you need to have access to
the canvas website so that we can share
documentation you can be on the email
thread and that you can submit your
homework okay you also have to come to
this class we're not going to track
assistants we're not going to be behind
you but if I substantially consistently
never see you and I don't know your name
I will probably not know you're in
terrible with names
I owe this okay but if I don't if you're
faced I'm really good with faces if your
face doesn't look familiar to me there's
probably something going on okay
so just try to come to class also this
year we're doing something new this is
really I'm really thankful to then you
see that camera there okay and you see
this camera here we are trying this new
thing where we're going to be recording
every class and actually he is recording
this right now so we're going to try
after every class to recode the video
put it somewhere on YouTube so that you
have a backup of what we covered here so
if you can't come to class or if you're
struggling to follow because what is the
type there all the news little like
I missed it right it's okay like you're
always gonna have the video that you can
go back and you can review in case you
missed some part or you want to refresh
what we've talked about okay if any of
you have privacy issues with your face
or your presence being in the video just
try not to sit in this area where the
webcams are pointing and if you some
even if any of you have like a
significant objection to me recording
this for privacy issues come to me in
private we will talk about that and if
it's a pressing issue we will start
doing that okay but initially we're
going to try to record every class so
that you can check them out later or you
can use it as a resource okay are we
doing well with the recording right we
spent a lot of money on the rate so it
better be good we have a third-party
tools policy that you can check on the
syllabus I'm not going to tell you not
to use other people's tools
that's stupid everybody in the
computational design world everybody in
computer science uses other people's
tools it's just the way you contribute
to making things greater in the world
and actually we have a pseudo
open-source policy here we would like to
encourage you to share all the code that
you write with the world because it's
nice thing to do and we want to be nice
human beings in this class okay so the
only thing that I ask is that if you use
third-party tools or if you copy code
from somewhere else like for example
Stack Overflow
you will learn very soon about Stack
Overflow I just want you to quote it I
just want you to give credit to whoever
wrote that code or to specify that
certain parts of your project are done
with certain tools and which parts are
done with tools and you have created
okay that is very important if I read
code that I suspect you have not written
and trust me I'm very good at that
and I don't see where that's coming from
or I suspect and this has happened in
the past or I suspect that you have copy
pasted something but you do not
understand how it works we may have
problems there okay so please check the
third-party tools policy on the syllabus
and try to be nice and transparent about
using other people's code okay if any of
you have needs in terms of accessibility
please reach out to me or reach out to
student services and we will try to
accommodate for you and last but not
least this class wants to be an
inclusive open-minded and welcoming
environment for everyone okay we respect
all kinds of beliefs orientations ways
of expressing yourselves and I will make
a very strong effort to maintain a
positive environment for all of us to
work so try to be a nice person when you
communicate with others be nice there's
a lot of code trolls out there who are
not nice to go so we're not gonna be
those kind okay
and I think that's it I'm terrible with
time I was gonna do like a short like
Who I am and my personal work why I'm
here but we're there we're not gonna get
anywhere close so I may do that some
other day okay any questions before we
wrap up and I talked about homework yes
Mohammed I was not intending to make
them available on canvas but we are
recording the presentation so it's kind
of the same and the presentations the
links to the videos will always be on
campus and there will be some kind of
into playlists where we will add all the
videos one after the other so that will
soon be available very soon but you need
to fix your registration issues all
oh I like cs50 a lot cs50 in the right
class there's too much of her lover not
that I would I would see I would have a
hard time drawing a line between oh yeah
will help a lot yeah because actually
cs50 is a bit more it's a bit closer to
the things that are written here and
it's very foundational in terms of like
writing super super low level code you
took cs50 as well right it's it's really
nice and it also jumps to like web-based
technologies which is also kind of like
a nice skill to have and they do not
cover any geometry at all
so we will do that here so it's a really
nice complement it is true
are you very strongly suggest and you
guys if you guys are interested in these
things you take seriously okay
especially if you're international
students and have not been to college
here it's kind of a cool thing to do you
know you go to like the the cool like
halls and it's cool it's cool name Maria
that's up to the register I don't said
that Dave but it's going to be one of
those three days because that's a final
exam period it's the week after
communities okay any other questions
okay I have a couple of things that are
off topic from this plus one is there
used to be this student group called
code without frontiers okay it used to
be a student group which would meet once
or twice a week and it was just like
they were just all like open walk-in
sessions to help other students from the
GSD with the grasshopper problems that
processing problems etc you guys are
really good candidates to run one of
those I unfortunately cannot because I'm
faculty here and it's a student-run
group but there's a student very very
and I think it's Friday next week so if
you any of you want to either bring in
this group back to life as a faculty are
we super happy to sponsor that to help
you as much second okay so keep that in
mind if any of you guys want to do that
same thing for this other group that
used to be called GSE J all right if any
of you like electronic music I used to
be a DJ I sometimes um when I have a
free time so if you also want to bring
this back to life I'll be super super
happy to help you make that happen and
perhaps like TJ DJing workshops or
whatever we have a really good turntable
system here at the GSD you will learn
about the very soon okay so keep this in
mind if you're in electronic music
orient okay and I'm gonna switch to
homework real quick okay two things work
out number zero oh all right okay so
very simple I try to create I try to
create a survey on canvas and I failed
miserably so but I would like to know a
little bit more about your background I
would like to know how much you've code
how comfortable you feel with
grasshopper words which program is we
would like to have some n demographics
about this class so I'm going to kindly
ask you to go to this forum here and
complete a small personal survey about
who you are and your background okay
and also I would like to know what your
expectations about this class are what
do you expect to learn if you have an
intuition of what you may use this class
for so that over the course of the
semester we still have some room to
change the curriculum so I would like to
change it to adapt it to you who you
guys are
can you give me a minute thank you and
so that's one thing go and do that the
other workout is I want to see how good
you guys are with vanilla grass on okay
so in order to do that I'm going to ask
you I'm going to ask you to reproduce
this thing are you guys familiar with
Peter Eisenman's
Berlin Holocaust Memorial right it's a
very simple thing it's a is basically is
a grid of concrete blocks that
kind of have this undulating pattern
surface on the line okay it's a very
simple thing to do in grasshopper it's
basically like six or seven components
all together but if you don't know how
to do this then mm I would like to talk
to you
okay this class may not be for you okay
or it may it may because you're totally
you have no biases whatsoever okay so I
just want to get a sense of how skilled
you are in the standard tools okay so
I'm going to ask you to reproduce this
as as deep as you can or you feel
comfortable with okay so there are some
guidelines about what where is it yeah
there are some guidelines about like the
minimum requirements or at least these
models should have like a planar grid of
boxes the size of this and the spacing
and the size of the blocks should be
controllable with parameters with
lighters and the height of the boxes
should form some kind of unloading
pattern okay that is very
straightforward to do if you want to
walk the extra mile you can do things
that are a bit more faithful to the real
thing such as for example the fact that
the blocks do not sit on a flat plane
the fact that both the top and the
bottoms are different undulations the
fact that each block is slightly slanted
vertically the fact that they do not
form a perfect grid but they are in this
kind of weird parcel and the fact that
some of the blocks are randomly off
especially the closer you get to the
border okay so if you can implement
those features as well that would be
and then the deliverable is you're gonna
we don't have time so over the course of
the semester you're gonna build this
thing that I call the computational
design sketchbook is basically a
landscape orientation document where
you're going to put all your screenshots
and all your diagrams you know your
important piece of code because by the
end of the semester we will take that
whole document with all your workouts
your assignments and your final project
and we will grade you on top of that
okay so the first thing you're going to
add to that document is screenshots of
this as specified here and I'm going to
finish with this some guidelines we're
going to do a lot of grasshopper
got some guidelines use the export tool
do not take a screenshot directly from
the canvas you guys are designers you
know better than this okay also this is
optional I'm very very strongly a grass
over icons person but I understand
there's other people in the world so I
have to respect you but I very very
strongly suggest that if you guys are
not familiar with grass hopper you turn
on the icons right away it's my
experience that is a much much faster
and better way of learning Brussels okay
we are visual thinkers please try to
stay away if you can or unless it's too
late from text in the components and the
biggest biggest one I'm old I'm prone to
heart attacks so if you're doing a
screen shot of grasshopper you don't
need all the toolbars you don't need of
them and also the gray background
seriously guys you can put a bit more
love into customizing how it looks right
you guys are designers I'm gonna do a
good I'm just this is a huge no-no if I
see presentations with gray backgrounds
or red transparent boxes okay you don't
want me to die in the middle of your
presentation okay so read the document
and if you have any questions we address
them over email thank you very much and
you can come talk to me if you have any
problems okay