A Scientific Introduction to Go