Перейти к содержимому

【疑問】プログラミング、覚えることが多すぎ問題...。 - 効率的に学ぶための考え方と取捨選択のコツ

趣味のプログラミングCh

0:00 / 0:00

【疑問】プログラミング、覚えることが多すぎ問題...。 - 効率的に学ぶための考え方と取捨選択のコツ

3 628 просмотров · 1 год назад
趣味のプログラミングCh
5,3 тыс. подписчиков
3 628 просмотров · 1 год назад
最も重要なことは、重要なことを重要なこととして扱うことだ。 「学ぶこと、多すぎじゃない?」 変数、関数、クラス、データベース、API、クラウド、バージョン管理…プログラミングを学び始めたばかりの人が、この情報の洪水に溺れそうになるのは当然だ 勉強すればするほど、新しい概念が次々に現れ、「これも知らなきゃ」「あれも理解しなきゃ」と焦りが積もっていく でも、本当に全部覚える必要はあるのだろうか? そして、覚える価値があるものと、後回しにしても問題ないものは、どうやって見極めればいいのか? この動画では、「覚えることが多すぎる」という悩みを抱える初学者に向けて、情報の取捨選択と、効率的な学びの指針を提示していきたい 第1章 はじめに 近年、プログラミング教育の普及に伴い、習得すべき知識の多さに戸惑う現象が顕在化している 情報技術の進展とともに、言語、フレームワーク、ライブラリなど多種多様な要素が登場し、その全容を把握しようとする試みに過度の負担を感じる者が後を絶たない こうした現状は、初心者のみならず中堅層にとっても共通の課題となっている 実際、体系的な知識の整理および適切な取捨選択が不足しているため、本来必要なスキルの習得が妨げられる危険性を孕んでいる ここでは、記憶すべき内容とそうでない内容を識別する手法や、効率的な学習法の基本的な考え方について論じていく 第2章 「プログラミングを学ぶのは大変」という問題 プログラミング習得の初期段階において、膨大な情報量に翻弄される現状は決して例外ではない 特に初心者にとっては、初めて触れる言語の構文やライブラリ、さらにはフレームワークといった専門用語が次々と飛び出し、学習意欲を喪失させる要因となりうる ここでは、まず初学者が直面する「覚えることの多さ」について具体的に考察し、その後、本当に全てを記憶すべきなのかという疑問に対する考察を行う 第2.1章 初心者が感じる「覚えることの多さ」 初学者はプログラミング学習に際し、複数の層にまたがる知識の洪水に直面する まず、言語ごとに異なる基本構文や型、演算子などの文法知識が必要となる 次に、各種フレームワークにより、開発環境固有の規則や設計パターンが要求され、体系的な学習を一層複雑にする また、豊富なライブラリが提供する多様な機能に関して、それぞれの使い方を習得しなければならない さらに、関数と呼ばれる再利用可能な処理単位は、アルゴリズムの実装やデータ処理に不可欠な知識であり、その理解は初期段階では容易ではない こうした各要素が相互に関連し合い、全体像の把握を困難にするため、初心者はしばしば圧倒される状況に置かれる 第2.2章 本当に全部覚えないといけないのか? 情報技術が急速に進展する現代において、全ての知識を丸暗記することは現実的ではない 必要な情報は、求められた時に検索し、適宜参照する能力が重視されるべきである 知識の網羅よりも、論理的な思考と問題解決のために情報を活用するスキルが本質的な資産となる 記憶の負担を軽減するためには、重要な基礎知識に焦点を当て、その他はリファレンスや公式ドキュメントを活用する戦略が有効である 覚えるべき情報と、必要時に確認すれば良い情報との明確な線引きが、学習効率を大幅に向上させると同時に、新たな技術の習得にも柔軟に対応できる環境を整える鍵となる 第3章 「覚えるべきこと」と「覚えなくていいこと」がある 膨大な情報の中から効率的に必要な知識を選択するためには、何を必ず記憶すべきか、何を後回しにしても良いかの判断基準が求められる 本章では、学習対象を「基礎」と「周辺知識」に分類した上で、どちらを重点的に身につけるべきかを論じる 第3.1章 「基礎」 vs 「周辺知識」 プログラミングにおける「基礎」とは、アルゴリズム、データ構造、基本構文など、問題解決や合理的なコード記述に不可欠な要素を指す 一方、周辺知識は、特定のフレームワークやツール、ライブラリといった、実践的な開発環境に依存する情報を意味する 基礎は、一度習得すれば応用範囲が広く、どの技術領域においても共通して活用できる 一方、周辺知識はプロジェクトごとに必要とされる場合が多いため、その都度学習して対応する方法が合理的である こうした区別を明確にした上で、学習者は限られた記憶資源をよりクリティカルな部分に投資する戦略が求められる 第3.2章 全部覚えるのではなく、必要なときに調べるスキルが大事 知識の記憶量に追われるのではなく、情報検索能力の向上こそが現代のプログラミング学習における核心である まず、「ググる力」と呼ばれる、適切なキーワード設定により効率よく情報に辿り着く技術は、学習者が直面する疑問を瞬時に解決する助けとなる 次に、公式ドキュメントや技術解説記事を正確に読み解く能力は、正確な実装を支える基盤であり、情報の裏付けにも欠かせない また、QiitaやStack Overflow、さらにはYoutubeといった各種SNSや動画プラットフォームを活用することで、実践例とともに最新の技術動向を把握可能となる このように、暗記ではなく情報活用のスキルに重点を置くことが、学習の持続性と効率性を担保する戦略である 第4章 実際にプロのエンジニアは全部覚えているのか? プロフェッショナルとして活躍するエンジニアの現場では、全てを記憶するのではなく、必要に応じた情報収集と理解が重視される 業務においても公式ドキュメントやリファレンスサイトを随時確認しながら作業を遂行する傾向が見られる そのため、いかなる技術領域においても、暗記よりも本質的な動作原理や仕組みの理解が求められる 本章では、経験豊富なエンジニアの実践例を踏まえ、情報を逐次参照しながら開発する現実的なアプローチについてみていく 第4.1章 熟練エンジニアも「調べながら」書いている 現場の成熟したエンジニアですら、全ての関数や文法を網羅的に記憶しているわけではなく、必要な際には公式ドキュメントを即座に参照する姿勢を常に貫いている これにより、新たな技術やライブラリにも迅速に適応可能であり、効率的な問題解決が実現される 実際、業務では部分的な知識に加え、リアルタイムで情報を補完するスキルが求められるため、全体像の理解とともに細部の調査能力が一層重要視される 必要な情報のみを習得する柔軟性が、プロフェッショナルとしての競争力の源泉となっている 第4.2章 「暗記」よりも「理解」が大事 知識の丸暗記は短期的なパフォーマンス向上には寄与するものの、応用力や問題解決能力の向上には結びつかない プログラミングにおいては、各コードの動作やアルゴリズムの背後にある論理、系統立った設計思想をしっかりと理解することが肝要である 理解を伴った学習は、異なる状況下での柔軟な発想と即時の対応を可能とし、結果として新たな知識獲得の土台となる こうした深い理解こそが一過性の記憶を超え、持続的な技術進化を支える真の資産であるといえる 第4.3章 数学や物理と一緒 プログラミングの本質は、数学や物理学における原理的理解に類似する 例えば、公式の丸暗記に依存するだけでは、未知の問題に対し柔軟な解決策を導出することは困難である 数学においても、公式の意味や証明過程を深く理解することで、応用問題に対して柔軟にアプローチできるのと同様、プログラミングでも仕組みやアルゴリズムの背景を把握することが最も効果的な技法となる この類推は、単なる知識の蓄積ではなく、根本的な論理構造の理解が如何に重要であるかを示している 第5章 覚えるべきことを減らすコツ 膨大な情報の中で真に必要な要素だけを抽出するためのコツとして、学習目的に応じた選択が求められる 実践的なプロジェクトを遂行する際、記憶する項目を精査し、すぐに活用できる基本原則に注力する戦略が推奨される 本章では、目的に基づく学習、頻出する基本構文や制御構文の優先度、さらには流行に左右されない学習戦略について論じ、無用な情報に振り回されないための実践的なアプローチを示す 合理的な学習の道筋を描くことが、知識の最適化および迅速な技術習得に直結する 第5.1章 「目的ベース」で学ぶ 何を学ぶかを明確にするためには、具体的な目的設定が不可欠である 例えば、ゲーム開発を志向するならば、レンダリングや物理演算など特有の技術に絞る戦略が有効だ 機械学習に取り組む場合は、データ前処理や統計の基礎に集中するなど、目標に応じた学習法が成功への近道である 目的が明確なら、余計な知識に惑わされず、実際の成果物に反映できる知識のみを効率的に習得可能となる こうしたアプローチは、学習プロセスに意味を与えるとともに、時間資源の浪費を防ぐ合理性を備える 第5.2章 「よく使うもの」から覚える プログラミングにおける実用性を高めるため、頻出する文法や処理構文から学習を始める戦略は極めて効果的だ 例えば、forループやif文のように、日常的にコード内で頻繁に使用される機能は、初歩から重点的に習得すべき要素である 一方、eval()のような特殊な関数は使用頻度が低く、状況に応じて参照すれば十分である まずは主要な要素を確実に固めた上で、次第に実践から派生する知識を補完することで、効率的なスキルアップが可能となる 第5.3章 流行に流されすぎない 技術業界は常に新たなツールやフレームワークが登場し、学習者はその波に飲み込まれがちだ しかし、短期間の流行に過度に依存すると、基盤となる知識の習得が疎かになり、長期的なスキル発展に悪影響を及ぼす恐れがある 流行はあくまで一時的な現象として捉え、基本原則や安定したプログラミング手法を優先する姿勢が肝要である 堅実な知識の積み重ねが、結果としてどの時代においても応用可能なスキルセットとなるため、流行に左右されない冷静な判断が求められる 1:06 第1章 はじめに 2:02 第2章 「プログラミングを学ぶのは大変」という問題 2:42 第2.1章 初心者が感じる「覚えることの多さ」 3:44 第2.2章 本当に全部覚えないといけないのか? 4:42 第3章 「覚えるべきこと」と「覚えなくていいこと」がある 5:10 第3.1章 「基礎」 vs 「周辺知識」 6:05 第3.2章 全部覚えるのではなく、必要なときに調べるスキルが大事 7:10 第4章 実際にプロのエンジニアは全部覚えているのか? 7:54 第4.1章 熟練エンジニアも「調べながら」書いている 8:44 第4.2章 「暗記」よりも「理解」が大事 9:29 第4.3章 数学や物理と一緒 10:15 第5章 覚えるべきことを減らすコツ 11:04 第5.1章 「目的ベース」で学ぶ 11:53 第5.2章 「よく使うもの」から覚える 12:38 第5.3章 流行に流されすぎない 13:26 第6章 「覚えることが多すぎる」不安を解消する学習法 14:24 第6.1章 実際に手を動かして学ぶ 15:02 第6.2章 小さなプロジェクトを作って「必要なことだけ」学ぶ 15:44 第6.3章 シンプルな学習ロードマップを作る 16:27 第7章 「まずやってみる」ことが、学習の最短ルート 17:23 第8章 結論 #コンピューター #プログラミング #プログラミング初心者 #解説 #voiceroid解説 #voiceroid #プログラム #programming 【使用素材】 琴葉葵・琴葉茜 - 音声 琴葉葵・琴葉茜 - 立ち絵(ユメのオワリ様 - im10706241) AviUtl にじボイス Soda_Soda(BGM - 茶葉のぎか様) storyterror(BGM - まんぼう二等兵様) pixabay - API 効果音ラボ