プログラミング学習効果を最大化するには

プログラミング全般

プログラミング学習は挫折しやすいとよく耳にします。

プログラミングスクールで講師をしている私から見ても、実際に挫折して辞めてしまう方は一定数いますし、独学であれば尚更なのでしょう。

どうすれば挫折せず学習効果を上げプログラミングをモノにできるのか。
本記事ではこのようなテーマについて考察していきます。

前提

「初心者」、「未経験」という言葉の誤解

プログラミングスクールの広告で、「初心者でもOK」「未経験でも安心」などといった記述をよく見かけませんか?

ここでいう「初心者」「未経験」とは、実際のところ「プログラミング」初心者未経験であって、「PC」初心者「PC」未経験ではないと思った方が良いです。

もちろん、人によっては👆が当てはまらない場合もあります。
企業の新人研修時代から10年近くに及ぶ講師経験から見て、次のようなタイプの方は、PC初心者であってもプログラミングをしっかりモノにするケースが多いです。

  • PC初心者なのは、何らかの事情でこれまで触れる機会がなかっただけ
  • 学生時代に英語や数学といった科目の成績が良い
  • 勉強そのものが嫌いではなく、勉強する習慣が付いている

逆に、以下のようなパターンの場合、『未経験者でも安心!』などのあま~い宣伝文句に釣られて学習を始めても、極めて高い確率で待っているのは挫折(解決策はある)です。

「勉強は苦手だし好きでもない。(*1)
PCも普段使わないし、プログラミングに興味があるわけでもない。(*2)
ただ、これからの時代、ITスキルは重要になるだろうし手に職付けたい。(*3)」

*1:「好きだから、長く続ける」という法則が成り立つのと同様に、その逆、つまり「長い時間をかけたものほど、好きになりやすい」傾向を持ちます。

*2:今すぐにでもPCを触り始めましょう。先延ばししても、良いことは何ひとつありません。

*3:これも立派な動機のひとつ。せっかく気づいたならば、失敗を恐れず飛び込んでみる。一歩踏み出せば、それだけで世界は変わります。

何か物事を成し遂げるために必要なことは、多くの場合「当たり前」の積み重ねに行き着きます。

人はどうしても、キャッチーな宣伝文句や耳触りの良い言葉に惹かれがちです。
「成功への近道はない」と思っておきましょう。

学習の三大要素

  1. 記憶
    • 単語、用語、文法
  2. 思考
    • 「1.」で記憶した基本知識を元にして考える(基本知識がなければ考えられない)
  3. 調査
    • 考えても解決できないことを調べる

この三大要素を土台として、その上に実践が成り立ちます。
これは、勉強に限った話ではありません。

スポーツを考えてみても、例えば野球であれば、まずルールや用語を覚え、グローブやバットの基本的な使い方を知らなければ実践できません。
ゲームにしてもそうです。RPGならば、キャラクターの特徴や使えるスキルとその効果、戦う敵についても知る必要があるはずです。

ルール(プログラミングで言えば文法/構文)、用語など最低限の基礎知識を持っていなければ、「考えるためのスタートライン」に立つことができず、周りとの円滑な意思疎通(適切、的確な質問すら)も叶わなくなるのです。

「何事も基本が重要」というのは、誰もが頭では分かっていることですが、それを実践できている人は意外と少ないものです。
学習は積み重ねなので、基本からしっかりと理解し、理解した状態で次に進むことを心がけましょう。

インプット/アウトプット

プログラミング言語は「言語」のひとつであり、言語で書かれたものは文章です。
プログラミング言語は、コンピュータと意思疎通するための言語であり、日本語や英語の学習とほとんど変わりません。

英語の勉強を思い出してください。
「読む」「書く」あるいは「聞く」「話す」では、それぞれどちらが簡単ですか?

多くの人が「読む」「聞く」インプット)の方が「書く」「話す」アウトプット)よりも簡単であると答えるのではないでしょうか。

「インプット」「アウトプット」を比べると、前者の方が簡単です。
よって、読めないものは書けるようになりません

以上の理由から、入門~初心者の間は、まず「プログラムコードを読める」ことを目標とします。
書いてあるコードの意味が分かる状態で、コードを自分でタイピングします(これを写経しゃきょうと呼びます)。

