情報デザイン専攻

PICK UP !授業

02

プログラムを言葉にしながら
コンピュータとの会話の仕方を学ぶ

プログラミングの基礎

堤 江美子

Emiko TSUTSUMI

磯山 直也

Naoya ISOYAMA

  • 2年生必修科目
  • 火曜2限

コンピュータを使ってあらたな問題を解決するとき、一般的なアプリを利用するのとは異なり、まず独自に解決方法を考え、「プログラミング言語」を用いてコンピュータに指示を与える必要があります。この授業ではコンピュータとの会話の仕方、いわゆるプログラミングの基本を学んでいきます。

プログラミングの基礎1-min

パソコン教室での授業風景

なぜプログラミングを学ぶの?

早い時期にプログラミングの持つ
基本的特徴をしっかり身につけよう

 情報デザイン専攻の学生は、4年間で段階を踏んで情報デザインの技術を身につけますが、その際にさまざまなプログラミング言語を利用することになります。そこで、早い時期にプログラミング言語の持つ基本的な特徴をしっかり身につけ、各種「プログラミング言語」(コンピュータに対する動作の指示を与えるための人工言語の総称)へ応用できることを目標に学んでいきます。

 この授業で最も大事なことは、まず「プログラムが読める」ようになることです。そのために、たとえば【def cal_length(string): 】という1行は、『stringという名前の文字列をデータとして受け取って、文字列の長さを計算する関数 [cal_length] を作る宣言』と読むなど、「プログラムの各行を言葉にしてみよう」と教えています。要は日本語のように文脈をつくるわけです。そして、多くの問題を解くことで応用性も高まるので、授業の進行にそって多様な課題を解いてもらっています。

プログラミング教育で
論理的思考力を育てる

例えば、プログラミングをハーブティーをいれることに置き換えて考えてみましょう。

まず、ポットに水をいれる。火にかけてお湯を沸かす……

この順番を間違えるとハーブティーはいれられません。

プログラミングも同様に順番があり、そこを論理的に理解し、組み立てることで動かすことができます。

授業ではどんな言語を学ぶの?

幅広い分野で使用されている
「Python」で図形を描く練習

 本授業で使用する言語は「Python」(パイソン)です。PythonはWeb作成や人工知能(AI)の開発、データ分析、ブロックチェーン(ネットワーク上にある端末同士を直接接続し、暗号技術を用いて取引の記録を分散的に処理・記録するデータベースの一種)の開発など幅広い分野で使用されている言語です。Pysonは非常に短く少ない命令でプログラムを書くことができるので、年々人気が高まっています。

 授業では、条件によって違う作業に切り替えたり同じ作業を繰り返したりするプログラミング独特の構造を理解するために、Python上でタートルグラフィックス(画面上の亀をプログラミングで操作して、図を描画する教育用のアプリ)を使って、遊びながら視覚的に学ぶ時間もあります。

 本授業は2年前期の必修科目で、進め方は「プログラミングの基礎」(講義)と「プログラミング基礎演習」が、週に1回2時間続きです。当日の「講義」では練習問題の入力・実行・観察作業を行い、その後の「基礎演習」では演習課題を行います。これらの授業にはTA(Teaching Assistant:教員のサポート)が各クラス1名つき、学生の質問にはその場ですぐに対応します。

プログラミングの基礎2

タートルグラフィックスを使って、遊びながら視覚的に学ぶ。亀の移動と回転で描いた星。

プログラミングの基礎3

学生によるPython応用作品。Pythonで画像処理を行って手描きイラストからクロスステッチ刺繍の図案を作成した。

どんなことを目的に学べばいい?

プログラミングの知識を生かして
先端IT人材を目指すのがトレンド

 卒業後は、システムエンジニア(SE)になる学生も多く、一般企業に就職して社内SEや外部のSE職に就く場合もあります。さらにITスペシャリストとしてプロジェクトマネジャーになっていく人、フリーランスでSE職に就く人もいます。直接、いわゆるプログラマーになる人は多くないですが、SEとはシステムの設計・構築を行う仕事です。顧客のニーズを的確にとらえ、最大限可能なシステムを設計・提供するため、SEがプログラミングを理解していることは重要で、プログラマーとの意思疎通にも有効に働きます。これは大きなセールスポイントでしょう。

 SEの将来性について見ると、従来型のIT人材よりも「先端IT人材」と呼ばれる人々が重要になるので、例えば、AIやビッグデータ、クラウドサービス、情報セキュリティ、IoTやDXなどの領域で人材のニーズが高まると考えられます。Webアプリをビジネスにするエンジニアも将来性が高く、Webスクレイピング(取得したHTMLから任意の情報だけを自動で抽出する技術)との親和性が高いPythonの知識と技術は、この分野でも有利になります。

プログラミングの基礎4-min

メッセージ

 「プログラミング」と言うと、パソコンの前に座ってプログラムだけ書き続けている人というイメージがあるかもしれませんが、そうではありません。また、本専攻は卒業後にプログラマーになるための専攻でもありません。さまざまな問題解決の糸口を拡げるために、最低一つのプログラミング言語を学び、目的達成につながる「論理的思考の訓練」を実践してほしいと思います。

 最近ではChatGPTのようなAIチャットボットが登場し、プログラミングを簡単に作成できてしまうので、教育も新たな局面にあると言えます。ただし、チャットボットにうまい質問を入力することだけ習得したのでは、進歩にはつながりにくいです。AIを有効活用する上では、各分野の初心者がAIと上手く付き合っていく方法を考えることが重要だと思います。

プロフィール

堤 江美子(つつみ えみこ)

お茶の水女子大学大学院家政学研究科(工学博士・東京大学)。東京都世田谷区生まれ。薬局を営む両親の元で育つ。とにかく内弁慶で幼稚園に行くのを拒むような子どもだったが、何でもものづくりが大好きだった。特に独自の工夫に魅力を感じ、大学時代は祖父の残した衣服をリメイクして着ていた。好きが高じて、いまは両親のために(ハーフミラーとLEDテープライトによる無限回廊を組み込んだ)まるで舞台のような独創的で明るい仏壇の制作を楽しんでいる。

KEYWORD

プログラミング

情報工学

ゲーム開発

プロジェクションマッピング

画像処理

AI

データサイエンス

データサイエンティスト

問題解決

視覚的表現