文化情報学科

プログラミング2

世の中を快適にする
アプリ制作を通じて、
ロジックを組み立てる力・
「プログラミング脳」を鍛える。

プログラミングで論理的な思考と表現を学ぶ

2年次に行う「プログラミング2」では、プログラミングを行うにあたって基本的な考え方やアルゴリズムなどを理解し、簡単なアプリケーションを作成します。アルゴリズムとは、問題を解決するための一連の流れのこと。ある仕事をコンピュータにさせる場合、どのような手順で作業をしていかなければいけないのかを考える必要があります。「自分の考えをプログラミングに反映し、狙い通りの結果を得る」それがプログラミングの醍醐味ともいえるでしょう。自分の作ったアプリが、多くの人の暮らしを快適にすることもできると思うと、なんだか楽しくなってきますね。

考えることを重視しつつ、確かなスキルを身に付ける

授業は、まず作ろうとするプログラムの仕様を把握して、その意図を汲み取ることからスタート。鳥居先生は、プログラムの本質を捉え理解するといった、プログラミング的思考を身につけることの大切さを説きます。その後、プログラミング作業に移ります。とはいえ、何もないところから、多少量のあるコードを書くのは難しいので、まずはサンプルコードをそのまま書き写していくことから始めます。書き写す過程で仕様を分けて考え、部分的な動作を実現するコードが、プログラム言語の文法をどのように用いて書かれているか説明を聞き、変数に設定される値などを変化させながら、コードの動作を理解していきます。コードを書き写す手法は、写経プログラミングと呼ばれ、賛否が分かれますが、プログラムの文法書をひたすら学習することは、あまり面白いものではありません。そこで、仕様からの構想の後、泥縄式写経プログラミングを行います。泥縄とは、泥棒に入られてから、泥棒を捕まえるための縄をなうということを意味する言葉で、ここでは、写経プログラミング時に出てきた文法などを、出てきたときに説明を聞きながら理解することです。また、書き写しても、書いたコードにミスがあればプログラムは正常に動きません。その際に出るエラーメッセージを読み解き、解決方法を探して修正することを行います。仕様からの構想の後、泥縄式写経プログラミングで、コードを書き写し、チェックし、間違いがあれば原因を究明し、修正をするといった作業を繰り返すことで、人間が行いたいと考えている作業をプログラミングでどのように自動的にコンピュータに行わせるかということを身に付けていきます。このようにして、ようやくプログラムが思い通りに動いた時の感動はひとしおです。プログラミングの実習は、自分が命を吹き込んでいく作業の連続。意欲があればあるほど、あなたの世界が無限に広がっていくことでしょう。

あらゆる場面で求められるプログラミング的思考

鳥居先生の話には、知識や経験に基づいた例え話が多く出てきます。これは、プログラミングに必要な「抽象化思考」によるもの。抽象化とは、余計なものを省いて物事の本質を捉えることですが、似たような事象から共通の本質を見つけ出す(=例え話をする)ことで、それをもとにどんどん思考を広げていくことができます。この力は、プログラミングだけに限らず、すべての問題解決の基本となる考え方です。あなたの描く将来の夢がSEやプログラマでなくても、ここで得たプログラミング的思考は、いろいろな場面で役立つことでしょう。そして、様々な分野の学びに触れられる文化情報学科だからこそ、これからの情報化社会を広い視野を持ってデザインしていくことができるはずです。

文化情報学部 文化情報学科 鳥居 隆司 教授

プログラミングは単なるツール。
あなたの考えが主役です。

文化情報学部 文化情報学科 鳥居 隆司 教授

「プログラミング2」では、「Visual Studio.NET」による統合開発環境で、プログラミングをしていきます。実際にコンピュータを操作しながらアプリを作っていきますが、それは決してプログラミングのすべてではありません。プログラミングにおいて最も大切なことは、本質を捉え理解するといったプログラミング的思考で考えることですから。
本当の意味でプログラミングの楽しさが実感できるのは、「プログラミング応用」に進んでからでしょう。それまで学んだプログラミングの知識を駆使して、より複雑なアプリ制作にチャレンジしていきます。自分で考え、企画し、カタチにしていく過程で、様々な問題に直面します。その都度、プログラミング的な思考を巡らせ解決策を導きだしアプリを作り上げていくのです。完成したアプリが思った通りに動いた時、楽しさを実感できるはずです。自分の想いを形にする喜びを体感するためにも、まずは基本的なプログラミングの考え方を身に付けてください。

※この記事は、2018年度の授業内容を取材したものです。