こんにちは。倉内です。
今週末からGWという方も多いと思います。外出しづらい状況ではありますが、せっかくの長期休暇を有意義に過ごしたいですよね。
趣味に没頭したり部屋の掃除をしたりももちろんよいのですが、普段忙しくてなかなか時間が取れない方はこの機会にプログラミング学習にじっくり取り組んでみてはいかがでしょうか。
そこで今回は、レベル別・状況別にpaizaの学習コンテンツをご紹介します。特に最近新しく追加された「レベルアップ問題集」や言語別の体験編講座などを中心に取り上げます。いずれもWebブラウザ上で学習ができるので面倒な準備も不要です。
旅行やレジャーの予定変更を余儀なくされた方も、私のように舞台やライブの中止が発表されて抜け殻になっている方も、ぜひpaizaラーニングやプログラミングゲームを活用して楽しく学ぶ連休にしましょう!
これからプログラミングを始めたい
はじめてプログラミング学習に取り組む方は、プログラミング言語の体験編・入門編講座がおすすめです。
体験編(概要~基礎)
対応言語:Python、Ruby、Java、PHP、JavaScript、C言語
体験編は、「プログラミングとは何か」から始まり、各言語の基礎的な内容を動画講座で学んでいきます。
ブラウザ上でコードを書いて、演習課題をこなしてインプットとアウトプットを繰り返すことによりしっかり定着させることができます。
言語ごとに多少違いはありますが、内容としてはコメントの書き方、単純な数値計算、データの受け取り方、そしてif文やfor文の基礎文法を学べる講座になっています。
これまで一度もプログラミングをやったことがない方でも取り組みやすい内容です。全言語の講座を無料公開中ですので、まずお試しで使ってみたいという方もぜひご利用ください。
問題をたくさん解いてコードを書く力をつけたい
講座にも演習課題はありますが、書く力をつけるにはプログラミング問題をたくさん解いて、自分の中にコードを書くための引き出しを多く用意しておくことが大切です。
はじめのうちは分からないことだらけで逐一調べないと書けないかもしれません。しかし問題を解くうちに頻出のものは覚えますし、応用の仕方も分かってきます。ここでは動画講座の他にスキルチェックや「レベルアップ問題集」の活用法もご紹介します。
初心者から脱出する
「プログラミング言語の基本は習得したけど、その次どうしたらいいか分からない…」という方は、学んだことを使ってコードを書く練習をしてみましょう。
paizaにはプログラミング問題の解答結果によって、プログラミングスキルをS・A・B・C・D・Eの6段階のランクで判定する「スキルチェック」というサービスがあります。
Dランク問題は難易度は一番下ですが、文章から仕様を読み取り、条件に沿ってプログラムを組みテストするという一連の流れが体験できます。
スキルチェックは時間制限があり、ランクの獲得は一度しか挑戦できないので(再挑戦自体は可能)まずは類似の練習問題を集めた「レベルアップ問題集」に取り組むのもおすすめです。
問題を解くためにまずはデータの取得・出力の方法を知る必要があるため、問題集「標準入力メニュー」「標準出力メニュー」で想定された入出力のコードが書けるか確認してみてください。
「Dランクは簡単すぎる!」という方はぜひ上のランクに挑戦していただければと思います。以下にCランク相当の問題解説をしている記事を載せておきますので、問題集と合わせて参考にしてください。
問題を解く際は配列やクラス・構造体などをうまく使って、効率よく処理する方法を考えることも必要になってきます。その際は、以下の問題集で練習してみるとよいでしょう。
スキルチェックの高難度問題に取り組む
さきほどスキルチェックのD、Cランクの問題をご紹介しましたが、B~Sランクの問題は文章が長くなり、条件も複雑になるため問題を解くのにある程度時間がかかります。
普段は時間が確保できなくて挑戦できない方もぜひ連休中に取り組んでみてください。
レベルアップ問題集では、「Bランクレベルアップメニュー」「Aランクレベルアップメニュー」といった上のランクの問題を解けるようになるための問題集をご用意しています。
たとえば「Aランクレベルアップメニュー」は、Cランク相当の問題から順に解いて最終的にAランク相当の問題を解くといったステップで問題集が作られています。現在、Python3とC++の解答コード例を公開中です。
よく使われるアルゴリズムを知る
スキルチェックで難易度の高い問題を解く際に、効率よく処理させるために知っておくとよいアルゴリズムがあります。
一例ですが、レベルアップ問題集では「素朴なソートアルゴリズムメニュー」「DP(動的計画法)メニュー」「グリッド版ダイクストラ問題セット」でアルゴリズムを扱っています。
それぞれ解説および解答コード例(一部言語)をご用意していますので、アルゴリズムにまだあまり馴染みのない方も活用していただけると思います。
「グリッド版ダイクストラ問題セット」は以下の記事で詳しく解説しています。
さらにアルゴリズムの学習を進めたい方は、「ユークリッドの互除法」「モンテカルロ法」を扱っている以下の記事も参考にしてみてください。
また、paizaラーニングでは「アルゴリズム入門編」も公開しています。FizzBuzz、フィボナッチ数、巡回セールスマン問題といったメジャーなアルゴリズムを動画講座で学ぶことができます。
ゲーム感覚で楽しく学びたい
「もっと楽しみながら学びたい!」という方に、paizaで公開しているプログラミングゲームをはじめとしたエンタメ系コンテンツをご紹介します。
プログラミング初心者の方が気軽に始められるものから、難易度の高いプログラミング問題の出題までレベルに応じてさまざまなコンテンツがありますので、ぜひ以下の記事も参考にしてみてください。
記事内では解答例・解説を掲載した記事へリンクが貼ってあります。難しいなと感じたらそちらも合わせてごらんください。
就職・転職準備のために作品を作りたい
GW期間中に就職・転職の準備をしたいと考えている方も多いかもしれません。
エンジニア職の選考では、これまで学習した内容や自身のスキルをアピールするために成果物を示すと、言葉だけよりもずっと企業に熱意を伝えることができます。ここでは、アウトプットに役立つ講座をご紹介します。
Webアプリケーション開発
「Webアプリ開発入門」では、ランチマップアプリや掲示板アプリの作成といった開発を通して、実践的に学ぶことができます。
フレームワークの基本的な使い方、データベースとの接続やログイン機能、パスワード管理などの内容も含みます。
Webアプリ開発入門講座一覧
言語 | フレームワーク | 概要 |
---|---|---|
Python | Django | ランチマップアプリの作成 |
Python | Flask | 掲示板の作成、メモ帳アプリの作成 |
PHP | Laravel | ランチマップアプリの作成 |
Java | Servlet/JSP | 掲示板の作成、メモ帳アプリの作成 |
Ruby | Sinatra | 掲示板の作成、メモ帳アプリの作成 |
Ruby | Rails | ランチマップアプリの作成、掲示板の作成 |
PHP+MySQL | - | 掲示板の作成 |
PHP | - | 掲示板の作成、メモ帳アプリの作成 |
初心者の方には比較的扱いやすい「Webアプリ開発入門 Flask編」「Webアプリ開発入門 Laravel編」あたりがおすすめです。
ポートフォリを作成
自作したWebアプリやサービスは作品としてまとめておくとよいでしょう。そういったものを「ポートフォリオ」といいます。
「ITエンジニアの就活準備編2: ポートフォリオ制作」の講座では、HTMLとBootstrapを使って実際のポートフォリオページを作る方法を学ぶことができます。
ポートフォリオを企業が選考でどう捉えているかなどを紹介した以下の記事もよければ参考にしてみてください。