lawrenceadams / CodingForMedicine

A series of educational exercises, applying programming to medicine

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Coding For Medicine

A series of educational exercises, applying programming to medical problems.

About these exercises

Each exercise is designed to function as a standalone exercise.

If you are a learner, select an exercise below based on your interests and experience level. The quickest way to get started is click on the link below, then on 'Open in Colab'.

If you are an educator, feel free to adopt and adapt these exercises based on your requirements.

Exercises

Exercise Difficulty Concepts Accompanying material Created by
Setting up Jupyter Notebook Introductory Jupyter Notebook, Google Colab, importing modules Official Tutorial for Google Colab Dr Chris Lovejoy
Python Principles Beginner Variables, functions, loops, conditionals, data structures
Coding a medical calculator Beginner basic Python (input, try/except, if/else/while, print) YouTube tutorial Dr Chris Lovejoy
Predicting hospital non-attendance Intermediate cleaning data, feature engineering, simple classification model YouTube tutorial, blog post Dr Chris Lovejoy
Diagnosing breast cancer Intermediate model training, performance metrics, confusion matrix YouTube tutorial Dr Chris Lovejoy
Predicting stroke Intermediate dealing with class imbalance, F1 score, underfitting and overfitting, Dr Lawrence Adams
Predicting length of stay Intermediate logistic regression, odds and odds ratios, dummy variables, confidence intervals Dr Jess Caterson
Diagnosing chest X-rays Advanced CNNs (TODO)
(NLP exercise - TBD) Advanced NLP
(bioinformatic exercise - TBD) Advanced
(public health exercise - TBD) Intermediate

Contributor Guidelines

If you would like to contribute an exercise to this repository, please either (A) submit an Issue or (B) submit a Pull Request of the modifed README, with your exercise added to the table.

The core principles are that all exercises should be:

  1. Highly descriptive. All code should be explained, with minimal amounts of assumed knowledge. It should be easy to understand and complete the notebook with no reference to external material.
  2. Interactive. Users should be prompted to modify and complete code, or experiment on their own. These are not purely 'demo' notebooks. Aspirationally, users should not be able to run front-to-back before any user modification (although not essential).
  3. Easy to run. It should be easy and intuitive to run the notebooks both on Google Colab or on local Jupyter Notebooks.

Here is a simple template notebook and here is an example of a well-designed exercise.

If there are significant amounts of code for the user to write, then template 'solution' code can be provided in the 'template_code' folder.

About

A series of educational exercises, applying programming to medicine


Languages

Language:Jupyter Notebook 100.0%