In the next few talks we're going to be really digging in to how to build a simple agent based model using the NetLogo programming environment.
But before that I want to introduce NetLogo and explain NetLogo to you a little bit.
And before I do that I highly recommend you pause this video right now and go and complete the three NetLogo tutorials if you haven't already done that,
they'll really help you get up to speed quickly as to how NetLogo works,
and you can find them by opening up the help menu and then going to the NetLogo user manual,
and then if you go down you'll see 'Tutorial Number 1', 'Tutorial Number 2', 'Tutorial Number 3',
and they provide step by step instructions to get you up to speed on using NetLogo.
That being said I'm going to spend some time today talking to you about how NetLogo is set up,
what the structure is, and get you familiar with the overall interface.
NetLogo is unique compared with a lot of agent based modelling languages
in that it has its own user interface, so there's no reason to write NetLogo code outside this interface
and then import it.
Instead, you just write it right here in what's called the code tab,
and we'll spend a lot more time with that later.
Today I want to talk about the Interface and Info tabs,
which are the other two major components of a NetLogo model.
The info tab is a tab that basically documents the model
and explains how the model can be used and what it is trying to understand,
and the interface tab controls the actual interactions of the user with the NetLogo model.
Here you see the Info Tab for the flocking model that we've looked at before.
Each of the Info Tabs in NetLogo has a set of predefined sections that are loaded in them,
and in the model library you will find that all these sections are filled out.
These are not required sections: this is NetLogo style versus NetLogo syntax.
But we highly encourage thinking about these questions when completing your info tab.
The info tab is so that you send a model to another programmer, user or researcher
they can quickly get a sense of what the model is actually discussing
and what's going on within the model.
The questions and sections here are meant to help you elucidate and help you out with that process.
I highly recommend doing something similar to this.
So, for instance, there's a section called 'What is it?' that describes what the model is
There's a section called 'How it works', this describes the actual mechanisms of the agents
So in the flocking model, for instance, it talks about alignment, separation, and cohesion
There's a section 'How to use it' that tells the user how to actually interact with the model
and work with it.
'Things to notice': this might describe emergent properties that they should observe
or what might be interesting about the model
'Things to try': this is the things that they might want to do by manipulating the default rules
to try and get a better understanding.
'Extending the model': this is if people want to go beyond the model and add their own code to it
and try and take it to another area.
If you find a model in the model library that you like,
I highly recommend looking at the 'Extending the model' section
because you might have some interest in trying to extend that model yourself
Then there's the 'NetLogo features', this will highlight specific areas of NetLogo code
that the model is looking at and discussing.
'Related models', which talks about other models that might be interesting
for people who are interested in this model.
'Credits and References' talks about where the model gets its inspiration from,
in this case it cites Craig Reynolds and links to the 'Boids' website to get more information.
'How to Cite' tells people how they can cite this model if they're going to use it in their own work,
and then any licence information as well.
Again, I highly recommend starting your model documentation as you're starting your model.
So, for instance, if you start a brand new model and you click on the info tab
you'll see that right away NetLogo prepopulates it with some standard sections for you to fill out
and then you can click on 'Edit' and start to edit the model descriptions.
So you can say 'This model explores interesting patterns of behaviour in traffic'
It's a place for you to start writing about what your model is and what its doing right away.
The Info Tab files are very simplified formatting mark-up language.
So, for instance if you start a line with two '#'s, it will automatically convert that
to these blue bulleted lists that you see here.
So that's the basic info on the Info Tab.
We're going to talk a little bit about the interface in the next section,
and then we'll finally get on to the Code section. Thanks.