何が書いてあるのか意味が分からない状態で、ただ写しても理解はできませんし、ましてや自分でプログラムを書けるようにはなりません。

専門的な英語の論文を1,000回、10,000回と写したところで、その論文を暗記することはできても自分で別の英語論文を書けるようにも、英会話できるようにもなりません。それと同じです。

プログラミング学習効果をアップする

以上を踏まえ、プログラミング学習効果をアップさせるためのロードマップを掲載します。

  1. PCに慣れ、用語/操作の基本を抑える(PC自体の初心者の場合)
  2. 特定のプログラミング言語を選ぶ
  3. 言語の用語、文法の基礎を叩き込む
    • 用語の意味は、「第三者に説明するとしたら」を自問自答する
  4. 簡単なものを写経し、何も見ないで書けるよう繰り返す
    • 何が書いてあるのか、意味を理解しながら写経すること
  5. 簡単なプログラムを微改造してみる
    • 間違っても良いので、エラーを恐れずプログラミングしてみる
    • エラーは宝

「1.」の用語/操作については、この後の項目でリストアップして解説します。

プログラミング学習前に知っておくべきPC基礎用語

ここではプログラミング学習を始める上で必須のPC用語をリストアップします。
各用語には、簡単な説明を付けていますが、あまり詳しい説明を載せていないのは、ぜひご自身で調べてみていただきたいからです。

他人から一方通行で得た知識は、記憶に定着しづらいものです。
また、「調べる」という行為は思っているほど簡単ではなく、これもひとつのスキルになります。
得たい情報をうまく調べられない方は、その辺りも工夫して、失敗することから学びを得ます。

OS(オペレーティング・システム)

コンピュータの処理基盤を一括でまとめているソフトウェアです。
これがあるからPCが動きます。

練習問題

様々な種類があるので、以下の項目について調べてみてください。

  • 自分が使っているPCのOSは何なのか
  • 他にどんな種類のOSがあるのか
  • 各OSの特徴は何か

ファイルとフォルダ

ファイルとフォルダの関係性を理解しておく必要があります。

  • フォルダの中にファイルがある ◎
  • フォルダの中にフォルダを入れることができる ◎
  • ファイルの中にフォルダを入れることはできない ×

フォルダには「ディレクトリ」という別の呼び名があります。これも大変重要なので覚えておきましょう。

練習問題

以下の記述には誤りがあります。どの部分がどう間違っているのかを考えてみましょう。

  • エクセルを使って家計簿を作り、「家計簿.xlsx」という名前で保存した。その後、年ごとにまとめるため「2024」という名前のファイルの中に移動した。
  • フォルダの中には必ずファイルが入っている。
  • 毎年、その年の実行計画をメモしたファイルを作っている。今年分も完成したので、「2024.exe」というフォルダを作り、そこへ保存した。

ファイル閲覧ソフト

各OSには、ファイルやフォルダ構成を視覚的に確認、操作するためのソフト(アプリ)が備えられています。

代表的なものに「エクスプローラー」、「ファインダー」があります。

練習問題
  • 「エクスプローラー」と「ファインダー」は、それぞれどのOSのファイル閲覧ソフトなのか、調べてみましょう。
  • 自身のOSに備えられているファイル閲覧ソフトが分かったら、それを開き、ファイルやフォルダを作成してみましょう。
  • 👆で作成したファイルを、同じフォルダ内にコピーしてみましょう。
  • 👆でコピーしたファイルの名前を変更してみましょう。

クリックの種類

「クリック」には種類があります。次の3種類が基本となるので、用語と操作で迷わないようにしましょう。

  • クリック(左クリック)
  • 右クリック
  • ダブルクリック

クリックに関連する応用的な操作があります。

  • 長押し
  • ドラッグ&ドロップ
練習問題
  • ファイルを「クリック」すると、どのような効果があるのか調べてみましょう。
  • ファイルを「右クリック」すると、どのような効果があるのか調べてみましょう。
  • ファイルを「ダブルクリック」すると、どのような効果があるのか調べてみましょう。
  • ファイルを「長押し」すると、どのような効果があるのか調べてみましょう。
  • ドラッグ&ドロップを試してみましょう。

