Diary プログラミング学習

第3週 どのようなプログラミング学習サイトを作るかをまとめる

前回、どのようなプログラミング学習サイトを作るかを考えましたが、なかなか整理ができなかったので、今週は、なんとか纏めれるようにしたいと思い、考えていました。

前回洗い出したものを整理する

前回、コンセプトの「使えるプログラミングスキルを楽しく身に付け、スキルアップできるサイト(仮)」に合ったサイトにするためにはどうしたらよいかを洗い出したものが次のようなものでした。

  • 成長していることが実感できる
  • 作りたいもの、興味があるものを設計から開発できる
  • ゲーム感覚で学べることができる
  • 目標が明確になる
  • 既存の開発されたソースコードを解読する
  • 自身で考えて開発する
  • 間違っている点、改善点を正してもらう
  • 開発手法や設計の考え方を覚える

そして、前回の考えを整理してみて思ったのは、興味があるものを設計からプログラミングして完成させるまでを、自分自身で考えて作成できるサイトが軸になるかなと思いました。

そこで、興味が持てる、作ってみたくなるようなアプリや電子工作を考えてはみたものの、時間だけが過ぎてしまい、なかなかよいアイデアが浮かびませんでした。

たぶん、暫く考えていても、よいものを考えつかなさそうなので、一旦、実務に役立つような、スキルアップに繋がりそうなアプリや電子工作にしようと思います。具体的にどんなアプリや電子工作をするかは、次週考えたいと思います。

また、アプリや電子工作の題材は複数用意することで好きなものを選択できるようにすることも考えています。

次は、設計から完成までをどのような流れで進めていくかについてですが、手順どおり進めていけば完成するようなものでは、スキルアップすることは難しいし、達成感がないので、なるべく自分自身で考えれるような仕組みを用意したいと考えています。

完成のイメージを持ってもらうため、最初は、完成したアプリなどを紹介して、次に仕様を理解してもらい、ソフトウェアの構想や構造までを解説して理解できるように読み進めてもらう。このとき、理解を深める目的で、ところどころで問題を出すのがよいかなと思っています。
また、ソフトウェアの構想や構造については、設計に含まれるところではありますが、これらを自分自身で考えて作成してもらうようにすると、個々で全然違う設計になってしまう可能性もあり、レビューなどが大変になるため、なるべく設計の方針は合わせたいと考えて、ソフトウェアの構想、構造の設計は事前に解説しようと思います。

そのあと、単体設計(プログラム設計に近いもの)からは自分自身で作成してもらうことを考えています。
このとき、設計書を一から書いてもらうようにすると、間違った方向に設計する可能性もあるし、軌道修正が大変なので、穴埋め的な感じで進めれるようにしてくのがよいかなと思っています。

設計書ができれば、コーディングは、コーディングルールを提示さえすれば、あとは自分自身で作成していけると思っていますが、進捗が管理できなくなるので、決められた順に従って作るように進めたいと思います。

コーディングが終わった後は、デバッグですが、このデバッグも実施してもらうことを想定しています。ただ、テスト項目と手順をこちらで作成するか、考えてもらうかは、迷っています。

あとは、レビューについてですが、間違った点、改善点などを指摘できるようにするために、ソースコードなどをGitHubに上げてもらって、レビューするのがよいのかなと考えています。

基本的には、設計からプログラミングして完成させるまでをこんな感じで進めれるようなプログラミング学習サイトにしていきたいと思います。

そして、プログラミング学習サイトのできることとしては、目標の設定(ログインしたときに表示できるようにしておくことを考えています。)、進捗管理(自分で工数を見積もるのは難しいと思うので、学習のできる日や時間などを設定して、自動でスケジュールが作成できるようなことを考えています。)、ランク制度(問題やレビューアなどを行うことによりポイントを付与して、ランク(階級など)付けするようなことを考えています。)、教材の選択(言語毎にアプリなどを複数用意して選択できるようにする。)、学習(スライド的なものを考えています。)

まだ、漠然としかイメージがありませんが、なんとなく、どういったものにするかは見えてきた気がします。もっと具体的な内容を詰めていきたいとは思いますが、時間がかかり、進捗がなくなってしまうので、一旦、具体的な内容を決めるのはもう少し先にしようと思います。

今週はここまでとします。

次週は、プログラミング学習サイトで学べる言語と、教材とするアプリや電子工作などを考えていきたいと思います。

なにかご意見、ご要望等ありましたら、コメントいただけると幸いです。

-Diary, プログラミング学習