Prerequisites

This course focuses on the R and Python programming languages. Git will also be taught and used for the assignments. A good code editor and environment (Vscode or Rstudio) is also necessary.
Your take-off will be much easier if you can install all these on your computer before the first precept.

Python

Python can be downloaded here. You will also need a package manager to install various packages/extensions. pip works great for Linux. anaconda is a good option for all OS.
Please check you can run a simplistic “hello, world” script on your Python installation.

R

Here are instructions to install R on Windows, Mac and Linux. This includes downloading R from CRAN. Linux users might install R directly with their package manager, such as apt.
Please check you can run a simplistic “hello, world” script on your Python installation.

Text editor / IDE

Standard usage is to develop code in an integrated development environment (IDE), rather than a simple text editor (though some still use old school editors such as neovim and emacs). We advise to install an IDE, as they show complex code highlighting, can run and help debug code, and connects to AI and git tools.

One of the most popular IDEs is VsCode. Vscode has plugins/extensions for many languages, including those for R and Python that you should install.

Another option you can choose is Rstudio, see here for installation on all OS. Rstudio is more specific to R (and hence provides more specific tools), but also supports other languages.

Github

You should also set up a github account and install git locally. For easier interaction with github repositories, it is also advised to setup a SSH authentification key: follow instructions here.

Schedule and location

  • Lectures:
    • Mondays and Wednesdays
    • 3:00pm to 4:20pm
    • Lewis Library 121
  • Precepts:
    • Thursday 10am, or Friday 12:30pm
  • Office hours:
    • Guyot 104a
    • By appointment
  • Check the tentative schedule for courses, precepts, and assignments
  • Late Policy as of October 21, 2024:
    • 5 points deducted for every 24 hours late
    • Extensions and accommodations are exceptions

Lecture slides

0. Motivation and Computer Programming

1. First steps with R, python and git

2. Control Flow and Functions

3. Data IO and Regular Expressions

5. Applying/mapping functions + Guest lecture: Finding New Genes

6. Recap + midterm solutions + basic plotting

11. Spatial data

12. More statistics, phylogenetic inference, wrap-up

Precepts

Precept 1: Intro to git

Precept 2 Control Flow in R and Python

Precept 3 Data IO and String Wrangling

Precept 4 Data Wrangling

Precept 5 Applying Functions

Precept 6 Intro to Plotting

Precept 7 Plotting from Scratch

Precept 8 Statistics in Python

Precept 9 Bioinformatics

Precept 10 Snakemake

Exams

Staff

Grading

  • No exams
  • Weekly-ish coding exercises (30% in total)
    • Graded for coherence, not correctness
  • Class and precept participation (15%)
    • Participation and in-class quizzes
  • Two coding projects (40%: 20% each)
    • Midterm and Final projects, equally weighted
    • Around 2 weeks to prepare
  • Open-science exercise (15%)
    • Small presentation during finals period reproducing the analysis and/or plots from a published paper.