ふくだぶろーぐ

福田知弘(大阪大学 大学院工学研究科 環境・エネルギー工学専攻)のオフィシャルブログです。

都市とITとが出合うところ 第40回 情報処理教育プログラム(2)

中身を理解する
 筆者の所属する環境・エネルギー工学科で学部生に提供している情報処理教育プログラムについて、前号はBIM(Building Information Modeling)ソフトを用いた環境デザイン演習について紹介した。

 高度情報社会の時代において、大学(院)を卒業してエンジニアとしての進路を目指す場合はもちろん、ビジネスに関わる上においても、ITの知識や技術スキルの差は、仕事の生産性に大きく影響する。現在の学生たちは、幼少の頃よりパソコンや携帯端末に接してきたデジタルネイティブだが、ハード・ソフトやそれらによるサービスの高度化・複雑化に伴い、その内部構造はブラックボックス化しており、触れる機会は少ない。そのため、ハード・ソフトがバージョンアップされてメニューが変わっただけで、もはやお手上げという状況が見られる。このような状況において、プログラングをはじめITの基礎を身につけておけば推測が可能となり、このような状況は少なからず回避できるであろう。当学科において、これを担う中心科目は、情報活用基礎E(学部2年生1学期)と情報処理(同2学期)であり、5年前に内容を大幅改定した。

 情報活用基礎Eは、2年生1学期に開講する必修科目である。約80名の受講生が、Windows PCの並ぶ情報教育室で、講義を受けながら演習を行う。4名の教員が分担して担当している。講義内容は、情報処理技術者試験経産省認定国家資格)のレベル1(ITパスポート試験)のテクノロジ系をできるだけ網羅した以下の内容としている。

  1. システムの基本操作、ファイル操作、メールの送受信(情報量の単位、文字表現など)
  2. 図書館ガイダンス
  3. コンピュータ・アーキテクチャ
  4. テキスト(テキストエディタ、文書作成ソフトの取得)
  5. 図・画像(ドローイング,画像作成ソフト(GIMP)の取得)
  6. プログラミング①(プログラムの考え方,演算子フローチャート等)
  7. アルゴリズムの基本構造①
  8. データ及びデータ構造
  9. プログラミング②
  10. 表計算(算術論理演算が可能な解析ソフトとしての表計算ソフト(Excel)の習得①)
  11. 表計算表計算ソフト(Excel)の習得②)
  12. 表計算表計算ソフト(Excel)の習得③)
  13. アルゴリズムの基本構造②、ネットワーク
  14. 課題発表会

Processingによるプログラミング
 以下、私の担当回を中心にご紹介しよう。

「3.コンピュータ・アーキテクチャ」では、殆どの学生がPCの中身を見たことがないことを受け、古いPCを分解しながら、各パーツを紹介(図1)。人間も知恵熱が出るように、CPU(=PCの頭脳)も熱が出る。なので、CPUには冷却ファンが必要などとウンチクを交えて。80名が一度にPCを見ることができないので、約25名/チームに分けてPC分解デモを実施。残りのチームは、MIPS値やデータ量の計算問題やタイピング演習(e-typingの英語タイピング:目標はまずBランク!)を実施してもらう。講義の最後に、Processingのチュートリアルサイトを紹介して、予習アナウンス。

f:id:fukuda040416:20170616115516j:plain
図1 PC分解デモ

「7.アルゴリズムの基本構造①」では、整列(ソート)の基本アルゴリズムである、隣接交換法、基本選択法基本挿入法を。アルゴリズムの流れが理解しやすいよう、パワポのアニメーションで解説する。ただ、アニメを眺めるだけでは、「わかったつもり」で終わる恐れがあるため、手書きの演習問題を加える。アルゴリズムを一通り解説した後、Processingの実装内容を解説する(図2)。

f:id:fukuda040416:20170616115805j:plain

図2 Processing: 隣接交換法

 Processingは、MITメディアラボで開発されたプログラミング言語であり統合開発環境IDE: Integrated Development Environment)である。Processingはサンプルも多く、プログラムを書き込んで実行すると、自動的にコンパイルしてくれ、エラー表示も比較的わかりやすいため、初学者にも扱いやすい(図3)。講義の最後に、Processingを用いたシステム開発課題を出した。最終回は全員プレゼンである(後述)。

f:id:fukuda040416:20170616121125j:plain
図3 Processing画面例

「13.アルゴリズムの基本構造②、ネットワーク」では、ネットワークの概念を説明した後、クライアント―サーバーネットワークを体感してもらうべく、2~3人でチームを作り、サーバー役とクライアント役に分かれて、Processingでサーバープログラム、クライアントプログラムをそれぞれ入力する。IPv4アドレスが個々のPCで異なるため、プログラムを単純にコピーするだけではできず、コマンドプロンプトを起動して、ipconfigコマンドを用いて、IPv4アドレスを調べる必要がある。GUIに慣れ親しんでいるせいか、正確なタイピングが不慣れなせいか、コマンドプロンプトの操作は意外に苦労していた。プログラムを実行すると、クライアントサーバ側のPCに表示されたキャンバス上をマウスでクリックすると点が描かれ、サーバー側のキャンバス上の同じ座標にも点が描かれる(図4)。

f:id:fukuda040416:20170616115842j:plain
図4 Processing: ネットワーク演習

「14.課題発表会」では、約1か月前に提示した、Processing開発内容をプレゼンテーションしてもらう。各受講生はテーマ「夏」からイメージを膨らませて、Processingを用いて、「静止画」「動画」「インタラクティブ動画」のいずれかを作成してもらう。発表会当日は、90分の授業時間で受講生全員がプレゼンするという条件から、50秒/人にて、作品の概要と開発したProcessingのデモを交えて順にプレゼンテーションしてもらう。画面内を金魚が泳ぐ作品、自分で撮影した線香花火を動画にして再生させた作品、マウスをクリックすると花火が上がる作品、ロールプレイングゲームなど、様々であった。1か月という短い期間で、自ら、または友人と試行錯誤しながら、何らかの作品を作り上げる作業は大変だったと思うが、発表会当日は頑張って仕上げてきた熱気が伝わってきた。尚、聴講者は、前号でも紹介した、Googleフォームを用いた学生間投票システムを使用して、プレゼンター全員の評価を全員にしてもらった。

PDF: http://y-f-lab.jp/fukudablog/files/1707machinami_FukudaFinal.pdf

大阪府建築士事務所協会「まちなみ」2017年7月号