Skip to main content
QUICK REVIEW

[論文レビュー] Expanding the scope of statistical computing: Training statisticians to be software engineers

Alex Reinhart, Christopher R. Genovese|arXiv (Cornell University)|Dec 30, 2019
Statistics Education and Methodologies参考文献 37被引用数 11
ひとこと要約

本論文は、統計学修士課程向けの統計コンピューティング教育課程を提案している。この課程では、プログラミングの実践、ソフトウェア設計、アルゴリズムとデータ構造、および必須ツールについて、実地のコードレビュー、見直し、および1学期にわたるソフトウェア開発プロジェクトを通じて、ソフトウェア工学の実践を統計学者が習得できるように訓練する。この課程は、Rパッケージや生産環境向けシステムを含む、複雑な統計ソフトウェアを構築・保守する能力を学生に与えることに成功しており、伝統的な統計学カリキュラムにおける重要な空白を埋めている。

ABSTRACT

Traditionally, statistical computing courses have taught the syntax of a particular programming language or specific statistical computation methods. Since the publication of Nolan and Temple Lang (2010), we have seen a greater emphasis on data wrangling, reproducible research, and visualization. This shift better prepares students for careers working with complex datasets and producing analyses for multiple audiences. But, we argue, statisticians are now often called upon to develop statistical software, not just analyses, such as R packages implementing new analysis methods or machine learning systems integrated into commercial products. This demands different skills. We describe a graduate course that we developed to meet this need by focusing on four themes: programming practices; software design; important algorithms and data structures; and essential tools and methods. Through code review and revision, and a semester-long software project, students practice all the skills of software engineering. The course allows students to expand their understanding of computing as applied to statistical problems while building expertise in the kind of software development that is increasingly the province of the working statistician. We see this as a model for the future evolution of the computing curriculum in statistics and data science.

研究の動機と目的

  • 統計学者が一時的な分析にとどまらず、複雑な統計ソフトウェアを開発・保守できるようになるという、急増するニーズに対応すること。
  • 伝統的な統計コンピューティング教育課程と、現代のデータサイエンスおよび統計研究におけるソフトウェア工学の要請との間のギャップを埋めること。
  • プロジェクトベースでフィードバック豊富なカリキュラムを通じて、バージョン管理、テスト、スケーラブルな設計といった、統計学修士課程の学生が必須とするソフトウェア工学スキルを身につけさせること。
  • 将来的な実務家や研究者に適したニーズに応じ、ソフトウェア工学の原則を統計学およびデータサイエンス教育に統合したモデルカリキュラムを構築すること。

提案手法

  • この課程は、プログラミングの実践、ソフトウェア設計、アルゴリズムとデータ構造、および必須ツールとメソッドの4つのコアテーマに基づいて構成されている。
  • 学生は定期的なコードレビューと見直しに参加することで、ソフトウェア開発におけるベストプラクティスを内省的に習得する。
  • 1学期にわたるソフトウェアプロジェクトを通じて、学生はすべてのコースの概念を応用し、複雑で保守可能な統計ソフトウェアシステムを構築する。
  • 固定の締切がない柔軟なマスター志向の成績評価制度を採用しており、学生は自身の関心や難易度に応じて課題を選択できる。
  • 能動的学習の手法と授業内アクティビティを用いて、抽象的で難解な概念の理解を深め、参加意識を高める。
  • プログラミング経験が豊富なTAが的確なフィードバックを提供しており、コース資料は再現可能であるように公開されている。

実験結果

リサーチクエスチョン

  • RQ1統計学修士課程は、学生が複雑な統計ソフトウェアシステムを開発・保守できるように、どのようにより効果的に準備できるか?
  • RQ2統計学者でソフトウェア開発経験が限られた学生に対して、ソフトウェア工学スキルを教えるために最も効果的な教育的戦略は何か?
  • RQ3統計コンピューティング教育にソフトウェア工学の原則を統合することで、学生の学習、参加意識、プロジェクト成果にどのような影響を与えるか?
  • RQ4統計学修士課程において、柔軟でプロジェクトベースのソフトウェア工学カリキュラムを実装するにあたり、どのような課題が生じるか?

主な発見

  • 学生は、想定していた9時間よりも多い平均11時間/週をこの課程に費やしており、厳しく概念的に要求の高い負荷であることが示された。
  • 重い負荷にもかかわらず、学生たちは、特に自身の関心やスキルレベルに応じて課題を選べる柔軟性と、インタラクティブな性質を高く評価していた。
  • 柔軟な宿題制度の結果、時間管理の困難が生じ、一部の学生が期限の直前まで先延ばしにし、最終週に急いで課題を完了する傾向が見られた。
  • Gitによるバージョン管理は大きな課題であった。学生が一時的な修正を繰り返し行い、複雑な履歴を生み出し、教員およびTAの介入が必要となる事例が多発した。
  • 本課程が現実のソフトウェア工学実践に重きを置いたことで、学生が保守可能でスケーラブルな統計ソフトウェアを構築する能力が著しく向上した。
  • 本課程はカ네ギーメロン大学の統計学・データサイエンスの理学修士プログラムおよび博士課程の基盤的構成要素となり、高い学生参加意識とフィードバックを得ている。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。