業務改善コラム2 はじめてのプログラミング。効率的な勉強方法

2020年5月30日

この記事ではパソコンやExcelが多少使えるレベルの方が

マクロやプログラミングを身に付けたい場合の

おススメの進め方やコツを紹介します。

筆者は現役のシステムエンジニアとして

新人社員(特に文系)のプログラマの教育係をしており

その経験より述べさせていただいています。

勉強方法

ロードマップ

真っ先に実業務で必要そうなものを勉強したくなりますが、

近々で担当することが決まっている場合を除いて

入門用にワンクッション置くことをお勧めします。

小学校でひらがなや四則演算を勉強するように

高度なことをするための土台があります。

まずはそういうものを経験すると良いです。

プログラム学習のロードマップ

入門レベルの題材

題材特徴とおススメする理由
Scratch子供向けに開発された学習用のプログラム言語です。
言語をキーボード入力するのではなく
マウス操作でパズルのように組み立てていきます。
プログラミングの学習には「言語特有の文法」と
言語に依存しないプログラムを組み立てる 「論理的な思考力」を
身に着ける必要がありますが同時に身に付けるのは難しいです。
Scratchであれば「言語特有の文法」 が非常に易しいため
「論理的な思考力」を集中して習得することが可能です。
大人の入門教材としても非常に優秀なため
会社の初学者にも最初に勧める言語です。
情報処理技術者試験経済産業省の主催する国家試験です。
カリキュラムの中に時代遅れな部分がありますし、
資格と実力が全く一致しないなどの批判は多いですが、
基本的でかつメーカーに依存しないIT知識を広く習得できます。
(システム開発の現場では基本的な業界用語を習得可能)
玉石混合なIT資格の中では履歴書に書いて
幾らか意味のある資格のため習得しても良いですが、
参考書を読むだけで受験しなくても問題ありません。
「論理的な思考力」 にも役に立ちます。
複数試験区分がありますが、
「ITパスポート試験」→「基本情報技術者試験」の
順で進めましょう。
RPGツクールなどゲームを作るためのゲームです。
何かゲームを作りたい場合はツクール系のゲームが
非常に良い題材になります。
ゲームを作ることはプログラムを組み立てることと近いため
「論理的な思考力」を鍛えることに繋がります。
筆者も実は最初はスーパーファミコンのRPGツクールでした。
ただこれはあくまでゲームを作りたい場合だけで
それがなければ経験する必要がありません。

まず土台、入門として下記のような進め方を推奨します。

理数系が好きな方Scratch→情報処理技術者試験→実践の何れか

理数系が得意な方や、何らかのプログラム言語を
既に学校で学んでいる場合はScratchを
飛ばしても問題ありません。
文系や試験勉強が得意な方情報処理技術者試験→Scratch→実践の何れか
ゲームを作ってみたい方RPGツクールなど→情報処理技術者試験→実践の何れか

おすすめの教材

Scratchの教材です。実際に作ることを重視していて、

始めてプログラミングをする方に最適です。

プログラミング未経験や新入社員にいつも渡す本です。

ITパスポートと基本情報技術者の本です。

5冊ほど目を通しただけですが、

この二つが初心者向けに感じました。

「論理的な思考力」を鍛えるための教材です。

この作者さんの本には20年ほどお世話になっています。

動画教材もおススメです。

新人さんには会社の予算でテックアカデミーを

受講してもらうこともありますし、

私も機械学習とPythonの学習に使い、

これだけで実務に使えました。

はじめてのプログラミングコース

完全に未経験で不安のある方、

IT技術を身に付けたいけど相談相手のいない方は

無料カウンセリングも良いでしょう。

無料キャリアカウンセリング

学習のコツ

すべてを記憶する必要はない

プログラミングが初めての方、

特に文系の方に多いことですが、

文法・構文・メソッド(関数)名などを

記憶しようとすると上手く学習出来ません。

機能が膨大すぎて現実的でないことと

文法を覚えているかよりも

手順を構築する思考の方が重要なためです。

本やインターネットのサンプルを

そのままでよいので自分の手で

打ち込んでみて個々のコードが

どのような作用をしているのかを

考えることが重要です。

そうやってプログラム言語でやれることの

イメージをつかんだ上で

実際にプログラムで作る際には、

「このような機能を使いたい」を

思い浮かべてネットで検索しましょう。

覚えなくても答えがあります。

(検索の仕方という固有スキルもありますが)

頻繁に使う機能は字を書くように

指が覚えていきます。

本職のプログラマもそのように仕事をしています。

(さすがに記憶範囲は広いですが)

自分で考えて作ってみる

例えばサンプルを改造して動きをみると

習得が早くなります。

また実際に解決したい話題を見つけて

作ってみると更に早いです。

その課題に対して1部分だけでも

解決できれば業務効率は上がり、

自動化しやすい場所、そうでない場所の

イメージが掴みやすくなります。

難しい場所・理解できない箇所はスルー

特にオブジェクト指向言語の

プログラム言語で多いことですが

難しい、理解できない箇所は

スルーして次に向かいましょう。

下記のような場面もあるため

無理に全てを理解する必要はありません。

  • 全てを理解出来なくても利用できる
  • 必要になった時に読めば理解できることがある
  • 他の機能で代替できる場合がある

関連記事

Excelマクロ・VBA プログラミング学習のコツ

業務改善コラム2 はじめてのプログラミング。効率的な勉強方法

業務改善コラム3 椅子に投資して生産性を2倍に向上