こんにちは。倉内です。
プログラミング学習には、オンラインで動画やスライドを見たり、参考書を使ってみたり、もしくはスクールに通ってみたりといろいろな手段があります。
ただ、独学ではなかなかモチベーションを維持できない、途中で分からなくなり嫌になってしまった…など初心者の方が勉強を続けるのは結構大変だったりします。
せっかくプログラミングに興味を持って学び始めたのであれば、楽しく続けられて、しかもいつの間にかスキルが上がっていたらうれしいですよね。
そこで今回は、楽しくプログラミングが学習できるコンテンツをまとめて紹介します。初心者はもちろん、これから勉強を始めようとしている方、ゲームが好きでとりあえず遊んでみたい方もぜひチェックしてみてください。
親子で楽しめる!ビジュアルプログラミング
まずはプログラミングに1度も触れたことがなく、初めて手を出してみようかな…という方におすすめのビジュアルプログラミングができるコンテンツを紹介します。
ビジュアルプログラミングは特定のプログラミング言語ではなく、ブロックやキャラクター、イラストなどを使っておこないます。大人も子どもも楽しく遊んでいるような感覚でプログラミングに触れることができます。
viscuit
ビスケットはビジュアルプログラミングの言語のひとつで、「メガネ」と呼ばれるルール(規則)に基づいてさまざまな処理を実現しています。
遊び方は簡単で、コードを直接書くことはせず絵を描くような操作でアニメーション・ゲーム・絵本などを作ることができます。iOS/Androidのアプリも公開されているため、PCがなくても遊んでみることができます。
Nintendo Labo
改めての説明は不要かと思いますが、Nintendo Laboは任天堂が2018年に発売した「Nintendo Switch」と「ダンボール」、そして「ゲームソフト」を組み合わせて作る工作セットです。
ペーパークラフトのイメージが強いかもしれませんが、実はビジュアルプログラミングの側面も持っています。特にシリーズの中でも「Toy-Conガレージ」は、コードは書かずにタッチスクリーンを使って指で直感的にプログラム変更できるため、オリジナルの機能を楽しく開発することができます。
Springin'
iPhoneやiPadで利用できるSpringin'は、描いた絵に対してあらかじめ準備された機能を割り当てていくことで、プログラミングの知識や経験がなくても簡単にゲーム・パズル・絵本などが作成できます。
「つくる」→「とどける」→「あそぶ」というサイクルを大切にしていて、他の人が作ったアプリで遊んだり自分が作ったアプリを公開したりといったことも積極的におこなわれています。
Blockly
BlocklyはGoogleが提供しているビジュアルプログラミング言語で、パズルのようにブロックを組み合わせることでプログラミングができます。
すべてが日本語化されているわけではありませんが、操作自体は直感的にできます。ただ、意外とプログラミング思考的な部分で難しいところもあり、考え込むことも…。
プログラミングの基本的な文法である、ループや条件分岐が分かっていたほうが楽しめるかもしれません。
paizaラーニングではPython、Ruby、PHP、C#など主要プログラミング言語の入門講座を公開しています。動画で分かりやすく解説していますので、よければそちらで基本文法を学習してみてください。
詳しくはこちら
遊びながらプログラミング的思考を養うアプリ
トライビット ロジック
トライビットロジックは、iOSとAndroidでプレイができる論理演算を使って「バグ」を倒すパズルゲームです。論理演算の説明もちゃんとありますのでご安心ください。
ちなみにNintendo Switch版(2018年12月発売)もありますので、よりいっそうゲーム感覚でプログラミング的思考を身につけられるでしょう。
LightBot
ロボットをコントロールして床の青いタイルすべてに明かりをつけるにはどのような命令を置くといいかを考えて組み合わせていくゲームです。iOS、Androidでも利用できます。
LightBotではプロシージャ(関数)の概念があり、複数の命令をまとめて1つの関数にするといったこともできます。
こういった考え方は実際にプログラミングする際には必須なので、このようにまずはパズルゲームをプレイしながら理解できるとスムーズかと思います。
さまざまな世界観にひたれるプログラミングゲーム
ここからはいよいよ実際にコードを書いて学ぶコンテンツを紹介します。
今回は特に世界観が作り込まれているものを集めました。プログラミング問題を解いてストーリーを進めたり、集めたアイテムでガチャを引いたり…とRPGやソーシャルゲームのように楽しみながらプログラミング学習ができます。
コードクロニクル
『コードクロニクル』は、ファンタジー系RPGのような世界観でプログラミング問題を解きながら物語を進めていくゲームとなっており、楽しみながらプログラミング学習ができます。
舞台は個性豊かな種族たちが暮らす王国「パイザ」。この王国では、誰もが子どものころから魔法(プログラミング)を学び、豊かな生活を送っています。
メインとなるキャラクターは、パイザ王国の姫であるエレナと幼馴染で剣士のリカルド、そして聖獣のポルタ。2人と1匹は国王から命じられた、伝説の呪文(コード)が記された魔導書を探す旅に出ます。
もしクエストで出題される問題の解き方が分からなくなったらヒントとなる内容が学べる動画を見ることもできます。
ロジックサマナー~閃光の召喚プログラマ
対応言語:Python、Java、PHP、Ruby、C、C++、C#、JavaScriptなど多数
『ロジックサマナー~閃光の召喚プログラマ』は、プログラミング問題を解くことで、封印が解けてストーリーが進んでいく異世界ファンタジーRPGです。
主人公は異世界に迷い込んだITエンジニア。この異世界では、プログラミングしたコードが召喚獣を呼び出すための詠唱魔法です。魔法(プログラミング)が使える主人公は、世界を救う伝説の召喚士として世界を救うことに……。
プログラミングスキルを駆使して、この世界の平和を取り戻しましょう。プレイスタイルに応じた称号システムやキャラクター・アイテムのコレクションなどもできます。
CodinGame
対応言語:Python、Java、PHP、Ruby、C、C++、C#、JavaScriptなど多数
CodinGameは、シューティングゲームやコードゴルフなど、さまざまな遊び方でプログラミングが学べるWebゲームです。
グラフィックがかなり作り込まれており、わくわくしながらプログラミングをすることができます。最初はコーディングの基礎を学べるトレーニングコースから始めましょう。
プログラミング学習が進んだらTron Battleと呼ばれる実装したAIを戦わせるユーザー同士のバトルに参加してみるのも面白いと思います。
エンジニアが死滅シタ世界〜アンドロイドとふたりぼっちで生きろ〜
対応言語:Python、Java、PHP、Ruby、C、C++、C#、JavaScriptなど多数
『エンジニアが死滅シタ世界~アンドロイドとふたりぼっちで生きろ~』は、プログラミング問題を解きながら物語を進める近未来SFアドベンチャーゲームです。死滅したエンジニアたちが遺したシステムを復旧させ、アンドロイド・RINの記憶と文明社会を取り戻しましょう。
プログラミング問題に正解することで、探索スポットを復活させたり、RINに装着できるパーツや記憶を獲得したりすることができます。スコアを競える高難易度ランキング問題もあります。
CheckiO
こちらもグラフィックが凝っていて見た目も楽しいゲームとなっています。選べる言語はPythonとJavaScriptで、プログラミングをしながらステージを攻略していきます。
まず問題の説明があり、そのあとコード書く画面に移ります。他のユーザーが提出したコードや回答例も見れるため非常に勉強になると思います。
ただし、サイトはすべて英語で書かれていて、選んだ言語の基礎文法は理解している前提で出題されるため「ちょっと難しいな…」と感じた方はpaizaラーニングで基本を学んでから挑戦してみてください。
まとめ
コードを書かずにプログラミング的な思考を鍛えたり、直感的な操作で楽しみながらプログラミングに触れたりできるコンテンツから、見た目にも楽しい世界観が作り込まれたプログラミング学習ゲームまで紹介してきました。
こうした遊び感覚でプログラミングを学べるサービスを利用して、ただプログラミング問題を解くだけでなく、ストーリーを進めたり、アイテムを集めたり…といったゲーム要素があると独学でも学習を続けやすいかと思います。
そしてある程度基礎が身についたら、ぜひpaizaのスキルチェック問題でプログラミングスキルをはかってみてくださいね。
スキルチェックでは、プログラミング問題の解答結果によって、S・A・B・C・D・Eの6段階でスキルランクを判定しています。Dランクが取得できると、プログラミングの本当に基礎の基礎に当たる概要は理解できているという目安になりますので、初心者の方もぜひ挑戦してみてください。
paizaのスキルチェック問題について、詳しくはこちら
「paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。
詳しくはこちら
そしてpaizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。
詳しくはこちら