大学の勉強を役に立たせる方法
これから書くことは、ただのアイデアなのだが、もしやる気があればやってみたい。
大学の勉強をやっていて、これは果たして役に立つのだろうか、と思うことがある。内容が基礎的過ぎて、先にあるはずの現在の技術が見えないからだ。もちろん、先に何かの技術があることは知っているが、それだけで勉強のモチベーションになるわけではない。
そこで、モチベーションのために、理解した計算問題を自動で解くプログラムを書いて、自分のサイトに載せる、というのが思いついたことだ。
例えば、微分の分野である解法が分かったとしよう。そうしたら、その数値を変えた問題が解けるように自分でプログラムを作って公開する。もしその問題が解けない人がいたら、その参考になるかもしれない。
これは、授業中に距離のことをやっているときに思いついた。距離といっても、ユークリッド距離、ハミング距離、レーベンシュタイン距離などいろいろある。レーベンシュタイン距離とは、文字列Aから文字列Bまで何回の操作で到達するかを表す。
いまさら編集距離 (Levenshtein Distance) を実装するぜ | takuti.me
このように、レーベンシュタイン距離のコードについて技術的なことを書いた記事はけっこうある。しかし、「二つの文字列のレーベンシュタイン距離を計算する」だけのサイトは見つからなかった。見つからなかったので、自分で作ってみたいと思ったのがこの話題の発端である。
もしやろうと思ったとして、まずつまずきそうなのは、どうやってサイト上で計算するのかということだ。例えば、pythonでレーベンシュタイン距離を計算するプログラムを書いたとして、どうやってサイト上にその結果を表示するのだろうか?サーバー内でコンパイルでもするのだろうか?
日本語で「web上 python」などと調べてみたが、あまりピンとくる答えは見つからなかった。
Python公式のこんなページがあった。
Python を Web 上で使うには HOWTO — Python 3.3.6 ドキュメント
CGI(Common Gateway Interface)というのが鍵になっていそうだ。
他には、以下のように、djangoというフレームワークが必要なようだ。
PythonのWebアプリケーション(Django)を初心者にもわかりやすく解説(1)【環境構築編】 - Qiita
若干話がそれてしまった。とにかく、ウェブ上で計算をしてくれるサイトを作れば、勉強のモチベーションになるんじゃね?でも難しそうだな…という内容である。ほんの思い付きだけどね。