Skip to content

Commit d3ca6dc

Browse files
committed
Add Open Science 101 modules to curriculum and update table of contents
1 parent 47228be commit d3ca6dc

6 files changed

Lines changed: 334 additions & 44 deletions

File tree

.github/workflows/book.yml.bak

Lines changed: 0 additions & 36 deletions
This file was deleted.

.github/workflows/deploy.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ on:
44
push:
55
branches: [main]
66

7+
concurrency:
8+
group: pages
9+
cancel-in-progress: true
10+
711
jobs:
812
build-and-deploy:
913
runs-on: ubuntu-latest

_toc.yml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,19 @@ chapters:
1111
- file: docs/Area1_Engagement/Newsletters/readme.md
1212
- file: docs/Area1_Engagement/Open-Science-Stories/readme.md
1313
- file: docs/Area1_Engagement/Outreach/readme.md
14-
- file: docs/Area2_Capacity_Sharing/readme.md
14+
- file: docs/Area2_Capacity_Sharing/Open-Science-101/readme.md
1515
title: Area 2 - Capacity Sharing
1616
sections:
17-
- file: docs/Area2_Capacity_Sharing/Open-Science-101/readme.md
17+
- file: docs/Area2_Capacity_Sharing/Open-Science-101/modules/open_science_ethos_module.md
18+
title: Module 1 - Open Science Ethos
19+
- file: docs/Area2_Capacity_Sharing/Open-Science-101/modules/open_data_module.md
20+
title: Module 2 - Open Data
21+
- file: docs/Area2_Capacity_Sharing/Open-Science-101/modules/open_software_module.md
22+
title: Module 3 - Open Software
23+
- file: docs/Area2_Capacity_Sharing/Open-Science-101/modules/open_results_module.md
24+
title: Module 4 - Open Results
25+
- file: docs/Area2_Capacity_Sharing/Open-Science-101/modules/open_science_tools_module.md
26+
title: Module 5 - Open Science Tools
1827
- file: docs/Area2_Capacity_Sharing/Activity_Templates/readme.md
1928
- file: docs/Area2_Capacity_Sharing/ScienceCore/readme.md
2029
- file: docs/Area3_Incentives/readme.md

book-requirements-Linux-macOS.txt

