ここでは、この教材についてデモンストレーションを行います。私が実際にこの教材を活用したとして、どのように学習していくのか、また分析・設計の観点から、どのようなことを学習出来るのかを結果とします。ここでは例として、ボールが動くプログラムの部分を学習していきます。
この教材ではまずこのようなページが現れます。

今回は、ボールが動くプログラムの部分を学習するため、まず分割された画面の左側にある教材の目次より、ボールが動くプログラムの『概要』を選択します。このページでは、このプログラムを使って何を学習するのかという学習のポイントと、これから作るプログラムがどういうものなのかを確認します。
ここでの学習するポイントを教材の本文より抜粋しました。
『オブジェクト指向プログラミングではプログラムを正しく分解し、クラスとして分けることでプログラムを保守性や拡張性の高いものに仕上げることが出来ます。そのためクラスを作る作業というのは重要なので、ぜひ学習してもらいたいと思います。よってここで作るプログラムでは、クラスの作成方法とそのことによって得られる利点について学習してください。そしてほかのプログラムを作る時に、自分でクラスを作れるようになってください。』
このことより、これから作るプログラムを通して学習するポイントをつかむことが出来るので、学習しやすくなります。また、その後にはこれから作るプログラムの概要について触れているので、プログラムの構造を理解することになり、作りやすくなると思います。
次にボールが動くプログラムを実際に作る作業に入るため、目次より『プログラムの作成』を選択、実際にプログラミングする段階に入ります。
このプログラムでは、Delphiの新規作成メニューよりユニットのみを新規作成して、ボールを表現するクラスを作ります。このプログラムを作成するなかでフォームを持たないクラスの宣言を行います。このことより、『概要』のページで提示した、Delphiでのクラスの作成方法について実際にプログラミングをして学習することになります。さらに新しいボールは継承を使って作ります。このことで新規作成したユニットに継承関係があることを宣言する方法も学習します。また、このページからこのプログラムの実行ファイルをダウンロードして、プログラムを実行出来るようにすることでプログラムを作る時の参考にすることが出来ます。
そしてプログラムを作った後に目次より、『分析・設計』を選びます。この『分析・設計』のページは以下のように読み物形式になっています。

ここでは作成したプログラムについてなぜこのように作ったのか、またそのことでどのような利益があるのかについて学習します。例えば、このプログラム中に出てくるBall_InitとSpeedとBall_Drawのボールを用意する為の3つの手続きをBall_Yieldという手続きにまとめたことで、ボールを用意する行程はボールクラスが知っていることになり、もしボールが正しく出現しないときは、ボールクラスだけを調べればよくなります。また、Ball_InitとSpeedとBall_Drawという3つの手続きに分けたことで、このTballAクラスを継承して新しいボールを作るときに、ボールの大きさやボールの色、ボールの動く速さなどオーバーライドする要素を限定することが出来ました。Ball_Drawの処理内容は、プログラム中でもう1度使います。そのためこれを手続きとすることで、再利用することで、記述ミスを防ぐことが出来ます。
このような解説を読み、実際に作ったプログラムを考察することで、他のプログラムを作る時に応用出来るようになると思います。
以上でデモンストレーションを終了します。