IT企業の教育担当が実践済みの初心者が独学でプログラムを習得するカリキュラム

カリキュラム
  • プログラミングに興味があるけど、何から始めてよいかわからない。
  • プログラミングはどうやったらできるようになるのか。
  • 具体的な学習内容や学習方法を知りたい。
  • 詳しい人におすすめの学習方法を考えてほしい。

プログラミングは独学が難しい。。。

初心者が独学でプログラミングを学習することは大変難しいです。

  • どのプログラミング言語を学習するか
  • どういう順序で学習を進めていくか
  • どのくらいの内容まで学習すればよいか

大きながいくつもあって、挫折の道へと導いていきます。

私は新入社員の育成担当を8年ほど行っています。
新入社員研修の内容決定、スケジュール作成、教材選定、課題作成、フォローアップなどをしています。
未経験で入社した社員が基礎のしっかりしたプログラマーに育っています。

この記事では、 プログラミングを習得するための具体的な学習カリキュラムを紹介します。
学習のゴールは、「Webサイトが作成できるスキルを習得する」としています。

この記事を読めば、

  1. 学習内容に迷わない
  2. 学習順序に迷わない
  3. 学習ペースに迷わない
  4. 教材選びに迷わない
  5. 演習課題に迷わない

とにかく学習の流れに迷わないように解説していきます。
学習することだけに力を注げるようにします。

このカリキュラムにそって学習していけば、プログラミングを習得できます。

プログラミングは難しいですが、学習した成果は必ず出ますので頑張っていきましょう!

目次

カリキュラムの対象者

カリキュラムをおすすめする人・おすすめしない人

これから紹介するカリキュラムはこんな人におすすめです。

おすすめな人
  • ある程度の期間をかけて学ぼうとしている人
  • コツコツと学習を継続できる人
  • 手順にそって学習をしたい人
おすすめしない人
  • 超短期期間(1か月、2か月)での学習を考えている人
  • 次々と新しいことを学習したい人
  • 自由に学習したい人

カリキュラムのメインターゲット

  • 未経験、または、少しプログラムを学習したことがある人
  • 学習しているが行き詰っている人
  • 独学に失敗した人
  • プログラム相性度が苦手から得意な人
カリキュラムのメインターゲット
プログラム相性度とカリキュラムの対象範囲

プログラム相性度とは、プログラムの好き・嫌い、得意・不得意の度合いのことです。
※私が勝手にそう言っています。

カリキュラムのロードマップ

STEP
ITリテラシー
  • コンピュータの仕組み
  • パソコンの使い方
  • システム開発の仕事内容
STEP
プログラミングの思考
  • プログラミングとは何をするのか
  • 変数、関数、条件分岐、繰り返しとは
  • アルゴリズムとは
STEP
基礎プログラミング
  • プログラミングしてみる
  • 変数、関数、クラスの使い方
  • 条件分岐、繰り返しの使い方
STEP
Webプログラミング
  • Webの仕組み
  • フロントエンドのプログラミング
  • バックエンドのプログラミング
STEP
データベース
  • データベースとは
  • SQL
  • テーブル設計
STEP
Webサイト作成
  • MVCモデル
  • Ajax
  • セッション
STEP
学習完了

カリキュラムのスケジュール

学習内容とスケジュール

カテゴリー学習内容人日時間
ITリテラシーキタミ式イラストIT塾 ITパスポート216
プログラミング入門知識これからはじめるプログラミング 基礎の基礎216
ゲーム作りで学ぶ はじめてのプログラミング432
演習:Processingでゲームを作成!324
基礎プログラミングスッキリわかるJava入門432
演習:コンソールアプリを作成!324
Webプログラミング:フロントエンドWebとプログラミングのきほんのきほん324
スラスラわかるHTML&CSSのきほん324
確かな力が身につくJavaScript「超」入門324
演習:ブラウザアプリを作成!648
Webプログラミング:バックエンドスッキリわかるサーブレット&JSP入門432
データベーススッキリわかるSQL入門432
Webプログラミング演習演習:ステップでWebページ作成!540
Webプログラミング課題課題:Webページを作成!648
Webサイト作成総合課題:Webサイトを作成!1296
合計 ⇒⇒⇒64512
※ 1人日を8時間で計算しています。

学習に必要な時間は、64人日(512時間)です。
※ 1人日を8時間で計算しています。

演習と課題は、お題を出しますので、実際にプログラミングしてみてください。
参考ソースも紹介するので、自分が作成したソースと比べてみましょう。

