ダイテル親子のプログラミングの著書には、プログラミングの何らかのタスクに対してそれをプログラムのレベルまで落とす方法として「トップダウン・タスク分析法」が載っています。ほとんどアルゴリズムの与えられているテキストでこれが必要かどうかはわからないのですが、しかしながら、これを用いて指導することはなかなかに有用であると思った出来事がありました。
問題は冪乗法による行列の固有値の計算方法でした。このアルゴリズムと原理が記されている参考書を友人が読んでいたのですが、よくわからないと。まず原理を説明した後に「アルゴリズムを呼んでもよくつかめない」と言われたので、試しにトップダウン・タスク分析法を用いてみました。
単純に、目的・入力・出力を書き、それから各手順に分解し、分解した手順をさらに分かりやすく書き換えるという方法ですが、それを行ったことでひとまずある程度の方針がたったようで、一度組んでみるとその友人は部屋に帰っていったのでした。
アルゴリズムを教えるときに、勿論その手順を教えれば後は組めるというのがあるべき姿なのでしょうが、まだプログラミング経験の浅い人にはトップダウンタスク分析法を実際に用いて教えるのもひとつの手ではないかと感じたのでした。
0 件のコメント:
コメントを投稿