NEWS:
理工系のデータ処理は、今まではExcelで済ませていたことも多いと思うが、今後は、pythonなどの「軽い」プログラムを活用するとともに、プログラミングにより、より高度なデータ処理をする能力が必須となる。そのために情報処理教育の強化が必要になるが、一方、情報処理教育ができる教員リソースは足りていない。また、昨今では授業や実験の課題にpythonプログラムを添付してくる学生も増えているが、教員側が対応できないケースも多い。
このような状況を乗り越えるには、教えられる学生側と教える教員側の両側からの対応が必要になってくる。特に、2022年末から爆発的な普及をしているChatGPTのような自然言語AI
(LLM) は、うまく利用することで新しい分野の学習を効率化するとともに、教員側の負担も大きく減らすことができる。
本チュートリアルは、(第1部)
pythonプログラミングの基礎、(第2部)
学生が提出してきたpythonプログラムをどのように理解するか
の2部に分けて行う。
第1部では、Fortran,
BASIC, Cと比較しながらpythonの文法を学ぶ。特に、実用的なプログラムを作成するために必要な以下の構文を説明する。
(0) import
(i) 変数の種類、変数宣言
(整数型、実数型、文字列型、リスト(配列))
(ii) 制御構文
(for, if)
(iii) ファイルの読み込み、書き込み
(テキストファイル、Excel (.xlsx))
(iv) 数学関数の使い方 (mathモジュール、numpyモジュール)
(v) pythonライブラリの利用例
第2部では、以下のようなChatGPTの利用例を実演する。
(i) pythonプログラムの作成
(ii) 他言語からのpythonプログラムへの変換
(iii) テストデータの作成
(iv) Pythonプログラムを読みやすく書き直す
(リファクタリング)
特に、学生が提出してきたpythonプログラムは可読性が悪いことが多く、ChatGPTによるリファクタリングと、その動作確認の方法を習得することでプログラム解読の負担を減らせる。また、課題を出す際にはプログラムソース・出力での提出も視野に入れておくことも有効である。
東京工業大学 国際先駆研究機構 元素戦略MDX研究センター
科学技術創成研究院
フロンティア材料研究所
神谷利夫
E-Mail: Kamiya.t.aa@m.titech.ac.jp