Blog「ヒトとAIの共生」がミッションの企業、SAI-Lab株式会社のブログです。一時期は専業のプログラミング講師をしていましたが、現在は毎週末のみiOSのプログラミングを教えています。これまでに、トータルで500人以上は教えてきたかと思います。様々な方にプログラミングを教えている中で、プログラミング初心者の方が陥りがちなパターンがいくつか見えてきたいので、この場で共有したいと思います。下手に罠にはまってしまうと、プログラミング自体が苦痛となりトラウマになりかねないので、プログラミングを学習するにあたってそのパターンを予め知っておき予防することが大事に思えます。以下に、ご参考までにですがそのようなパターンを5つほど挙げてみます。綺麗でバグの少ないコードを書こうとする姿勢は大事ですが、最初から完璧なコードを仕上げることは難しいです。学習のためには多くの失敗するコードを数多く書くことが大事になります。トライ&エラーを繰り返すことで、少しずつコードの理解が進み、次第に綺麗なコードを書けるようになります。完璧に頭の中でコードが完成してからでないとコードを書くべきでないというのでは決してなく、むしろ、拙くてもいいので少しずつ頭の中のアイディアをコードとして転写することが大事かと思います。長期的な大きな目標を持つことは大事ですが、短気的にいきなり大きすぎる目標を持つことは挫折の原因になります。アプリをプログラミングする場合、いきなりLINEやパズドラ、Facebookのようなアプリを目標にしてしまうと目標と現実の隔離が大きくなりすぎて失望感を感じることになります。個人的に、最初の開発目標としてお勧めするアプリは、ボタンをタップすると音が鳴ったりシンプルなアニメーションするだけの簡単なアプリです。そのようなアプリでも、子供には十分に喜んでもらうことが可能です。アプリ内に広告を貼ることで決して多くはありませんが収益を得ることもできます。最初のうちは、ミニマルなプロダクトの開発を心がけましょう。慣れないうちは、既存のコードの行数やファイルの数に圧倒されるかと思います。見たこともない記号や文法、アルゴリズムに戸惑ってしまうこともあるかもしれません。そのような場合は、ヘンリー=フォードの以下の言葉を思い出しましょう。「何事も特に難しいことはない、それを小さな仕事に分ければ。」どんなに複雑そうに見えるコードでも、それを小さく分解して一つ一つその機能を学習していけば、決して理解できないものではありません。初学者にとってコードの巨大な山は未知の恐怖かもしれませんが、足元をみて一歩一歩登っていけば決して恐れるべきものではないのです。周囲に対する過剰な意識プログラミングの世界では、他人の活躍を見て焦ってしまうことが多くあります。健全なライバル意識を持てればいいのですが、自己否定や自己嫌悪に陥ってしまうパターンは避けなければいけません。基本的には、どこかの天才が書いたコードよりも、自分で書いたコードを大事にしましょう。プログラミングの素晴らしい点は、コードを書くことで日々成長が実感できる点です。この成長の実感を、外部により乱されない心を持つことが大事になります。試行錯誤の不足コードを書くためには、試行錯誤が重要です。具体的には、以下のようなプロセスになるかと思います。戻る)頭の中だけでプログラミングの学習を完結することはできませんが、上記の過程を数多くこなすことで、頭の中で描ける仮説の精度が次第に向上し、上記のプロセスは洗練されていきます。最後にこれらの5つのパターンを意識することは、プログラミングに限らず、他の分野の上達においても大事ですね。今後の世界におけるプログラミング教育の重要性は言うまでもないですが、そのためのノウハウはまだ十分に共有されているとは言えません。他の分野の上達の法則はプログラミングにおいても当てはまることが多いかと思います。フットワークの軽さ怠惰→効率性の追求と置き換えると今回の記事の内容にそのまま当てはまるのではないでしょうか。これらのパターンを意識することで、皆さんのプログラミング学習が多少なりともスムーズになれば嬉しい限りです。-歴史の学習によるパターン認識力の向上-個人的には、エンジニアにとっても教養は重要と考えています。1/28毎週土曜日はTekuruプログラミングスクールで講師業です。「サピエンス全史」を2回通読しました。個人的に2016年一番の名...2016-12-08Metal、GPU関連のスライドを2つ紹介Metal、GPU関連で最近印象に残ったスライドを2つ紹介します。»SAI-Labとは?SAI-Lab株式会社は「ヒトとAIの共生」がミッションの企業です。https://sai-lab.co.jpAI関係の研究開発、および教育に携っています。AIの講座を複数展開し、知性の本質に迫るAIのアルゴリズムを研究、開発中です。SAI-LabのミッションとビジョンYouTubeチャンネルFacebookページ代表のプロフィール講演、執筆などのご依頼はこちらよりお願いいたします。初心者向けの人工知能と機械学習のコースです。プログラミング言語Pythonを使って、機械学習とプログラミングの基礎を学習します。AIのための数学講座:少しづつ丁寧に学ぶ人工知能向けの線形代数/確率・統計/微分AIの学習を始めるために必要な数学を1つの講座にまとめました。プログラミング言語Pythonを用いて、式の意味を確認しながら少しずつ丁寧に学びます。このコースの最大の特徴は、AI向けの数学をコードを書きながら学べることです。初心者向けディープラーニングのコースです。ゼロから少しづつ丁寧に学ぶプログラミング言語Python3のエッセンス”を公開しました世界最大の動画教育プラットフォーム、Ude...今週のAIニュース今週から隔週程度で、AI関連のニュースを...Udemyの受講生数が1万人を突破しました世界最大の動画教育プラットフォーム、Ude...”みんなのディープラーニング講座”をUdemyで公開しました。)SAI-Lab代表についてFacebookTwitterLinkedInQiitaスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。