- Why is this course called ‘versus’?
- What are the main topics of this course?
- Is this the right course for me?
- How do I set up my computer to do the exercises?
Who You Are
Every lesson should aim to meet the needs of specific learners [Wils2017]. The three people described below define the intended audience for this one.
Bhadra received a BSc in microbiology five years ago, and has worked since then for a biotech firm with labs in four countries. She did a statistics class using R as an undergrad, then learned some more R and some Unix shell scripting in a Software Carpentry workshop, but has no other training as a programmer. Bhadra’s team is developing tools to detect structural similarities between proteins. They would like to build a browser interface to their tools so that people can test different algorithms on various data sets. This book will show Bhadra how to build, test, and deploy that interface.
Efraim did fieldwork for the Ministry of Natural Resources for thirty-one years. He learned Visual Basic so that he could write Excel macros, then mastered C in order to maintain the control software for some second-hand remote sensing equipment. Efraim recently retired, and is now an active member of several citizen science projects. This book will show him how to create a service to share those projects’ data with the world, and how to build a web-based administrative interface for it.
You can do the exercises in the first part of this course online, but will need to install some software on your own computer to do the later ones.
- For small exercises, use an online service like RunKit
- For larger things, install the latest Long-term Support (LTS) versions of Node and NPM from https://nodejs.org/en/download/
npmis Node’s package manager
- A command-line tool for finding, installing, and updating libraries that your program depends on
npm install --global library-name(without
.jsextension) to install a library globally (i.e., so that all projects can load it)
npm install --save library-nameto install in the current project
- A better idea, since it isolates projects from one another
- We will see later how to create projects
Install Node and NPM on your computer,
then run the commands
node --version and
to see which versions you have.