Lines changed: 0 additions & 6 deletions
This file was deleted.
Lines changed: 192 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,192 @@
1+
# Open Science Tools
2+
3+
## Tools of Open Science
4+
5+
Open science tools are any resources or instruments that support your research through:
6+
- Data storage and discovery
7+
- Code collaboration and version control
8+
- Persistent identification
9+
- Documentation and communication
10+
- Community engagement
11+
12+
## Repositories: Storing Data and Code
13+
14+
### What is a Repository?
15+
16+
A repository is a digital storage system that:
17+
- Stores research data or software
18+
- Provides access and discoverability
19+
- Ensures long-term preservation
20+
- Often includes version control features
21+
22+
### Repository vs. Archive
23+
24+
**Repository**
25+
- Often uses version control systems (Git, Mercurial, Subversion)
26+
- Enables collaborative development
27+
- Tracks changes and versions
28+
- Examples: GitHub, GitLab, institutional repositories
29+
30+
**Archive**
31+
- Permanent storage of final versions
32+
- No ongoing development
33+
- Ensures long-term preservation
34+
- Examples: Zenodo, institutional archives
35+
36+
## Example Repositories for Data and Software
37+
38+
### Data Repositories
39+
40+
- **Zenodo** - Multidisciplinary data and software archiving
41+
- **Figshare** - Shareable datasets, presentations, and papers
42+
- **DataVerse** - Institutional data repositories
43+
- **Open Science Framework (OSF)** - Project management and data sharing
44+
- **Harvard Dataverse** - Institutional repository for research data
45+
46+
### Discipline-Specific Repositories
47+
48+
- **GenBank** - Genetic sequences
49+
- **Protein Data Bank** - 3D protein structures
50+
- **NOAA** - Climate and environmental data
51+
- **Dryad** - Data associated with publications
52+
53+
### Software Repositories
54+
55+
- **GitHub** - Version control and collaboration
56+
- **GitLab** - Alternative to GitHub with institutional options
57+
- **PyPI** - Python packages
58+
- **CRAN** - R packages
59+
- **Zenodo** - Long-term preservation of research software
60+
61+
## Version Control: Tracking Changes
62+
63+
### What is Version Control?
64+
65+
Version control is the practice of tracking and managing changes to:
66+
- Code and software
67+
- Documentation
68+
- Configuration files
69+
- Research outputs
70+
71+
### Benefits of Version Control
72+
73+
- **Track history** - See who made what changes and when
74+
- **Collaboration** - Multiple people can work on same project
75+
- **Revert changes** - Go back to previous versions
76+
- **Branching** - Explore alternative approaches
77+
- **Integration** - Combine work from multiple developers
78+
79+
## Types of Software Version Control
80+
81+
### Centralized Version Control
82+
- Single central repository
83+
- All changes go to one location
84+
- Examples: Subversion (SVN), Perforce
85+
- Advantages: Simple, clear authority
86+
- Disadvantages: Single point of failure
87+
88+
### Distributed Version Control
89+
- Every developer has a complete copy
90+
- Changes can be tracked locally
91+
- Examples: Git, Mercurial, Bazaar
92+
- Advantages: Redundancy, offline capability
93+
- Disadvantages: More complex
94+
95+
## Version Control Platforms
96+
97+
Version control platforms expand the usefulness of version control by:
98+
- Providing centralized storage
99+
- Enabling collaboration features
100+
- Hosting documentation
101+
- Managing access controls
102+
- Facilitating issue tracking
103+
104+
### Popular Platforms
105+
106+
**GitHub**
107+
- Built on Git
108+
- Large community of developers
109+
- Extensive CI/CD integration
110+
- Free public repositories
111+
- Wide adoption in open science
112+
113+
**GitLab**
114+
- Similar to GitHub
115+
- Strong institutional support
116+
- Self-hosting options
117+
- More enterprise features
118+
119+
**Bitbucket**
120+
- Supports Git and Mercurial
121+
- Good for private repositories
122+
- Jira integration
123+
124+
## Persistent Identifiers (PIDs)
125+
126+
### What is a Persistent Identifier?
127+
128+
A persistent identifier (PID) is a long-lasting reference to a digital resource that:
129+
- Remains valid over time
130+
- Points to the same resource across locations
131+
- Enables reliable citation
132+
- Supports data discovery
133+
134+
### Types of Persistent Identifiers
135+
136+
**DOI (Digital Object Identifier)**
137+
- Standard for academic research
138+
- Managed by CrossRef, DataCite
139+
- Example: 10.5281/zenodo.1234567
140+
- Supports: Articles, datasets, software
141+
142+
**ORCID (Open Researcher and Contributor ID)**
143+
- Unique identifier for researchers
144+
- Distinguishes between similar names
145+
- Links all your publications and contributions
146+
- Free to obtain
147+
148+
**ARK (Archival Resource Key)**
149+
- Provides persistent access
150+
- Often used for institutional repositories
151+
- Less commercial than DOI
152+
153+
**Handle System**
154+
- Protocol and system for PID resolution
155+
- Foundation for DOI system
156+
- Distributed infrastructure
157+
158+
### Benefits of Using PIDs
159+
160+
- **Discoverability** - Others can find your work reliably
161+
- **Citation** - Enables accurate attribution
162+
- **Tracking** - Monitor impact and reuse
163+
- **Accessibility** - Persistent links remain valid
164+
- **Integration** - Works across platforms and services
165+
166+
## Additional Open Science Tools
167+
168+
### Documentation and Collaboration
169+
170+
- **Overleaf** - Collaborative LaTeX writing
171+
- **Google Docs** - Cloud-based document collaboration
172+
- **Jupyter Notebooks** - Executable research documents
173+
- **OSF** - Project management and collaboration
174+
175+
### Communication and Sharing
176+
177+
- **Preprint servers** - arXiv, bioRxiv, medRxiv
178+
- **Open Science Framework** - Workflows and transparency
179+
- **Slack/Discord** - Research team communication
180+
181+
### Data Management
182+
183+
- **Data Stewardship Wizard** - Data management planning
184+
- **DMPTool** - Institutional DMP support
185+
186+
## Key Takeaways
187+
188+
- Use repositories to store and preserve data and code
189+
- Implement version control for tracking changes and collaboration
190+
- Assign persistent identifiers (DOI, ORCID) to enable reliable discovery and citation
191+
- Choose tools appropriate for your research community
192+
- Proper tool selection supports reproducibility and research impact
Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
# Open Software and Code
2+
3+
## From Code to Software
4+
5+
### The Software Development Process
6+
7+
1. **Source Code** - Scientists write code to:
8+
- Produce software for data analysis
9+
- Model observations
10+
- Control instruments
11+
- Process experimental data
12+
13+
2. **Software Products** - Code is refined into:
14+
- Standalone applications
15+
- Libraries and packages
16+
- Tools and utilities
17+
- Web services
18+
19+
## Types of Software
20+
21+
### General Purpose Software
22+
- Software produced for widespread use
23+
- Not specialized for particular scientific domains
24+
- Examples: Python, R, Jupyter, Git
25+
26+
### Domain-Specific Software
27+
- Specialized for particular scientific fields
28+
- Examples: GROMACS (molecular dynamics), yt (astrophysics), Astropy (astronomy)
29+
30+
### Research Software
31+
- Created specifically for a research project
32+
- May have limited applicability beyond that project
33+
- Often undocumented and difficult to reuse
34+
35+
## Benefits of Open Software
36+
37+
- **Reproducibility** - Others can run your exact code
38+
- **Verification** - Community can check for errors
39+
- **Reusability** - Code can be adapted for new purposes
40+
- **Acceleration** - Avoids duplication of effort
41+
- **Quality** - Open review improves code quality
42+
43+
## Considerations for Assessing Open Software
44+
45+
When evaluating software for use:
46+
47+
### Functionality
48+
- Will it solve your scientific problem?
49+
- Can it reproduce expected results?
50+
- Does it handle edge cases?
51+
52+
### Usability
53+
- Is documentation clear and complete?
54+
- Are there working examples?
55+
- Is the user interface intuitive?
56+
57+
### Reliability
58+
- How actively maintained is it?
59+
- Are bugs reported and fixed?
60+
- What's the track record?
61+
62+
### Performance
63+
- What are computational requirements?
64+
- Can it scale to your data size?
65+
- Are there benchmarks available?
66+
67+
## Documentation
68+
69+
### Why Documentation Matters
70+
71+
Documentation is the written description of any product or service that:
72+
- Explains what the code does
73+
- Shows how to use it
74+
- Documents assumptions and limitations
75+
- Provides examples
76+
77+
### Types of Documentation
78+
79+
- **README** - Project overview, installation, basic usage
80+
- **Tutorials** - Step-by-step guides for common tasks
81+
- **API docs** - Complete reference of functions and classes
82+
- **Comments** - Inline explanation of code logic
83+
- **Examples** - Working code samples
84+
85+
### Making Code Reproducible
86+
87+
Good documentation includes:
88+
- System requirements and dependencies
89+
- Installation instructions
90+
- Data format specifications
91+
- Parameter explanations
92+
- Expected outputs and examples
93+
94+
## Licensing Open Software
95+
96+
### Why License Your Software?
97+
98+
A license:
99+
- Clarifies how others can use your software
100+
- Protects your intellectual property
101+
- Enables collaboration
102+
- Ensures attribution
103+
104+
### Common Open Source Licenses
105+
106+
- **MIT License** - Permissive, minimal restrictions
107+
- **Apache 2.0** - Permissive, includes patent protection
108+
- **GPL (GNU General Public License)** - Copyleft, requires derivatives to be open
109+
- **BSD License** - Permissive, similar to MIT
110+
111+
## Sharing Software
112+
113+
### Where to Share Code
114+
115+
- **GitHub** - Version control, collaboration, discoverability
116+
- **GitLab** - Similar to GitHub, often with institutional support
117+
- **Bitbucket** - Version control, private and public repositories
118+
- **Software repositories** - Zenodo, Figshare for research software
119+
- **Package repositories** - PyPI (Python), CRAN (R), etc.
120+
121+
## Key Takeaways
122+
123+
- Open software enables reproducibility and accelerates scientific discovery
124+
- Thorough documentation is essential for reusability
125+
- Choose an appropriate open license to clarify usage rights
126+
- Share code in accessible repositories with version control
127+
- Quality code and documentation benefit both users and future maintainers

0 commit comments

Comments
 (0)