「プログラミング」受講上の心構え


予習・復習をする。

授業時間では限られた話題にしか触れることができません。 授業で話すことは、あくまでも自分で勉強するためのキッカケだと考えて下さい。 必ず予習・復習をしてきて下さい。

予習
教科書に書かれていることに一通り目を通し、 どういう事柄を学習するのか確認する。 独力で理解できるところまで、理解を試みる。
授業
予習で理解したところに勘違いがなかったか確認する。 特に予習で理解できなかったところを集中して聴く。 教科書に書かれていない事柄や、教科書には少ししか書かれていないのに強調されている事柄には注意する。
復習
授業でも理解できなかったところを、もう一度学習する。 授業でやらなかった教科書・プリントの演習問題を解いてみる。

1週間に3時間、合計45時間だけの学習でプログラミング言語がひとつマスターできる、 などということはあり得ません。ある程度の時間が必要です。 奇妙に聞こえるかもしれませんが、 プログラミングの学習は自転車に乗ること・泳ぐことのそれに似ています。 短時間の学習を週に一回程度しても上達しません。どこかで集中して学習する必要があります。 また、一つ一つは短くてもよいので、 できるだけたくさんのプログラムを作成することが、マスターへの道です。

授業で触れなくても教科書は隅まで読む

授業時間は限られているので、すべての話題に触れることができません。 結局、プログラミングは自分で勉強しないと身につきません。

情報系の分野は次から次へと新しい技術が出てくるので、社会人になっても、 勉強の連続です。一から十まで、手取り足取りすべてを教わらないと、 勉強できないようでは、社会に出て役に立つ人材になれません。

プログラミングはできて当然、と心得る

電子・情報工学科は情報工学系の学科です。 情報工学系の学科の卒業生ならプログラミングはできて当然、 と世間では思われていると覚悟して下さい。 ワードやエクセルなどを使いこなすことは、 どのような学部・学科であっても今日では当然のことです。 自分でプログラムを作成できてこそ、情報系の学科の学生です。

もちろん、プログラミングが苦手な人がいることは仕方がないことで、 そのような人にも電子・情報工学科内に進路はありますが、 それでもプログラミングに関する常識的な知識は持っておく必要があるでしょう。

重要: 情報環境コースの希望者が定員を超過した場合、選抜には「電子・情報プログラミング」と 「情報数学」の成績が重視されます。

なお、電子情報通信コースに進む場合でも、 プログラミングの力が大きな武器になることは間違いありません。

C言語は知っていて当然、と心得る

情報工学系学科の卒業生ならC言語は使いこなせて当然、 と世間では思われていると覚悟して下さい。 他の言語を勉強するときも、C言語の知識が役に立つことはひじょうに多いです。

なお、言わずもがなですが、電子・情報工学科の2年次以降の計算機関係の授業のほとんどは、 C言語の技能を前提としています。

複数のプログラミング言語は知っていて当然、と心得る

これは、「プログラミング」「電子・情報プログラミング」履修後の話になりますが、 情報工学系学科の卒業生なら複数のプログラミング言語は使いこなせて当然、 と世間では思われていると覚悟して下さい。 一つの言語を覚えるだけですべての用途でOK、というほど世の中は進んでいません。

目標を明確に持つ

自分なりに、「こういうプログラムを作ってみたい」という目標を持つと、 やる気がでて、学習効果が高くなります。

友人の解答をそのままコピーしない

当然のことですし、絶対ばれます。 友人やTAにわからないところを聞くのはもちろん構わないのですが、 解答そのものではなく、考え方を聞くようにして下さい。

逆に教える立場になった場合も、解答そのものではなく、 考え方を伝えるようにして下さい。 (それが自分の理解度を深めることにもなります。) 解答のコピペは教えた側も同罪です。

文法を試行錯誤しない

文法をちゃんと覚えずに、コンマやカッコをつけたり、はずしたり、 もっともらしく思える組み合わせをすべて試してみようとする人がいます。 そのような組み合わせはあっという間に1,000通りを超えて、 人間の能力の限界を超えます。ちゃんと文法を覚えて下さい。 プログラミング言語の文法は、英語や日本語などの自然言語と比べると、 はるかに単純です。

ググらない

キーワードがはっきり決まっているようなこと、例えば、

のようなことならググっても構いません。しかし、 プログラミングの演習で出すような課題の解き方を、 Google などで調べても無駄です。 目的とするものに近いプログラムは Google で見つかるかもしれませんが、 そのプログラムを理解して書き換えることが出来るくらいならば、 最初から作った方が早くできます。

それに、実社会に出て演習問題でないプログラムをつくるとき、 このようなやり方が全く役に立たないのは言うまでもありません。

「コンパイルができた」 = 「プログラムができた」ではない

コンパイラを通れば、よく動作の確認をせずに、 課題を提出する人がたまにいますが、 コンパイルができるのはプログラムの作成のほんの最初の一歩にすぎません。

インデントを正しく行なう

プログラム中のインデント(字下げ)は首尾一貫してつけて下さい。 採点の時は、 インデントができないのは、プログラムの構造を理解していないからだ、 と判断します。

プログラムは人が読むための文章であることを意識する

例えば、関数や変数の名前を意味も考えずに例題のまま使っている人がいますが、 書き換えたプログラムでその名前ではヘンなことがよくあります。 プログラムもコンパイルできて実行できればOKではなく、 他人に見せる文章の一種だと認識して下さい。

間違いを防ぐための、良いスタイルを身に着ける

プログラミングがある程度できるようになると、今度は逆に 「人間はいかに間違いを犯しやすいか」「人間はいかに間違いに気付かないか」 ということが身に染みてわかってきます。その間違いを見つけることも重要ですが、 間違いは犯しやすいものだ、ということを受け入れる必要があります。 プログラミングには、そもそも間違いをできるだけ起こさないための良いやり方がいくつもあり、。 上で挙げた「インデント」もその一例です。

単に文法を覚えるだけではなく、このような良いやり方も身に着けていく必要があります。

エラーメッセージは良く読む

エラーメッセージの内容をよく理解せずに、 すぐに友人やTAに質問する人がいます。 エラーメッセージを良く読んで理解しようとして、 それでもわからない時に初めて質問して下さい。

可能性のあるエラーの種類は多すぎて、 授業でエラーの種類とその対処法を教えることは(ほとんど)できません。 その代わり、大抵はエラーメッセージに対処するための情報が書かれています。

なお、Visual Studio は日本語でエラーメッセージを出してくれますが、 2年生以上で使用するツールには、 英語でエラーメッセージを出すものも多くあります。 情報系で英語は避けて通れない、と覚悟して下さい。

問題がどこかを見つける

プログラムが思った通り動作しないとき、「どこが間違っているか教えて下さい。 どこが間違っているかわかれば直せます。」 と言う人がいます。どこが間違っているかを見つけるのがもっとも肝心なことで、 それがわかれば誰でも直せます。

また、「これであっていますか」と教員やTAに聞く人がいます。 こういう質問に対しては、一目見て間違っていればそれを指摘できますが、 完全にあっているかどうかチェックすると時間がかかるので、 授業時間中に各個人に対してそこまではサービスできません。 チェックする責任はあくまでも学習者個人にあります。

どうしてもわからなければ積極的に質問する

上で述べたこととは逆に、30分も1時間も質問せずに自分で悪戦苦闘している人もいます。 プログラミングには、はじめのうちは気付きにくい罠もたくさんありますから、 自分でよく考えてもわからない時は、どんどん教員・TAに質問して下さい。

「プログラミング」、「電子・情報プログラミング」の単位を取っても C言語のすべてがわかったと思わない

「プログラミング」、「電子・情報プログラミング」で学習することはC言語の初級編にしかすぎません。 C言語を一通り理解したと言えるのは、少なくとも、K&R という略称でお馴染の本:

  プログラミング言語C 第2版
  B.W.カーニハン & D.M.リッチー 著
  石田 晴久 訳
  共立出版
(またはこれに相当する本)を読破してからです。

戻る


Koji Kagawa