1 of 23

ソフトウェア・カーペントリー

で研究計算用のスキルを広めよう

ソフトウェア•カーペントリー日本語チーム

西田孝三 @kozo2

KOF2020 11/7

1

2 of 23

伝えたいこと

  • ソフトウェア・カーペントリーとは何か�参加するとどういう経験を得ることができるか�
  • ソフトウェア・カーペントリーを�日本で広めるための具体的な貢献方法

2

3 of 23

ソフトウェア・カーペントリーとは

  • ワークショップ形式で研究計算のためのレッスンを行う�国際的なコミュニティ software-carpentry.org
    • ボランティアによって運営されている

3

4 of 23

なぜソフトウェア・カーペントリーが必要なのか

  • 最近の研究者にとってコンピューティングスキルは必須
    • 今時のスキルが必須
      • (Unix shellや) Git の使い方・Python-Rを用いたプログラミング
    • 研究の効率化(再現性を高める・自動化 等)が目的�
  • しかし ほとんどは独学で効率は良くない
    • 様々な研究ツールを一人で習得するのは無理がある
      • オンラインコースだと孤独 (で結局学習できない)
      • ベストプラクティスを知りたい (研究の本筋のスキルとは異なるため最小限の時間で習得したい)
    • 独学だと組織全体の研究能力向上につながらない (スケールしない)

4

5 of 23

ソフトウェア・カーペントリーの解決法

  • コミュニティを作って、ワークショップで互いに教え合う(ピアサポート)

5

インタラクティブ・ライブ(ダレない)

6 of 23

ワークショップの内容 (一例)

6

7 of 23

レッスンの内容

7

  • ワークショップに参加しなくてもウェブで見れる
  • 詳しくはsoftware-carpentry.org/lessons/ を参照

8 of 23

レッスンはよくオーガナイズされている

  • GitHub(github.com/swcarpentry)で複数の人々が協力して開発している�
  • CC BY 4.0ライセンスで無料で利用できる
    • 元のソースを引用することを条件として、許可を求めることなく自由に素材を再利用することができる�
  • 質問はGitHubもしくはSlackで受け付けている
    • 貢献するためのガイドもある�
  • レッスンの構成はテンプレート化されておりその理由説明も提供されている
    • このアプローチはソフトウェア・カーペントリー以外のカーペントリーのコースにも用いられている

8

9 of 23

The Carpentriesについて

9

10 of 23

ワークショップについて

  • インストラクター (レッスンの説明を行う、訓練を受け証書を得た人)
  • ヘルパー (レッスン中のエクササイズを手伝う、技術的問題を解決する人)�
  • 誰でも参加できる
    • 基本的には研究者が多い様だが誰でも歓迎
    • プログラミング経験も不要
  • 参加費は無料もしくは少額�
  • レッスン前後にアンケートを実施
  • 改善のためのフィードバックを重視

10

11 of 23

最近のワークショップ開催状況

11

  • (基本的に)�大学や研究機関で�開催されている�
  • 最近はオンラインも�
  • (基本的に)�欧米で開催されているが�(ほぼ)世界中で実施

12 of 23

12

13 of 23

日本でソフトウェア・カーペントリーはできる?

  • できる。が日本語のレッスン教材が必要。

13

英語の�レッスン教材

スペイン語の�レッスン教材

14 of 23

日本語翻訳チームの発足と今

14

  • 英語レッスン教材を日本語に翻訳
    • 毎月Zoom会議してます
    • 今月中~末にあります(飛び込み歓迎)
  • フレンドリー
    • Git等を知らなくてもOK

15 of 23

日本語のレッスン教材の現在

15

16 of 23

レッスン日本語翻訳の貢献の流れ(GitHubの使い方)

  1. レッスンの1エピソードを翻訳担当する、と宣言
  2. swcarpentry-ja/i18n をクローン、翻訳用ブランチを作成�
  3. poファイルを編集・翻訳、git push�
  4. pull requestを送りレビューを受ける

16

17 of 23

17

1レッスン

1エピソード

1エピソード

...

18 of 23

Version Control with Git

(https://swcarpentry.github.io/git-novice/)

�の日本語翻訳の貢献の実演

18

19 of 23

実演終わり

19

20 of 23

ソフトウェア・カーペントリーの利己的な利点

  • 将来の仕事探し (ネットワーキング)
    • 他の技術コミュニティの委員会への推薦など
  • イベントは楽しい (懇親会)�
  • 人の前で話す経験や、教えることの練習になる�
  • 英語に触れる機会を増やす (孤独だと難しい)

20

21 of 23

まとめ

  • ソフトウェア・カーペントリーは
    • 科学コンピューティングのベストプラクティスの学習が「効率的に」できるコミュニティである�
    • 教わるだけでなく教える側にもなれる
      • 教える側になることで得られる利点もある�
    • 日本での展開はまだこれから
      • ぜひみなさんもご参加ください

21

22 of 23

ソフトウェア・カーペントリーに興味を持たれた方へ

22

23 of 23

参照したスライド

23