こんにちは。倉内です。
「プログラミングに興味はあるけど、なかなかまとまった時間が取れない」もしくは「以前少し手を出してみたけど続かなくて挫折してしまった」という方は多いのではないでしょうか。
継続的な学習のために最初の一歩というのはとても大切です。
そこで今回は、paizaラーニングで新しく公開された「体験編」シリーズを使って、初めてプログラミングを学ぶ方が無理なく・効率よくプログラミング言語の基本を習得する方法をご紹介したいと思います。
「体験編」は現在Rubyのみ公開していますが、今後Python、Java、PHPなど他の言語も順次公開予定です。
paizaラーニングには他にも基本から応用まで学べるさまざまなコンテンツがあります。「体験編」で基礎固めをしたあとにスキルを引き上げるための勉強法についても合わせて紹介していきます。
「Ruby体験編」の特徴と学習内容
学習講座の内容は、プログラミングとは何か、Rubyでのコメントの書き方といった基本中の基本から始まり、数値の扱い方、条件文・ループ文といった基礎文法を動画で学びます。
Ruby体験編 チャプター一覧
01:プログラミングとは
02:はじめてのプログラミング
03:間違いやすいポイント
04:コメントを書く
05:数値を扱う
06:プログラムで計算する
07:変数にデータを入れる
08:データを受け取る
09:標準入力と標準出力
10:条件に一致したら処理を実行する
11:条件に合わせて処理を変える
12:数値を分類してみよう
13:同じ処理を何度も繰り返す
14:複数のデータを受け取る
15:複数のデータを分類する
学習動画は約3~5分程度なので、これまで時間がなくてプログラミング学習をあきらめていた方も無理なく取りかかれます。
ほぼすべてのチャプターで演習課題が用意されており、動画を見てインプットしたあとは必ずコードを書いてアウトプットをする形式になっています。
コードはブラウザ上で書いて実行ができるため環境構築は不要で、学んだことをすぐ復習できるのが「分かったつもり」を防ぐのに効果的です。
体験編が終わったあとの学習方法
「体験編」は基礎を学ぶものなので、講座をを終えた方向けに次におすすめの学習コンテンツを取り上げます。
楽しく学んで基礎文法の定着
paizaではさまざまな難易度のプログラミングゲームを公開しています。
「体験編」が終わったあとは、学んだ内容を使ってコードを書く練習をたくさんするのがスキルアップの近道です。
コードクロニクル
対応言語:Python・PHP・Ruby・Java・C・C++・C#・JavaScript・Kotlin
『コードクロニクル』は、プログラミングが魔法となるファンタジーの世界で、簡単なプログラミング問題を解きながらストーリーを進めていく学習ゲームです。
豊かな自然に恵まれ、さまざまな種族が共存する穏やかな王国「パイザ」。父王から「古より伝わりし王家秘伝の魔導書をその手におさめよ」と試練が与えられた姫エレナは、幼馴染の剣士であるリカルド、王家に仕える聖獣ポルタとともに旅に出ます。
魔導書を手に入れるためにプログラミング問題を解きながら物語を進めていきましょう。
問題は簡単なものから始まり、ステージを進めていくと少しずつ難易度が上がっていきます。基礎文法を定着させるのにぴったりです。
推しと学べるプログラミング
対応言語:Python・PHP・Ruby・Java・C・C++・C#・JavaScript・Kotlin
『推しと学べるプログラミング』(通称『推しプロ』)は、近未来を舞台に問題を問きながらストーリーを進めるプログラミング学習ゲームです。
国際テロ組織「HFS」の脅威にさらされた未来の世界で、そのテロ対策の一環としてe-Sportsの最先端競技となった「プログラミング」を使ってバトルに挑戦するためにプログラミングを学ぶことになったあなた。先輩エンジニアと協力して悪に立ち向かいましょう。
詳しい遊び方は以下の記事も参照してみてください。
ゲーム感覚で本格的なプログラミングに挑戦
上で紹介したものよりもう少し難しいプログラミング問題が出題されるゲームコンテンツもあります。
制限時間や再チャレンジの制限はありませんので、ぜひ実力を高めるために挑戦してみてください。
エンジニアが死滅シタ世界
対応言語:Python、Java、PHP、Ruby、C、C++、C#、JavaScriptなど多数
『エンジニアが死滅シタ世界~アンドロイドとふたりぼっちで生きろ~』は、プログラミング問題を解きながら物語を進める近未来SFアドベンチャーゲームです。死滅したエンジニアたちが遺したシステムを復旧させ、アンドロイド・RINの記憶と文明社会を取り戻しましょう。
プログラミング問題に正解することで、探索スポットを復活させたり、RINに装着できるパーツや記憶を獲得したりすることができます。スコアを競う高難易度ランキング問題もあります。
一部の解答コード例・解説は以下の記事に掲載しています。
その他のプログラミングゲーム一覧はこちら
学習講座でスキルの引き出しを増やす
Ruby入門編
一部体験編と重なる部分もありますが、よりじっくり詳しくRubyを学びたいという方には「Ruby入門編」をおすすめします。
体験編では扱わなかった、配列(二次元配列、ハッシュ(連想配列)含む)やメソッド、クラス、さらに例外処理なども学ぶことができます。
Webアプリ開発入門 Rails編
皆さんは、なぜプログラミングを学びたいと思いましたか? 多くの方は「Webサイトやアプリケーションなど、何か動くものを作ってみたい!」という思いがあるのではないでしょうか。
paizaでは言語の基本を学べる講座の他に、フレームワークを使ったWebアプリケーション開発の講座も公開しています。
RubyではRuby on Railsの講座をご用意しています。
その他の言語のフレームワークを使ったWebアプリケーション開発講座の一覧はこちら
周辺領域の知識をつける
エンジニアを目指してプログラミング学習をする場合、コードを書く以外にも必要な知識が多くあります。
初心者のうちは難しいかもしれませんが余裕が出てきたら周辺領域の学習も始めてみてください。
Web技術入門
「Web技術入門編」講座では、インターネットの仕組みを動画で学ぶことができます。
HTTP通信やプログラミングでHTMLを処理する仕組み、Webアプリケーション開発には欠かせないWebAPIなど分かりやすく解説しています。
DB/SQL入門
本格的なアプリケーションやWebサービスでは、大量のデータを効率よく管理するために、データベースを使います。
このデータベースをプログラムから操作するとき、プログラミング言語とは別の文法を持つ、SQLという問い合わせ言語を利用します。「DB/SQL入門編」ではブラウザ上でSQLを書いて実行しながらSQLを学ぶことができます。
Git入門
チームで開発する際にバージョン管理システムを使って管理することは欠かせません。
この「Git入門編」は、よく利用されているバージン管理システム「Git」について学べる動画講座です。仮想環境を使って、ブラウザ上で実践的な課題をこなしながら学べるのでおすすめです。
攻撃手法から学ぶ ハッカー入門(Webセキュリティ入門)
インターネットアクセスのあるサービス
「ハッカー入門編」は、声優の内田真礼さんがキャラクターボイスを務める凉月美影と一緒にSQLインジェクションなどを例にセキュリティについて学べる講座です。
攻撃手法を学んだあとはサイト開発者の視点から脆弱性への対策をおこないます。
スキルチェックで腕試し
ここまで紹介したプログラミング問題を解くコンテンツや学習講座は、インプットとアウトプットを自分のペースでおこなうものでしたが、実力を試したい方向けには「スキルチェック」というサービスをご紹介します。
スキルチェックでは、計算問題や文字列、図形を扱う問題、法則を見つけたりアルゴリズムを使って解く問題など多様なプログラミング問題が出題されます。
問題はS・A・B・C・Dと難易度分けがされていて、Sランクが最高難易度です。時間制限があり、実行速度や解答時間も加味してスコアを出します。その点数によって上位のランクへアップするか、とどまるかの判定がされます。(ランクが下がることはありません)
「スキルチェックは少し難しそう…」という方は、その前に「レベルアップ問題集」で出題形式が同じ、時間制限のない練習問題に挑戦することをおすすめします。
まとめ
「Ruby入門編」から始まり、プログラミング初心者の方がどのように学習を進めていくとよいかご紹介してきました。
プログラミングは基礎文法を学ぶだけであればそれほど時間はかからず進められます。ただ、自分でそれらを使ってコードを書けるかというと案外すらすらと書けないことに気づくと思います。
今回取り上げたコンテンツは、基本を習得したあとにコードを書く練習をするのによいものから、さらにプログラミングスキルを引き上げるための難易度の高い問題までさまざまです。
ぜひご自分の学習状況に合わせて選んでみてください。無理なく学習を継続できるよう、ゲームコンテンツで息抜きもしてくださいね。
これからプログラミング学習を始めたいという方には、paizaラーニングがおすすめです。Python、Java、C言語、C#、PHP、Ruby、SQL、JavaScript、HTML/CSSなど、プログラミング未経験者や初心者でも動画で学べる入門レッスンを公開しています。
「Python入門編」「C#入門編」「ITエンジニアの就活準備編」といった人気講座も完全無料となっておりますので、プログラミングを学びたい方・ITエンジニアを目指したい方はぜひごらんください。
詳しくはこちら