プログラミング初心者にpaizaのスキルチェックをおすすめしたい話
公開日:
:
最終更新日:2019/11/30
プログラミング
プログラミング初心者はProgateやドットインストールをやったことがあってもpaizaのスキルチェックをしたことがない人が多いみたいです。
個人的には初学者こそpaizaのスキルチェックをやるべきだと思っています。
今回は、そこんところを自分の経験からお話します。
また、自分が初学者のくせにアプリの個人開発をしたり、paizaのスキルチェックをしていて気づいたのですが、プログラミング初心者レベルだとググって出てきた情報みても何を言っているのか理解できないケースが多々あるんですよね。
ググると、Qiitaのプログラマーによるプログラマーのための記事が出てきたり、自分のメモ用なのか説明がほぼない謎ブログが出てきたりです…
なので、今後はBizCoCoでもちょいちょい初心者にわかりやすい技術系記事も発信していこうかな〜なんて思っています。
目次
paizaスキルチェックとは
paizaのスキルチェックは、D~Sランクまでの問題があります。
最初の自分のランクはEランクで、上位のランクを1問でも正解すると、そのランクへ昇格します。
どんな問題が出るのかはとにかくやってみるとわかるのでここでは説明しませんが、プログラミング初学者が初めてやってみるとよくわからなくて挫折するかもしれません。
でも、これを乗り越えると相当プログラミング能力が鍛えられるので、せめてCランクには到達できるよう頑張りましょう。
アルゴリズムを考える力がつく
アルゴリズムとは、問題を解決するための方法や手順のことです。
プログラミングの文法だけ知ってても、アルゴリズムは解けません。
paizaのDランクはそれほど難しいアルゴリズムは出題されないので、Dランクすら完璧に解けない人はプログラマーには向いていないのかもしれません。
何度も書いているうちに基礎的な文法が身につく
Dランクの中でも特に簡単な問題は、アルゴリズムを考えるというよりも、基本的な文法が身についているかが問われます。
なので、慣れないうちはDランクで正解率が96%を超えている簡単な問題からやってみましょう。
プログラミングを身につけるには、とにかく書く練習が必要です。
Dランクの問題を30問程度やれば、基本的な文法が身につくでしょう。
Progateを何周しても上達しない理由
ProgateのHTML/CSSの教材は結構よくできていて、初学者でも2〜3週するとホームページを自分で作れるようになるほどの力は身につくのですが、プログラミング言語に関しては10週したところでほとんど何も身につきません。
それは、10週したところでプログラムを書く量が少なすぎるからです。
たとえば、JavaScriptの「else if」を学習する項目で、
『年齢が20歳以上30歳未満のとき「私は30歳未満ですが、20歳以上です」と出力してください』
という課題があったとします。
すると、エディタ画面には以下のように最初からある程度のif文が書いてあるのです。
1 2 3 4 5 6 7 8 9 10 |
const age = 24; // ageの値が20歳以上30未満のとき、「私は30歳未満ですが、20歳以上です」と出力してください if (age >= 30) { console.log("私は30歳以上です"); } else { console.log("私は10歳未満です"); } |
これだと、else ifのを追加するだけなので、2行しか書くところがないですよね。
これが、いくらProgateだけやっても上達しない理由です。
Progateをやるなら最低限、最初からエディタに書かれたプログラムを全消しして頭から全部書いてください。(それでもifを使うってわかっているから超かんたんなんですけどね)
そうすると、意外と入力ミスでエラーが出て、何回も何回も書き直すことが出てくると思います。
そうやって何回も書いてて初めて脳に記憶が定着するのです。
プログラミングに限らず、人間の記憶はインプットよりもアウトプットを多くしたほうが記憶の定着率は良いのです。
Progateをそのままやってもアウトプット量が少なすぎて記憶に定着しません。
Progateだけやった人に、「じゃあ、今から何も見ないで〇〇を出力するプログラムを作ってください」と言っても多分なにもできないです。
「あれ?定数ってどう書くんだっけ?」「ここはifを使うの?switchを使うの?」
みたいな感じになります。
それともう一つ、Progateはあくまで文法の説明だけにとどまっているため、アルゴリズムを考える力はほとんど身につきません。
基本的なif文やfor文が書けたところで何も作れないので、プログラマになりたい人は、それらを駆使して自分で成果物を作れるようなプログラマ脳を養う必要があります。
模範解答はありません
paizaスキルチェックでは模範解答を載せていません。
なので、学校のお勉強のように「模範解答を見てやり方を覚える」なんて方法で勉強はできません。
自分の頭をグルグル回して脳に汗かきながら解答を導き出してください。
これに慣れると本当に力が付きます。
paizaスキルチェックは難しい?
paizaスキルチェックを難しいと言う人もいれば、簡単と言う人もいます。
少なくとも、今まで全くプログラミングに触れていなかった私が趣味でProgateとドットインストールを半年ほどやったあとに初めてスキルチェックをやってみた感想は、「何これ?意味わからん」でした。
標準入力ができないとお話にならない
paizaスキルチェックは、標準入力のデータに基づき、標準出力し、それが合っていればOKという問題になっています。
標準出力に関しては、
JavaScriptの場合→console.log(“Hello World”);
Swiftの場合→print(“Hello World”)
のこれです。
このくらいはProgateしかやったことない人でもわかりますよね。
しかし、標準入力ってのがなかなか初学者には分かりづらいんです。
現役のエンジニアでも標準入力は使わない人は使わないので、初めてpaizaスキルチェックをやると一瞬とまどいます。
たとえば、こんな問題があるとします。
【問題】
縦3cm、横4cmの四角形の面積を計算しなさい。
【標準入力】
3
4
【期待する出力】
12
つまり、2行の標準入力をどうにかして受け取り、それを定数や変数に代入し、掛け算して出力すればいいわけです。
上記では1行目に3、2行目の4の数値が与えられていますが、これがどんな数値でもきちんと四角形の面積が出力されるようなプログラムを書けばいいのです。
プログラミング言語は何で書いても良いのですが、Swiftで書くとこうなります。
1 2 3 4 |
let length = Int(readLine()!)! //縦の数値3をlengthへ代入 let width = Int(readLine()!)! //横の数値4をwidthへ代入 print(length * width) //12が出力されるよ! |
ちなみに、Swiftの場合は上記のように非常にシンプルなのですが、これがJavaScriptだとメチャクチャ複雑になります。
さらに、標準入力の方法が1行ごとじゃなくて、スペース区切りで与えられる場合や、N行与えられる場合などいろんなケースがあり、これができないとアルゴリズムを考える以前の話になってしまいます。
なので、まずはいきなりスキルチェックから始めるのではなく、標準入力セットをやってみるのが良いでしょう。
調べながらやってもいいの?
もちろん調べながらやってもOKです。
現役のプログラマーでもわからないときはググります。
なので、自分で調べる力も養われます。
答えがわからないどうすればいい?
paizaスキルチェックの問題をSNSやブログなどで公開することは禁止されています。
しかし、問題をそのままではなく少し変更、または、わからない部分だけ切り取る形で質問サイトを活用する分には大丈夫です。
質問サイトは、エンジニアに人気のteratilを使いましょう。
teratailはYahoo!知恵袋のような質の低い質問には誰も答えてくれないので、気軽に質問できるという点で言うと少しめんどくさいですが、いい機会なので慣れておきましょう。
最低限のルールを守って質問すれば、高レベルな解答がバンバン付きます。
逆に、「ググれカス」と言われそうなゴミみたいな質問はYahoo!知恵袋でも良いかと思います。
paizaスキルチェックのランクを簡単に上げる方法
ぶっちゃけランクアップだけなら簡単です。
なぜなら、1回でも上位ランクの問題に正解すればランクが上がりますし、上位ランクでも下位ランクより簡単な問題があるからです。
それは、問題の正解率を見るとわかります。
正解率がメチャクチャ低い問題は難しいのです。
逆に、正解率が高い問題は簡単なので、それだけやれば初学者でもBランクまでは簡単にランクアップできます。
なので、ランクアップにあまりこだわっても意味はありません。
最初はDランクを100問こなしましょう。
Dランクでも難しい問題があるので、簡単なものから徐々に慣れていきましょう!
関連記事
-
-
「VBA」「マクロ」「VBE」「マクロの記録」の違い!Excelド素人にもわかる説明
「私、VBAはできないけどマクロはできるんだ~」 という人たまにいますよね。 これ、実は
-
-
iOSアプリを作ってみてわかった初心者がぶつかる9個の壁
プログラマとしての経験値が少ない素人に毛が生えたぐらいの私が、iOSアプリをやっと申請までこぎつけた
-
-
【iOSアプリ(ゲーム)の作り方】素人がリリースするまでの完全ロードマップ
現在プログラミングがまったくできない初心者がスマホアプリをリリースするためにやるべきことをまとめまし
-
-
【完全無料】バックエンドエンジニアになるための学習ロードマップ
プログラミングスクールに通えば次に何を勉強すればいいのか教えてくれますが独学だと次に何を勉強すればい
-
-
プログラミングスクールはアフィカスのおかげで良い評判しかない
私はプログラミングスクールに通ったことはまったくなく、ネットで無料で手に入る情報や本を3〜4冊買って
-
-
プログラミング脱初心者になるための3つのステップ
Progateやドットインストールで一通り基礎を学び終わったプログラミング初心者は「次になにをすれば
-
-
【悲報】プログラミングは稼げません。。。「簡単に稼げる」という人の正体
「プログラミング学べば職に困らない」とか「プログラミングで副業でも稼ぐことができる」なんて話を数年前
-
-
プログラミングと英語、子供に学ばせるならどっちがいい?
2011年より小学5,6年生から英語が必修化になりました。そして、2020年には小学3年生で英語を必
-
-
無料プログラミング学習サイトprogateがすごい
昔プログラミングを学ぼうと思ってPHPの入門書を購入して試してみたのですが、1日で挫折しました(笑)
-
-
プログラミング独学の勉強時間は?|プの字も知らない初心者の経験
この記事は、プログラミングのプの字も知らないような全くの初心者の方向けのものです。 何を隠そう
Comment
paizaのDランクの問題が解けないですけどプログラマーになりたいです
解けるようになればいいのでは?