-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathabout.qmd
More file actions
27 lines (16 loc) · 1.88 KB
/
Copy pathabout.qmd
File metadata and controls
27 lines (16 loc) · 1.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
---
title: "About"
---
**Good Enough Coding in Science (GECS)** started as a mini-course for graduate students, postdocs, and researchers at the [Okinawa Institute of Science and Technology (OIST)](https://www.oist.jp/).
## Philosophy
The course is built on a simple premise: **less time for programming, more time for science**.
Most researchers are not trained software engineers, yet research increasingly depends on code. Without deliberate habits, computational projects often become fragile—scattered across unversioned directories, relying on undeclared dependencies, and undocumented.
GECS does not teach a specific programming language or advanced software architecture. Instead, it introduces "good enough" practices that make computational research reproducible, collaborative, and resilient to the [bus factor](https://en.wikipedia.org/wiki/Bus_factor):
- **Collaboration**: Propose, inspect, review, and merge changes using Git, GitHub, short-lived branches, and pull requests.
- **Reproducible Environments**: Declare, pin, and lock project environments using `uv`, keeping code, raw data, and generated artifacts cleanly separated.
- **Code Quality**: Catch bugs early with automated formatting and linting (Ruff), pre-commit hooks, docstrings, and Test-Driven Development (pytest).
- **Automation and Publication**: Encode file dependencies into a Make Directed Acyclic Graph (DAG) and publish interactive results with GitHub Actions and GitHub Pages.
## The Cumulative Project
Participants learn these practices by building a discipline-neutral Project Gutenberg text analysis project from an initially empty repository into an automated, tested, and published web application.
## Open Source & Community
GECS is free and open-source under the MIT License. All source code, lesson materials, presentation slides, and exercises are developed publicly on [GitHub](https://github.com/oist/gecs).