ショートカット

ショートカットとは、PC操作がキーボードの特定のキーに割り当てられており、そのキー(複数キーの同時押しの場合もあり)の押下によって瞬時に実行するための機能です。
ショートカットの数は膨大です。最初からあまり多くを覚えようとする必要はありません。

ここでは、最低限且つ最重要のショートカットを4つ紹介します。
どれもプログラミングでは極めてよく使われるものなので、これだけは覚えて頂き、普段のPC操作でも意識的に使用してみてください。

効果WindowsMac OS
ファイルの保存Ctrl + sCommand + s
コピーCtrl + cCommand + c
貼り付けCtrl + vCommand + v
ファイル内検索Ctrl + fCommand + f

上の表を見ると、両OSとも同じキーがショートカットに割り当てられていることが分かります。
この理由は、割り当てられたそれぞれのキー(文字)に意味があるからです。

  • s:「保存」の英単語「Save」の頭文字
  • c:「コピー」の英単語「Copy」の頭文字
  • v:キーボードで、コピーの「c」の隣にあるのが「v」
    • コピー&貼り付けは一連の操作になることが多いので隣の方が便利
    • 「貼り付け」の英単語「Paste」の「p」は印刷のショートカットに割り当て済
  • f:「探す」の英単語「Find」の頭文字
    • 「検索」の英単語「Search」の「s」は保存のショートカットに割り当て済

少しレベルの高いPC用語

ブラウザ

ブラウザ(Browser)とは、インターネットのウェブサイトを閲覧するためのソフトウェアです。

ブラウザの種類は多く、それぞれに特徴があります。

練習問題
  • 自分が使用しているブラウザの種類を確認してみましょう。
  • ブラウザの種類と特徴を調べてみましょう。

エディタ

エディタ(Editor)とは、編集(Edit)するものです。

プログラミングで使われるエディタは、ただファイルを編集するだけに留まらず、フォルダ単位の構成管理や、バージョン管理ツールとの連携、プログラムのビルド、複数ファイルの差分チェックなどの機能を持つものが多いです。

非常にシンプルなメモ帳から、当ブログで使用している VS Code のような多機能なものまで様々な種類があります。

Javaを開発するためには、Eclipse という優秀すぎる無料アプリがあるため、それが使われることが多いですが、それ以外のプログラミング言語では、VS Codeは大変人気の高いエディタです。

圧縮と解凍

ファイルやフォルダは、容量を小さくするために「圧縮」することができます。
圧縮の形式には種類があり、最も代表的でよく使われるのは「Zip」形式です。

圧縮されたファイルを使用するには、解凍(展開)しなければなりません。
圧縮、解凍するための専用アプリもありますが、OS標準の機能でも実現できます。

練習問題
  • 自分が使用しているOSで、圧縮および解凍(展開)するための手順を調査・確認してみましょう。
  • 「Zip」以外の圧縮形式を調べてみましょう。

ダウンロードとインストール

「ダウンロード」とは、ネットワーク上にあるファイルを、自身の端末に持ってくることです。

ダウンロードしたものがテキストや画像などのファイルだった場合には、ダウンロードするだけで、あとはダブルクリックで開くことができます。

しかし、ダウンロードしたものがソフトウェアだった場合、ダウンロードだけでなく「インストール」という工程を踏む必要があります。

「インストール」とは、ダウンロードした対象がアプリ、ソフトウェアを、実行できる状態に設定し、準備完了にする手続きを指します。

ダウンロードされるものはインストールするための「インストーラー」であり、アプリ本体ではないのです(例外はあります)。

拡張子

「拡張子」とは、ファイルの種類を端的に表すために、ファイル名の末尾に付加する文字列です。
PCやシステムの処理に使用される場合もありますが、ユーザーとしてもファイル名を見ただけで、そのファイルの種類が分かるというメリットがあります。

拡張子には、先頭に必ず「.」を付けます。

例えば、メモ帳などで作成したプレーンなテキストファイルであれば、ファイル名は以下の形式になります。

memo.txt

この「.txt」の部分が拡張子です。
「txt」は「text」の省略形です。

画像ファイルには「.png」、「.jpg」、「.webp」など複数の種類があります。

コメント

タイトルとURLをコピーしました