Giter Club home page Giter Club logo

education_modules's Introduction

Education Modules

Intention

This repository holds publicly available instructional modules aimed at teaching data science and related skills to researchers, as part of an NIH emphasis on improving research reproducibility, transparency, and rigor.

These materials have been created for the purpose of sharing them widely with the research community. Support for this effort includes NIH funding via an R25 grant mechanism.

About These Materials

The training materials here are built in markdown, and you can use the Liascript markdown renderer to make them into attractive, configurable training modules. To use Liascript, go to https://liascript.github.io and enter the url of the (raw) markdown.

For example, to use the training included in data_visualization_in_ggplot2, navigate to https://liascript.github.io add the url for the "raw" version of data_visualization_in_ggplot2, which is https://raw.githubusercontent.com/arcus/education_modules/main/data_visualization_in_ggplot2/data_visualization_in_ggplot2.md. Together, that gives you this combined url: https://liascript.github.io/course/?https://raw.githubusercontent.com/arcus/education_modules/main/data_visualization_in_ggplot2/data_visualization_in_ggplot2.md

This project is grateful for the generosity of Liascript's creators and sustainers, André Dietrich and Sebastian Zug, for sharing their work (and advice!) freely.

Remixing Our Materials

This work is licensed with Creative Commons Attribution-ShareAlike 4.0. There is also a helpful summary of the full license that describes what we permit in brief terms. You are free to share and adapt these materials as long as you give appropriate credit and apply the same license to your version of these materials. Some uses we foresee include:

  • Forking this repository and changing some elements to be more contextualized to your audience (such as translating materials or changing sample data), and sharing the remixed contents with your audience
  • Forking this repository and adding or removing courses that best meet the needs of your audience
  • Sharing links to this repository or its contents with communities of learners
  • Suggesting changes to our materials (especially where doing so would improve generalizability and accessibility) by adding an issue or creating a pull request with proposed changes
  • Creating free community learning events like user groups or hackathons that use these materials
  • Using our published guidelines and methods for curriculum creation, with attribution, in your own projects

If you do use these materials, we would love to hear from you! Please let us know about your experience so we can continue to improve.

Links to Repository Contents

Name LiaScript Link Markdown Link Current Version Short Description
Bash / Command Line 101 Training Course Markdown 1.1.0 This course will focus on accessing a command line program (or CLI, "command line interface") and running shell scripts on your home computer and learning how to navigate your file system as well as editing and searching files.
Bash / Command Line 102 Training Course Markdown 1.0.0 This module will teach you how to use the bash shell to search and organize your files.
Bash / Command Line 103 Training Course Markdown 1.0.0 This module will teach you how to combine two or more commands in bash to create more complicated pipelines in Bash.
Bash Conditionals and Loops Training Course Markdown 1.0.0 This module teaches you how to iterate through "for" loops and write conditional statements in Bash.
Bash Scripts Training Course Markdown 1.0.0 This module will teach you how to create and use simple Bash scripts to make repetitive tasks as simple as possible.
Citizen Science Training Course Markdown 1.0.0 This is an overview of citizen science for biomedical researchers.
Creating a Git Repository Training Course Markdown 1.0.0 Create a new Git repository and get started with version control.
Data Storage Models Training Course Markdown 1.0.0 This course will focus on different data storage solutions available to an end user and the unique characteristics of each type. This course will also cover how each storage type impacts one's access to data and computing capabilities.
Data Visualization in ggplot2 Training Course Markdown 1.2.0 This module includes code and explanations for several popular data visualizations, using R's ggplot2 package. It also includes examples of how to modify ggplot2 plots to customize them for different uses (e.g. adhering to journal requirements for visualizations).
Data Visualization in Open Source Software Training Course Markdown 1.0.0 Introduction to principles of data vizualization and typical data vizualization workflows using two common open source libraries: ggplot2 and seaborn.
Data Visualization in seaborn Training Course Markdown 1.0.0 This module includes code and explanations for several popular data visualizations using Python's seaborn library. It also includes examples of how to modify seaborn plots to customize them for different uses.
Database Normalization Training Course Markdown 1.0.0 Learn about the concept of normalization and why it's important for organizing complicated data in relational databases.
Demystifying Python Training Course Markdown 1.0.0 This module introduces the Python programming language, explores why Python is useful in research, and describes how to download Python and Jupyter.
Demystifying Geospatial Data Training Course Markdown 1.0.0 This module is a brief introduction to geospatial (location) data.
Demystifying SQL Training Course Markdown 1.0.0 SQL is a relational database solution that has been around for decades. Learn more about this technology at a high level, without having to write code.
Directories and File Paths Training Course Markdown 1.1.0 In this module, learners will explore what a directory is and how to describe the location of a file using its file path.
Elements of Maps Training Course Markdown 1.0.0 This is a general overview of ways that geospatial data can be communicated visually using maps.
Encoding Geospaital Data: Latitude and Longitude Training Course Markdown 1.0.0 This is an introduction to latitude and longitude and the importance of geocoding - encoding geospatial data in the coordinate system.
Exploring the History of a Git Repository Training Course Markdown 1.0.0 This module will teach you how to look at past versions of your work on Git and compare your project with previous versions.
How to Troubleshoot Training Course Markdown 1.0.0 Learning to use technical methods like coding and version control in your research inevitably means running into problems. Learn practical methods for troubleshooting and moving past error codes and other difficulties.
Intro to Version Control Training Course Markdown 1.0.1 An introduction to what version control systems do and why you might want to use one.
Learning to Learn Training Course Markdown 1.0.1 Discover how learning data science is different than learning other subjects.
Missing Values in R Training Course Markdown 1.0.0 A practical demonstration of how missing values show up in R and how to deal with them. Note that this module does not cover statistical approaches for handling missing data, but instead focuses on the code you need to find, work with, and assign missing values in R.
Omics Orientation Training Course Markdown 1.0.0 This module provides a brief introduction to omics and its associated fields.
Python Basics: Writing Python Code Training Course Markdown 1.0.0 Learn the foundations of writing Python code.
R Basics: Introduction Training Course Markdown 1.0.0 Introduction to R and hands-on first steps for brand new beginners.
R Basics: Transform Data Training Course Markdown 1.0.0 Learn how to transform (or wrangle) data using R's dplyr package.
R Basics: Visualize Data Training Course Markdown 1.0.0 Learn how to visualize data using R's ggplot2 package.
Reproducibility Training Course Markdown 1.2.0 This module provides learners with an approachable introduction to the concepts and impact of research reproducibility, generalizability, and data reuse, and how technical approaches can help make these goals more attainable.
Reshaping Data in R: Long and Wide Data Training Course Markdown 1.0.0 A module that teaches how to reshape tabular data in R, concentrating on some typical shapes known as "long" and "wide" data.
Setting Up Git in Mac and Linux Training Course Markdown 1.0.1 This module provides recommendations and examples to help new users configure git on their computer for the first time on a Mac or Linux computer.
Setting Up Git in Windows Training Course Markdown 1.0.1 This module provides recommendations and examples to help new users configure Git on their Windows computer for the first time.
SQL Basics Training Course Markdown 1.0.0 Structured Query Language, or SQL, is a relational database solution that has been around for decades. Learn how to do basic SQL queries on single tables, by using code, hands-on.
SQL Intermediate Training Course Markdown 1.0.0 Learn how to do intermediate SQL queries on single tables, by using code, hands-on.
SQL Joins Training Course Markdown 1.0.0 Learn about SQL joins: what they accomplish, and how to write them.
Statistical Tests Training Course Markdown 1.0.1 This module provides an overview of the most commonly used kinds of statistical tests and links to code for running many of them in both R and python.
Tidy Data Training Course Markdown 1.0.1 Tidy is a technical term in data analysis and describes an optimal way for organizing data that will be analyzed computationally.
Transform Data with pandas Training Course Markdown 1.0.0 This is an introduction to transforming data using a Python library named pandas.
Using the REDCap API Training Course Markdown 1.0.0 REDCap is a research data capture tool used by many researchers in basic, translational, and clinical research efforts. Learn how to use the REDCap API in this module.

For Contributors

If you would like to create a module for inclusion here, please review the methods for doing so within our How To Guide.

Root level folders in this repository include instructional modules as well as some shared assets that will be used by instructional modules. Want to submit a pull request to add materials? Please abide by the file structure and naming conventions described here and captured in existing materials.

File and directory names, except for when established convention (e.g. README.md) differs, should be in lower case with underscores separating words.

./
├── README.md
├── assets
│   ├── media
│   ├── css
│   │   ├── styles.css
│   │   └── maybe_one_more.css
│   └── js
│       ├── some_script.js.min
│       └── Other_Commonly_Written_This_Way_Script.js
├── lesson_name
│   ├── lesson_name.md
│   ├── media
│   │   ├── some_video.mp4
│   │   └── some_image.png
│   └── code
│       ├── some_markdown.Rmd
│       ├── python_sample.ipynb
│       └── to_be_completed.R
└── different_lesson_name
    ├── different_lesson_name.md
    ├── media
    │   ├── best_video.mp4
    │   └── an_image.png
    └── code
       └── sample.R

A Few Notes and Caveats

If you use .css or .js scripts, it's important to know that you can't supply these scripts directly from GitHub. GitHub does not provide the appropriate metadata to indicate that the content of the files is of the correct type, which means that browsers won't include them.

One solution is to use a CDN that re-packages GitHub contents for use in a web page. For example, Liascript itself suggests using a CDN to provide a CSS script from GitHub.

Since CDNs generally have a refresh rate that doesn't meet the "let's try this really quickly" pace of development in GitHub, another option is to host your script in another publicly accessible location. In our case, we've made use of the AWS S3 service to host a custom css file. This means updating the S3 version of the file as well as the version hosted here, in this GitHub, but the extra headache is worth it.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

education_modules's People

Contributors

rosemm avatar pm0kjp avatar drelliche avatar leemc-data-ed avatar franzenr avatar paytonk avatar damizen2 avatar nafeldman avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.