プログラミング 大学生活

大学のプログラミングの授業が難しくて分からない人がやるべきこと

普通科の高校から大学の理系学部に入った多くの人にとっては、数学や物理と異なり、大学で初めてプログラミングを習うことになります。しかも多くの場合がC言語です。僕の実際の体感では約8割の学生(当時の僕も含めて)は自力でプログラミングのレポートを作成するのはほぼ不可能です。挙げ句の果てにはYahoo知恵袋にレポート課題をそのまま投げて大学の教授にバレた(その後は想像に任せます)人が実際にいました。ちなみに残りの2割はほぼほぼ高校時代までにプログラミングをしたことがある人です。

そこで、今回はプログラミングの授業は難しくて分からない人に向けて、すぐに役立つ知識から幅広く解説していきたいと思います!解説で用いる言語はCです。

【すぐにできること編】大学のプログラミングの授業が難しくて分からないとき

エディタ(IDE)の乗り換え

まず、補完機能と構文チェック機能のないエディタはさっさと捨てるべきです。例えば、

プログラミングのエラー・詰まるところあるある(C言語)

  • セミコロンを打ち忘れていた
  • for文やif文が入り組んでいて「なんでこの文が実行されないんだ!」現象にハマる
  • 挙句の果てにはif文のカッコ()の中にfor文を入れるが、気づかなくてエラーが出る(逆もしかり)。
  • どこでエラーが出ているのかそもそも分からない(C言語のエラー文は初学者には解読が難しい)
  • floatとint同士を計算していた



上の様なしょうもないエラーで30分、1時間、ひどい時には日を跨いでも解決しないのはあるあるだと思います。ですが、上のエラーはエディタを変えるだけで全て解決します。というかそもそもエラーにすらならない事がほとんどです。

上記のエラーは主に補完機能と構文チェック機能がないのが原因です。僕は、大学のプログラミングの授業では、ターミナル上でEmacsを起動してコードを書いていたので、そもそもエディタを使っていませんでしたし、エラーがバンバン出まくって萎えていました。おそらく同じ様な境遇の方は多いと思います。

そのため、まずはプログラミングの勉強云々の前に、エディタを変えてみましょう。それだけで悩みの半分くらいは解決します。

C/C++ならCLion + Tabnine一択

まずは以下の画像をご覧ください。

皆さんは上のint mainの部分を書くのに何回キーボードを打ちますか? アルファベットと記号の数を合わせると35文字あるので、「35回(Shift等はのぞく)」と答えた方が多いと思います。

しかし、僕は上のコードを打つのにたったの3回しかキーボードを打っていません。具体的には「i」と「↓」と「Enter」キーの2つです。
まず、「i」を押した時点で以下の様に大量にサジェストが表示されます。


ちょうどサジェストでint mainのやつがあったのでそれを↓を一回押してからEnterを押しただけです。この様な感じで、周りのみんながせっせと35文字打ってる間に補完機能を駆使しまくって先へ先へと進む事ができます。
ちなみに、上の画像でint mainの右側にTabnineとあるのが見えると思います。これはCLionよりさらに強力なコード補完機能で、プラグインとしてCLionの中でインストールする事ができます。無料なのでこれを入れない理由は1mmも存在しません。

また、エラーの場合はコンパイルする前に、エディタ上で赤線が入る事で見分ける事ができます。

例えば、以下のコードを見て、すぐにエラーが発生する場所を突き止められますか?

int main(int argc, char **argv) {
    for (int i = 0; i < 100; i++) {
        if (i % 3 = 0 ){
            printf("%s", i)
        }
    }
}

これをCLion上で見ると以下の様になります。赤線と黄線でエラー、警告を表示してくれます。


しかも、赤線や黄線のところにマウスを持ってくると、エラー内容だけでなく、その解決法も提示してくれます。


この左下の青い「insert ';'」を押せばその部分のエラーは解消されます。

CLionはその他にもコンパイルと実行を「Ctrl + R」で一発で実行したり、デバッグ機能で動作が分かりにくいところを集中的に見る事ができたり、コード整形を一瞬で行ったり、便利な機能がたくさんあります。
CLionは通常は有料ですが、大学生なら無料で使う事ができます。是非使って見てください。コード書くスピードが数倍〜数十倍(誇張なし)になるのが実感できると思います。

JetBrains Special Offers (For Students and Teachers)


Tabnineは、CLionを立ち上げたら、Preferences -> Pluginsで検索すれば出てきます。

デバッグ機能を使いまくる

結局、プログラミングが分からないのは、大きく「まずコードが思いつかない」と「コードを書いたけどうまく動かない」の2つに分類されます。前者はやや時間が必要ですが、後者に関してはデバッグ機能を使って勉強するのがおすすめです。

例えば、for文なんかは処理が分かりにくい事が多いかと思いますが、以下の様にデバッグをする事で具体的に今何番目のループに入っていて、どの様な処理を行っているのかが分かります。


これを繰り返すだけでも、プログラミングの基本的な構文の理解のスピードが上がります。

大学の授業を聞いていない人のためのC言語講座を作ろうと思っています。

まだ計画段階ですが、これから、昔の僕のように、大学の授業が眠くて聞けなかった人のためのC言語講座を作ろうと思います。かなりのスローペースだと思いますが、更新していきたいと思います。

  • この記事を書いた人
おととらべる

おととらべる

プログラミングで小銭を稼いだり、音楽を作ったりしている理系大学生です。 一人旅で次に行きたい国は、 エジプト、アルバニア、アルゼンチン、ボツワナ、ナミビア、オマーンです。

-プログラミング, 大学生活
-, , ,

© 2021 おととらべる Powered by AFFINGER5