Skip to main content


Below is an overview of the setup required to perform the programming exercises in BIDSS. Subsequent pages provide detailed step by step instructions for setup for each of the sections that follow.

Computing Environment

A computing environment is required to complete the programming exercises presented in BIDSS. All can be completed on a personal computer running macOS, Windows, or a distribution of Linux. Alternatively, it should be possible to complete the exercises on most university shared computing cluster environments (e.g. Oscar and Stronghold at Brown University).

Detailed instructions for environment setup on a personal computer are provided for the latest version of macOS 11 Big Sur and Windows 10 Pro / Pro Education editions. Alternative or earlier versions of macOS and Windows may require a modified configuration. In particular, Windows 10 Home edition presents some challenges that we will attempt to make clear throughout BIDSS.

Programming Languages

A programming language is a set of rules and syntax that can be used to compose instructions that are interpretable by a computer to carry out defined tasks. The Center for Biomedical Informatics at Brown University has chosen Julia as our primary programming language for teaching and carring out informatics and data science research.

The Julia Language

Julia is a fast, dynamic, easy to use programming language designed to deliver high performance with just-in-time compilation. This results in a programming experience familiar to Python and R users with 10-100X the speed. In addition, R and Python code can be efficiently embedded within Julia programs to take advantage of existing R and Python packages. As Julia is a much newer language than both R and Python, it can make sense to tap into their mature package libraries for certain tasks. Find out more at or the Julia Wikipedia page.

The R Project for Statistical Computing

R is a statistical computing and graphics language. The Comprehensive R Archive Network (CRAN) contains a large library of user-created packages that implement a wide range of informatics and data science methods. Find out more at or the R Wikipedia page.


Python is an interpreted, high-level, general-purpose programming language with a rich library of modules and packages packages, many of which are designed for informatics and data science research. Find out more at or the Python Wikipedia page.

Additional Software

Text Editor

Programming exercises are best written using a text editor. We recommend Microsoft Visual Studio Code which is available for Mac, Windows, and Linux operating systems.

FTP Client

If you are working in a server environment that requires you to transfer files via FTP, we recommend FileZilla, a free FTP client with a graphical user interface for Mac, Windows, and Linuix operating systems.