用語解説

  • 人日 … 1人で作業して作業が完了するまでに必要な日数。
  • ソース … プログラミングして作成したものをソース、ソースコードと言います。

1日の学習時間から計算した必要な学習期間

1日の学習時間1ヵ月の学習日数から必要な学習期間を計算すると以下になります。

1日の
学習時間
×1ヵ月の
学習日数
1ヵ月の
学習時間
必要な
学習期間
2 時間×10 日20 時間25.6 ヵ月
×20 日40 時間12.8 ヵ月
×30 日60 時間8.5 ヵ月
3 時間×10 日30 時間17.1 ヵ月
×20 日60 時間8.5 ヵ月
×30 日90 時間5.7 ヵ月
4 時間×10 日40 時間12.8 ヵ月
×20 日80 時間6.4 ヵ月
×30 日120 時間4.3 ヵ月
8 時間×10 日80 時間6.4 ヵ月
×20 日160 時間3.2 ヵ月
×30 日240 時間2.1 ヵ月

1カ月に 80時間 学習したとすると、6.4カ月 の期間が必要です。およそ半年ですね。

1カ月に 120時間 学習して、4.3カ月 の期間が必要です。

1カ月に 160時間 学習しても、3.2カ月 の期間が必要です。

プログラミング学習には思っている以上に時間が掛かります
学習した内容が成果として出るまでにも時間が掛かります

(POINT) 学習した内容がすぐには成果に出にくいことは、学習前に認識しておきましょう!

きほんの学習手順

  1. 教材を読んで知識を得る(インプット)
  2. 演習で実際にプログラミングする(アウトプット)
  3. 演習の参考ソースを見て理解を深める(インプット)

インプット → アウトプット → インプット が基本の進め方です。

最初のインプットには、を使用します。
理由は、必要な情報が整理されているので、覚える・理解することに力を注げるからです。

ネットからのインプットは、知りたい情報を探す→信頼できる内容か判断する→点在する情報を整理する→覚える・理解するといった工程になるので、学習初期はあまりおすすめしません。

次に、演習でプログラミングして知識をアウトプットします。
実際にプログラミングしてみて、どのくらい理解しているか確認します。
また、演習の実装方法を考えて、アルゴリズムを考える力も高めていきましょう

最後に、演習の参考ソースを見て理解を深めましょう。
他人が作成したプログラムを見ると、自分とは違うプログラムの組み方が知れて勉強になりますよ。

(POINT) 他人のプログラムを読む力も、エンジニアとして働くためにとても重要です!

用語解説

  • 実装 … プログラミングすることを実装する、コーディングすると言います。
  • アルゴリズム … 「この手順でこういう事をすれば実現できる」という、やり方のことです。
    例えば、「歩く」のアルゴリズムは、右足を前に出す、次に左足を前に出す、また、右足を前に出す、次に左足を前に出すの繰り返しとなります。

時間短縮したい場合の学習手順

  1. Webプログラミング:フロントエンド以降の演習をやってみる
  2. 演習でわからないところは、教材やネットで調べる
  3. 演習の参考プログラムとソース解説を見て理解を深める

じゅうぶんな学習時間がとれない人は、Webプログラミング:フロントエンド以降の演習からやりましょう。
演習をやるとわからないところが出てくるので、その部分を本やネットで調べて解決していきます。
自分に足りない知識をピンポイントで補っていきましょう

最後に、演習の参考ソースを見て理解を深めてください。
自分が作ったプログラムと参考ソースを比べて、どのような点が違うか確認しましょう!

(POINT) 自分の欲しい情報を探す力はとても重要です。
最初のうちは、信頼性のある情報を素早く探すのは難しいですが、「探し慣れ」して徐々にスピードアップしていきましょう。

カリキュラムの各カテゴリーの概要

ITリテラシー

IT業界で働くうえで、一般常識や土台となる知識を学びます。

  • コンピュータの仕組み
  • パソコンの使い方
  • システム開発の仕事内容 など

(POINT) 知っていることが当たり前の内容があるので重要です!

学習内容は、別記事で詳しく解説します。
※準備中

プログラミング入門知識

プログラミングとは何をするものか、プログラミングの考え方を学びます。

プログラミング言語を学び始めた直後は、変数?関数?If?for?。。。よくわからない。となる場合があるので、プログラミング構文を頭の中でイメージできるようにします。

また、Processingという開発環境で実際にプログラミングを作成してみます。

  • 変数、関数などプログラミングですることのイメージをつかむ
  • プログラミングを作成してみる

