こんにちは。倉内です。
Webサービスやスマホアプリを作ったり、業務効率化のために自動化したり…プログラミング学習の目的はさまざまかと思いますが、いずれにしてもまずは基本的な文法を習得する必要があります。
プログラミングは、インプットだけで「わかったつもり」になっても、いざコードを書こうとしても手が動かないことがよくあります。
そこでおすすめしたいのが、ドリル形式で問題をたくさん解いてコードを書くことに慣れるという学習方法です。特に今回は、C#のドリル形式で問題が解ける学習サービスをご紹介します。
ドリル形式で問題を解くことのメリット
小学生のころ、計算ドリルや漢字ドリルを使って勉強した記憶があると思います。ドリル形式での学習のメリットはいくつかありますが、ここでは大きく3つに注目してみます。
- 例題や練習問題を繰り返し解くことで基礎を定着させられる
- 基本から応用まで段階的に学習できるので挫折しにくい
- 1日○問解くなど区切って取り組めるので学習を習慣化できる
インプットした知識を、自分の手を動かして使う(問題を解く)ことがやはり習得の近道になります。
また、プログラミング学習の場合、どうやってコードを書くのかを調べること自体が理解を深めるのに大切です。そういった点でもプログラミング問題をたくさん解くことにメリットがあります。
おすすめ学習サービス
paizaラーニング「レベルアップ問題集」
「レベルアップ問題集」は、プログラミングの練習問題を多数掲載している問題集です。
ブラウザ上で問題を解いて実行、正誤判定もできるためインターネット環境さえあればすぐに取り組めます。
すべての問題のテストケースの入力値が参照でき、一部問題は解答例・解説も公開しています。テストケース、解答・解説の参照は学習チケットの消費が必要となることがあります。詳しくはこちら
ループや条件文、配列といった基本文法をおさらいできる問題から、ソート、線形探索、木やグラフなどアルゴリズムに関する問題、そしてプログラミングスキルの腕試しができる「スキルチェック」の過去問まで多様な練習問題があり、難易度もさまざまです。スキルチェックについて詳しくはこちら
レベルアップ問題集には、「○○メニュー」と「○○セット」の2種類の形式があり、前者は簡単な問題から挑戦し、段階的に難しい問題が解けるような作りになっています。後者は同じテーマの問題を集めたものとなります。
ここでは、C#の解答コード例がある問題集をピックアップしてご紹介します。なお、解説は他の言語のものでも解答の助けになりますので適宜ご参照ください。
Bランクレベルアップメニュー(全62問)
Bランクは、スキルチェックでいうと「実用的な実装スキル」と位置づけられるレベルです。Bランクの問題が解けるようになると、エンジニアチームのメンバー相当の実力があると言ってもよいでしょう。
基礎文法を理解していれば解ける易しい問題から、徐々に難しい問題に挑戦できる問題集となっています。
数値や文字列の操作を扱う基礎問題、配列やソートに関する基本問題と発展問題と多数公開しており、自分のレベルでどれくらいまで解けるかを試してみたいという方にもおすすめです。
線形探索メニュー(全17問)
探索アルゴリズムの中でももっとも基本的な線形探索を扱った問題集です。易しめの問題が多いため、アルゴリズムを初めて学ぶという方でも取り掛かりやすい内容かと思います。
「そもそも探索アルゴリズムって……?」という方は、以下の記事で解説していますので合わせて参考にしてください。
グラフ構造の入力メニュー(全22問)
こちらもアルゴリズムに関する問題集ですが、難しめの問題が多くなっています。ただ、はじめに基本的な概念を理解するための簡単な問題もありますので、グラフ構造にあまり馴染みがない方も理解しながら進めることができます。
グラフが何かを知りたい方は、以下の記事も参考にしてみてください。
STEINS;GATE問題セット(全19問)
STEINS;GATEとpaizaがコラボしたプログラミングゲーム「電脳言語のオルダーソンループ」は、プログラミング問題を解いて物語を進めるアドベンチャーゲームです。
ゲーム・アニメ版のシナリオに携わる安本了氏がゲーム内ストーリーを担当。ここだけのオリジナルストーリーを楽しむことができます。
「ひたすら問題を解くだけだとつまらない!」と感じている方は、ゲームで遊びながらプログラミング問題にも挑戦してみてください。
なお、もし問題集に挑戦する中で、分からないことがあれば、paizaラーニングの動画講座「C#体験編」「C#入門編」で基本的な文法をおさらいすることができます。体験編は全編無料ですので、ぜひ活用してみてください。
北ソフト工房
C#の練習問題集を集めた学習サイトで、すべての問題に解答例が公開されています。無料で利用が可能です。
変数や演算、分岐・繰り返し、配列といった基礎文法から、メソッドやクラスの問題も用意されており、C#の学習を始めたばかりの方にもおすすめです。
実行環境は自分で用意する必要があるため、難しい方はオンライン実行環境のpaiza.IO(無料)の利用も検討してみてください。
++C++; // 未確認飛行 C
C#の学習サイトといえばこちらを思い浮かべる方も多いと思います。こちらのページで基本から応用まで文法を学べますが、演習問題集のページもあります。
こちらも問題に解答例が用意されており、しかも1パターンではなく複数の解答例がある問題もあります。プログラミング問題の解き方は1つしかないということはほとんどないので、いろんな解き方を学んでみたいという方には特におすすめです。
コンストラクタやプロパティ、抽象メソッド、抽象クラス、インタフェースなど、他のサイトではあまり練習問題がない範囲もカバーしているので、C#のスキルをレベルアップしたいという方はぜひ挑戦してみてください。
コーディングスキルを試すなら「スキルチェック」
さきほども少しご紹介したスキルチェックは、制限時間内にプログラミング問題を解くことで、コーディングスキルをS・A・B・C・D・Eランクの6段階で評価するサービスです。
練習問題をこなすことでコードを書く力がついたと思いますので、スキルチェックの問題にも挑戦してみましょう!
また、スキルチェックのランクは、paizaが運営するITエンジニア専門の就活・転職サービスで求人に応募する際に利用できます。
求人に設定された「通過ランク」以上を取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って就活・転職したい」という方は、ぜひチャレンジしてみてください。
まとめ
C#のプログラミング問題をたくさんとける学習サービスをご紹介しました。
プログラミング学習は、どれだけインプットをしても自分の手を動かしてコードを書かなければ身につきません。ドリル形式の問題集などを使うことで学習が習慣になります。毎日少しずつでも続けていくことが大切です。
最近は自分で実行環境を構築しなくてもオンラインで完結しているサービスも多いので、しっかりアウトプットしながら着実に身に着けていきましょう。
「paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。
詳しくはこちら
そしてpaizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
詳しくはこちら