第一回-01 何故プログラミングを学ぶのか

1年生の「情報処理演習」にて、Visual Basic for Applications (VBA) という言語を学んだ。
その中で、「If 文による条件分岐」、「For 文や While 文による繰り返し」、「配列」などについて学んだはずである。

これらは、「手続き型言語」という種類のプログラミング言語 (Basic 以外では C、C++、Java など) では
必ずと言って良いほど登場する考え方
であり、
これらを習得することはプログラミング言語を習得する上で必要不可欠であると言える。

では、そもそもプログラミング言語を学ぶとどういう際に役に立つのであろうか。
ここでは皆さんの大学生活に関連性の高い例を幾つか紹介する。

例1.カメラからの映像を加工する

この例は動画像に対する例である。この場合の「動画」というのは1秒間に約 30 回または 60 回画像が切り替わるものと思えば良い。

最近は車にカメラを搭載して車外の情報をドライバーに伝えるシステムが増えている。
下の図は、車の周りの移動物体を検出してドライバーに危険を伝えるシステムであり、 2009年度の卒業論文のテーマの一つであった (例がやや古いですが)。



あるいは防犯上カメラを設置するシステムがあるが、そのような場面で対象物を探したり追随したりするという用途が考えられる。

下の動画は私の研究室の学生の研究で、顔認識をしてそれに追随するカメラである。




例2.タブレットで映像を見ながらルンバを制御する

次の例も本大学の卒業論文のテーマからのものである。

120度以上の範囲を見られる広角レンズを用いた応用例を考える、というテーマである。
それに対し、2015年3月に卒業した学生が作成した製作物が、下の動画で見られる である。



皆さんは機械工学を学ぶ学生であるので、作ったものを動かせることは当然だと思うかも知れない。

しかし、このシステムを実現するには、下図のように である。



恐らく工学院大学で「ものづくり」という言葉を何度も耳にしたことと思うが、「もの」を作っただけではその「もの」は動かない。
ものを動かすには「回路」、「情報」、「プログラミング」などの知識が必須である。



コンソールアプリケーションとGUIアプリケーション→

オンラインコンパイラで C/C++ を自習しように戻る