SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

イベントレポート

Pythonの独学を支える教科書づくりの裏側、京都大学の喜多教授が授業に込めた思いとは?

  • X ポスト
  • このエントリーをはてなブックマークに追加

なぜオリジナル教科書を作成するのか? 100万人がダウンロードしたテキストの目標

 しかし、すでに書店にはPythonのテキストが数多く並んでいる。なぜ喜多教授は、わざわざオリジナルの教科書を書き起こしたのだろうか?

 「私達の目標はPythonを学ぶことではない。プログラミングができるようになることが目標」だったからと喜多教授は語る。また教員は、初心者の学生がよく間違えるポイントについても熟知している。学生がプログラミング自体の考え方を身に付けられる、より良い教材を届けたいとの思いから、オリジナルのテキストを作成することに決めたそうだ。

 また喜多教授は、お金のない学生でもプログラミングを学び、その知識を友人などにシェアしてもらいたいとの思いから、このテキストを一般公開することに決めたという。京都大学の学術情報リポジトリ「KURENAI」にアップされたテキストは、Twitter(現X)での投稿をきっかけに大きく話題となり、現在までに累計で100万件以上のダウンロードを達成している。

 授業について、この科目の目標は大きく3つ設定されている。1つ目は、Pythonを使ってプログラムを実行することについて基本操作を習得する。次に、Pythonプログラムを構成する基本的な要素・機能を学習する。そして最後が、簡単なプログラムを自ら設計し、実装、テストすることだ。授業を受講する学生の多くはプログラミング未経験の大学1年生。しかも、彼らは高校時代タブレットやスマートフォンに親しんで来たため、PCそのものを使う機会は限られていたという。そのような学生が、週に2時間15週の講義を通して、開発環境の構築から順次変数やリストなどの考え方を学んでいき、最後の自由課題ではオセロゲームなどを制作してくるというから驚きだ。

喜多教授が改良を加えた授業カリキュラム
喜多教授の授業カリキュラムとその改善

京大生でも間違える!? プログラミング初心者の落とし穴とは

 次に喜多教授は、プログラミングを学習し始めたばかりの京大生がつまずきがちなポイントを紹介した。まずは、口頭で記号を伝えることの難しさ。喜多教授が例として挙げたのは、「*(アスタリスク)」だ。実はこの記号を「アスタリスク」と発音できる新入生は少ないらしい。記号の発音が分からないため意思の疎通ができず、プログラミング学習につまずく初心者が多いのだという。

口頭で記号を伝えることの難しさ
口頭で記号を伝えることの難しさ

 伝わり方の難しさは、紙面にもある。喜多教授はテキストでの伝わり方の誤解を防ぐために、「K2PFE」という教育用フォントの開発も行っている。半角や全角の違い、またインデントの表記などに配慮したK2PFEは、プログラミング初心者の「文字は合ってるはずなのに、なぜかうまくいかない?」という問題を軽減する。

喜多教授が開発した教育用フォント「K2PFE」
喜多教授らが開発した教育用フォント「K2PFE」

 またプログラムでしばしば現れる表現「x₌x+1」は、単に変数xの値を1増やすことを表すが、ここにも学生が陥りやすい落とし穴があるという。はじめてプログラミングに触れる人にとっては、このような記述は数学の方程式のように見える。実際、学生たちは、方程式としては解けないことにとまどうとか。これは数学を学んできたバックグラウンドが足枷になってしまうケースだが同時に、xなら変数として扱うことには高校までの数学的思考から慣れているので、変数の利用の導入には使いやすいとのことである。

「X₌X+1」の表記にも、プログラミング初心者には落とし穴が

「x = x + 1」という表記にも、プログラミング初心者には落とし穴が

 また喜多教授は、「for you」問題も取り上げた。「for」という単語は、英語としては「for you」の例のように「~のために」という意味を持つが、プログラミングでは繰り返しを表す文として使われる。学生がそれまでに勉強してきた数学や英語との共通の背景知識は活用しつつ、考え方を変えるべき点については丁寧に伝えて行くことが重要だ。

英語の表記にも同じく落とし穴がある
英語の表記にも同じく落とし穴がある

次のページ
エラーにつまずいた時はどうする? 起き上がり方を教えるということ

関連リンク

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
イベントレポート連載記事一覧

もっと読む

この記事の著者

大河原 由貴(編集部)(オオガワラ ユキ)

 2023年に新卒で翔泳社へ入社し、CodeZine編集部に配属。筑波大学生命環境学群生物学類卒。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/18724 2023/12/14 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング