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


予習・復習をする。

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

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

1週間に3時間、15回だけの学習でプログラミング言語がひとつマスターできる、 などということは有り得ません。ある程度の時間が必要です。 短くてもよいので、 できるだけたくさんのプログラムを作成することが、マスターへの唯一の道です。

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

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

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

プログラミングはできて当然、と覚悟する

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

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

なお、電子通信工学分野や信頼性工学分野に進む場合でも、 プログラミングの力が大きな武器になることは間違いありません。

C言語は知っていて当然、と覚悟する

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

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

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

信頼性情報システム工学科の卒業生なら複数のプログラミング言語は使いこなせて当然、 と世間では思われていると覚悟して下さい。 一つの言語を覚えるだけで全ての用途でOK、というほど世の中は進んでいません。

目標を明確に持つ

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

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

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

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

文法を試行錯誤しない

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

ググらない

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

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

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

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

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

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

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

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

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

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

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

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

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

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

プログラミングIIの単位を取ってもC言語の全てがわかったと思わない

プログラミングIIで学習することはC言語の初級編にしかすぎません。 C言語を一通り理解したと言えるのは、少なくとも、K&R

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


Koji Kagawa (kagawa@eng.〜)
(〜の部分はSPAM mail予防のため省略します。)