Good Enough Computing in Science (GECS)

flowchart LR
A[Experiment] --> B[Data]

%% Parallel paths (layout only)
subgraph Reproducible
direction TB
C(**GECS**)
end

subgraph Irreproducible
direction TB
E[Ad hoc]
end

B edge1@==> C
edge1@{ animate: slow }
C edge2@==> G[Results]
edge2@{ animate: slow }

B -.-> E
E -.-x G

%% Node styles
classDef gecs fill:#cfe9e5,stroke:transparent,color:#000
classDef adhoc fill:#eeeeee,stroke:transparent,color:#000
classDef neutral fill:#f7f7f7,stroke:transparent,color:#000
classDef results fill:#e6dff1,stroke:transparent,color:#000

%% Apply styles
class C gecs
class E adhoc
class A,B neutral
class G results

%% Make subgraphs invisible
style Reproducible fill:transparent,stroke-width:0px
style Irreproducible fill:transparent,stroke-width:0px

Aim

To provide an overview of core software development practices that support efficient research project management and its reproducibility.

Description

Less time for programming, more time for science. This mini course introduces the basics of software development. In two hours, sessions, we cover tools and practices that are used by researchers to manage their projects effectively. You will not learn how to write a specific code, but the way to think about your code from bird’s eye view. The course is designed to be language agnostic, but we will use Python for practical examples.

Target Audience

This course is for researchers who want to learn how to automate repetitive tasks in data analysis. Some prior programming experience is helpful but not required.

Schedule

Time: Friday 13:00-15:00
Location: L3B700 (near-ish the GS counter)

July 10 Version control and Project Structure
17 Virtual environments
24 Automation
31 Testing

Getting Started

Make sure to have your computer ready for the course. Please check out the Setting Up section. Those who are not familiar with terminal should also check out the Terminal section.

If you need help with configuring your computer for the course or have any questions before the course starts, a special session will be held on the first week.

Date and time: July 8 Wednesday 12:00-13:00
Location: C102 (The Cafe Tancha meeting room)

Drop-ins

After every session there will be a drop-in the following week. You can come with questions regarding the course or related stuff.

Date and time: Wednesday 12:00-13:00
Location: C102 (The Cafe Tancha meeting room)

Registration

For official details, see the Graduate School hosted website on TIDA.

People

  • Igors Dubanevics Y4 @KondrashovU
  • Vitoria Yumi Uetuki Nicoleti Y1 @FukunagaU

Manifesto

β€œTeach a course you want to attend.”

adapted from Austin Kleon, Steal Like an Artist

We will learn from you more than you will learn from us at this course. Stupid question permission is granted. Suggestions, tips, and corrections are welcome!

What this course is NOT?

  • Introduction to a specific programming language (e.g., Python, R, etc.)
  • Numerical simulations/modeling course
  • High Performance Computing (HPC) training

Inspiration & Credits

Acknowledgements

Arthur Turrell, Greg Wilson and The Carpentries, Justin Bois, Richard McElreath, and the MulQuaBio collective.

References

β€œGood artists copy, great artists steal.”

β€” Pablo Picasso