(POINT) プログラミングが何をするものなのかイメージを掴みましょう!

学習内容は、別記事で詳しく解説します。
※準備中

基礎プログラミング

変数、関数、クラスなど、どのプログラミング言語でも基本となるコーディング方法を学びます。

また、演習でコンソールアプリケーションを作成してみます。

  • プログラミング言語で基本のコーディング方法を学ぶ
  • アプリケーションを作成する

(POINT) すべてのプログラミング言語で必要となるのでしっかりと理解しましょう!


Javaコンソールアプリケーションの演習問題は以下の記事で紹介しています。
ぜひ取り組んでみてください!

Webプログラミング:フロントエンド

Webの仕組み、Web画面を作成するスキルを学びます。

  • Webサイトが動作する仕組みを理解する
  • HTML、CSS、JavaScriptのプログラミング言語を学ぶ
  • 演習でWeb画面を作成する

(POINT) HTML、CSS、JavaScriptとたくさん覚えることがあるので、焦らずやりましょう!

用語解説

  • HTML … Hyper Text Markup Languageの略です。
    Web画面を構成する要素を作ることができます。
  • CSS … Cascading Style Sheetsの略です。
    HTMLで作成した要素を装飾したり、配置を変更したり、アニメーションすることができます。
  • JavaScript … Web画面に動きをつけることができるプログラミング言語です。
    ボタンを押したときにメッセージを表示したり、ページトップへスクロール移動したりできます。

学習内容は、別記事で詳しく解説します。
※準備中

Webプログラミング:バックエンド

Webサイトのバックエンド(サーバー側)プログラムを作成するスキルを学びます。

(POINT) 難しい分野なので、いったん教材に目を通してWebプログラミング演習でプログラムを組みながら理解していきましょう!

学習内容は、別記事で詳しく解説します。
※準備中

データベース

データベースとは何か、データベースのデータを操作する方法を学びます。

  • データベースの仕組みを理解する
  • データを操作するSQLを学ぶ

(POINT) SQLを使ってデータを操作できるようになりましょう!

用語解説

  • データベース … データ(情報)を整理して集めたものです。
  • SQL … Structured Query Languageの略です。
    データベース内のデータを、取り出したり、入れたり、消したりできます。

学習内容は、別記事で詳しく解説します。
※準備中

Webプログラミング演習

Webページの作成方法をステップを踏んで学びます。

  • Webブラウザからサーバーへデータを送る
  • サーバーからWebブラウザへデータを送る
  • 非同期通信のコーディング方法

(POINT) Webプログラミングのイメージが掴めてきます!

学習内容は、別記事で詳しく解説します。
※準備中

Webプログラミング課題

これまで学習した内容を用いて、Webページを作成します。

(POINT) Webページ作成に必要なスキルが網羅されています。頑張りましょう!

学習内容は、別記事で詳しく解説します。
※準備中

Webサイト作成

複数ページで構成されるWebサイトを作成します。

(POINT) どんどん作ってみましょう。頭で考えて、手を動かしてプログラミングした量だけスキルが向上します!

学習内容は、別記事で詳しく解説します。
※準備中

まとめ:学習成功 = 学習カリキュラム + 学習手順

この記事では、プログラミング初学者向けに学習するスキル、学習方法、学習時間について説明しました。

  • ロードマップ
  • スケジュール
  • 学習期間の目安
  • カテゴリー別の学習概要

そして、おすすめの学習内容として、以下のカリキュラムを紹介しました。

  1. ITリテラシー
  2. プログラミング入門知識
  3. 基礎プログラミング
  4. Webプログラミング:フロントエンド
  5. Webプログラミング:バックエンド
  6. データベース
  7. Webプログラミング演習
  8. Webプログラミング課題
  9. Webサイト作成

プログラマーやシステムエンジニアは、深い専門知識も必要ですし、幅広い分野の知識も必要です。

このカリキュラムで知識とスキルを習得すれば、IT業界で働いていく力がつきます。

プログラミングの学習は時間も掛かり簡単ではありませんが、学習量が成果として必ず出ますので、粘り強くやっていきましょう!

みなさん本日も頑張りました。お疲れ様でした!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

SE歴16年。
システム開発会社で開発部長をしています。

【主な仕事内容】
 ・Webシステム開発
 ・新入社員育成
 ・社員採用

IT業界が好きで、プログラミングが好きです。
社内の新入社員育成に情熱を注いでいます。

コメント

コメントする

CAPTCHA


目次
閉じる