今週は、プログラミング学習サイトの要件について、今まで考えてきたことをまとめてみました。
1.システム概要
実務で使えるプログラミングスキルを楽しく身に付け、スキルアップできる無料(将来的には有料)のプログラミング学習のWebサイトです。
1.1.概要
アプリなどを設計から実装、デバッグまでサポートを受けながら完成を目指すWebサイトです。
1.2.詳細
具体的なプログラミング学習サイトの内容です。
習得できるプログラミング言語
- C言語
- C++
- C#
- PHP
- VBA
- SWIFT
(将来的には、JAVA、Rubyも追加する予定です。)
学習の流れ
プログラミング言語が初めての方と、プログラミング言語の基礎ができている方で学習内容を分けます。
また、学習する言語毎に進捗や、問題に正解するに従ってポイントを付与し、ランク(称号)付けを行います。
プログラミング言語が初めての方
スライド、ブログ記事のような感じでプログラミングの基礎を学んでいき、各章などの単位で問題を解いてもらいます。(Progate、Dig Skillなどのようなイメージです。)
一通り、プログラミングの基礎を学び終えたときに、全体を通して問題を解いて完了します。
※用語などを選択すると、ポップアップで用語の解説が表示できます。
※章の単位で、理解度を選択してもらい、苦手なところを分析できるようにする。また、ユーザーが苦手なところを把握できるようにする。
(将来的には、学び終えたときに、苦手な箇所、問題で不正解となった箇所を分析して、勉強方法のアドバイスができるようにする予定です。)
(または、苦手な箇所、問題で不正解となった箇所を分析して、学習内容を自動作成※1できるようにする。)
※1 関連学習記事をまとめる
プログラミング言語の基礎ができている方
アプリなどの完成を目指し、仕様を理解し、設計、実装して、最後にデバッグまでを行います。
- 仕様の理解:スライド、ブログ記事のような感じで仕様、プログラム構想、構造(基本設計)を理解します。
- 設計書の作成:穴埋め式に設計書を提示して、問題形式で設計書を完成させていきます。
(将来的にはWeb上で作成できるような仕組みにできればと考えています。) - 実装:開発環境の説明を行い、設計書の特定箇所を指定して、その箇所について、ローカル環境でコーディングを行います。※エラーがない状態まで実装します。
(将来的にはWeb上でコーディング、エラーチェックまでを行う予定です。) - デバッグ:テストケースの考え方などを理解し、予め用意されているテスト項目を実施します。
実施結果を入力して、自動判定を行います。
デバッグ結果がすべてOKとなったら学習は完了です。
基本的には、上記の流れですが、初級、中級を用意して、初級は、手順通りに行えばアプリが完成するというやり方にしたいと思います。
中級では、なるべく自分で考えて行ってもらうやり方にしたいと思います。
学習の教材
将来的には、学習する言語毎にいろんなアプリ開発ができるように種類を増やしていくことを考えています。
(また、将来的に、ユーザーが教材を作成して販売や収益化できような仕組みを用意する予定です。)
現時点では、最初に考えている教材とするものをあげておきます。
- C言語
RL78マイコンとLEGOブロックを使用したラジコンカー - C++/C#:同じようなものが作れるので、共通としました。
C言語のコーディングルールチェッカー - PHP
進捗管理表 - VBA
進捗管理表
※PHPと同じ仕様で考えています。 - Swift
iPhone用のラジコンカーコントローラー
家計簿
2.システムを利用するターゲット
次のような方をターゲットにすることを考えています。
- プログラミングの基礎は身についている初学者で、更なるスキルアップを目指している方
- 作りたいものがあるのに、どのように作成していけばよいのかがわからない方
- 具体的に何を作ればよいかわからず、モチベーションが保てない方
- スキルアップしたいが、勉強法がわからない方
- お金を掛けずに本格的なプログラミングスキルを身に付けた方
3.機能一覧
機能一覧については、次週作成したいと思います。
4.非機能要件
今は特になし
(将来的には、非機能要件も考えたいと思います。)
おわり
今週は、要件定義書のようなものを作るまでの進捗でした。
GitHubにも上げていますので、参照していただければと思います。
なにかご意見、ご要望等ありましたら、コメントいただけると幸いです。