プログラミングってなんだろう? プログラミングというと英語や数字の羅列で何を言っているかわからない、という方も多いのではないでしょうか。難しいプログラミングをエンジニアでない人でもわかりやすいように、プログラミングの考え方や基礎知識を初心者の方にでもわかるようにご紹介します。
プログラミングの基礎知識・考え方
プログラミングは難しくありません。プログラミングが難しいというのは、難しい考え方をしてしまっているからです。プログラミングは簡単にいうと、パズルの組み合わせです。
パズルだったら小さい頃からやったことがありますよね?
パズル自体になんらかのマーク・機能がついていて、パズルを組み合わせて、何か(箱・機能)を作っていくと、何かのゲームやアプリになります。
パズルをどのように組み合わせていき、何かを作るというのがプログラミングです。これが簡単なプログラミングの例です。
最初にロボットを作ると考えると難しいですが、手を先に作る、足を先に作る、さらに手や足はどのような動きをするのか、細かく分けて作っていくということができれば最終的にロボットを作ることができます。
プログラミング言語から入ると難しい
プログラミング言語から入ると、何を選んだらいいのかわからない、何を作れるようになるのかわからない。
そもそも思考停止してしまうという方、簡単に言えば「パズルの種類がたくさんあって、パズルごとに作れるものが違う」くらいに覚えておくと良いかと思います。
ちなみに、パズルをどのように組み合わせたら理想通りの動きになるのか考える、その理想の動きのことをアルゴリズムと言います。
プログラミングをするということは、アルゴリズムを考えるということです。アルゴリズムを考えなければ、動きが遅くなったり、期待する動きをしないということになります。
プログラミング 基礎 無料ゲーム問題
グーグルが提供しているBlocklyがおすすめ
プログラミングの基礎として、誰にでも扱えるゲームがあります。
検索大手企業のグーグルが公開している「blockly」というサービスです。これはプログラミングの根本的な考え方を学べるサービスです。
司令の書かれたブロックを組み合わせて、ゴールへ導くということで、プログラミングの基本的な考え方である「論理的思考」を養うものでもあります。こちらを利用して、プログラミングの基礎的な知識を学んでいきましょう。
無料で利用できますし、ゲーム感覚でプログラミングが学べるのでお子様にも利用できるサービスです。
最初からプログラミングを勉強するのがなんだか難しそう、という方はこちらから入って見てください。
初心者だけど、ゲームやアプリを作って勉強していきたいという方はこちらをチェックして見てください。初心者でもアプリを作ることはできます。時間をかけながら少しずつ学んでいけば、作って学べます。
プログラミング 基礎が学べる本・書籍
プログラミングの基礎を学ぶことができる本をご紹介します。先ほどの流れからですが、プログラミングを覚えるときに難しいという場合は、パズルから学ぶというのがおすすめです。
パズルで学べるプログラミング
パズルの形で、問題を回答していくとプログラマとしての能力をつけることができるという書籍です。
[amazonjs asin=”479814245X” locale=”JP” tmpl=”Small” title=”プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになる70問”]パズルを解くコードを、あなたは書けるか?
アルゴリズムがみるみるわかる! プログラミングってやっぱり面白い!急速な技術の進歩、システム開発競争の激化……。プログラマを取り巻く環境はやさしいものではありません。でも、思い出してみてください。
自分の書いたソースコードでプログラムが動くのを初めて見たとき。思い描いた通りのプログラムができたとき。プログラミングの楽しさを感じたことでしょう。何もないところからソースコードだけで新たな価値を生むプログラマは、非常に魅力的な職業です。
本書で登場する数学パズルは、そのようなワクワクにあふれています。「両替したときの硬貨の組み合わせはいくつ?」のような問題から、「国名でしりとりしたときに、一番長く続く順番は?」「運命の出会いは何通り?」というものまで、70の問題を解くコードを、3人のキャラクターたちと一緒に考えていきます。
パズルを解くうちにアルゴリズムが身につき、シンプルで高速なコードが書けるようになります。楽しみながらスキルアップもできて一石二鳥。さっそく挑戦してみましょう!
MicrosoftやGoogleのプログラマ採用面接で使われるトレーニング
[amazonjs asin=”4274067556″ locale=”JP” tmpl=”Small” title=”プログラマのための論理パズル 難題を突破する論理思考トレーニング”]MicrosoftやGoogleでは、プログラマの採用面接でパズルを使うことが一般的である。現実の問題を解く際にも、パズルで養われる思考法が役立つからだ。
優秀な学生を輩出しているニューヨーク大学のShasha教授が、実際に講義で使ったパズルを通して、パズル的思考方法を教える。
考える力は人にとって最も重要な能力の一つだ。ソフトウェア開発だけでなく、ビジネスシーンでは、論理的な思考能力、問題解決力を使って課題を効率良く解決しなくてはならない。しかし応用力を訓練する機会は少ない。
この本には、プログラマの能力を試し、鍛えるのに適したパズルを掲載しており、コンピュータサイエンスでよく知られた技法のいくつかを現実の問題に当てはめた実例も、その思考過程を含めて掲載している。一部の難しいパズルでは、それを解くプログラムの疑似コードも掲載している。
ウェブサイト・ホームページからプログラミングを学ぶ
ウェブサイトやホームページからプログラミングを勉強したいという方も多いです。ウェブサイトやホームページを一から学びたい、ドメイン、サーバーの取得の仕方、何を取得したらいいのからわからないという方はこちらを合わせてどうぞ。
プログラミングの基礎まとめ
プログラミングの基礎はこれだ!というものは厳密にはありません。しかし、プログラミングをどのように覚えていったらいいのか?というのはいくつかあります。
今回ご紹介しているパズル的な考え方をして基礎を学んでいくのはプログラミングに使われる論理的思考を養うこともできますし、結局色々なことに役立ちます。
プログラミングをいきなり勉強していくのが難しそう、子供に教えてみたいというという方は、まずはグーグルのサービスを使ってみたり、パズルの書籍で学んでいくなどして勉強していくことをオススメします。