2016年度2年後期 メディアプログラミング特論

      2016年度2年後期 メディアプログラミング特論 はコメントを受け付けていません

sample0011.jpg

この授業は、デザインやアートの分野の学生にプログラミングを楽しく学習してもらうために組み立てられたものです。
現在のデザインやアートにおいて、プログラミングの知識があるという事実は、基礎的な教養としても、就職の際のスキルにしても年々その重要度が高まっています。しかし、芸術系の学生にとってはその敷居が高いのも事実です。
よって、この授業ではプログラミングによってグラフィックの描画やサウンドのエフェクト、動画のエフェクト、ネットワークなどの、直接表現に結びつく実践的な方法を学びます。
開発環境は、processingを利用して行います。processingは、マサチューセッツ工科大学で開発されたプログラミング教育用ツールです。
非常に短いコードでプログラムが書けるようになっていますので、初心者でも心配する必要はありません。

位置づけとしては1年メディアプログラミング演習I、2年メディアプログラミング演習IIの応用編です。ですから、引き続き勉強したい人はもちろんのこと、これまでプログラミングに挫折してしまった人もやり直すことができると思います。

1. 何故、デザインやアートにプログラミングが必要なのか

学生と話をしていてプログラミングの話をすると、急に暗い顔になり、「ああ、苦手」という言葉がよく返ってきます。おそらくその学生たちは、プログラミングの学習の仕方がいまいち分からないのと、その深遠な可能性がまだ見えて来ていないのでしょう。それは、教える側の責任もあると思います。実際、自分も独学でJavaを勉強しようとした時、一度挫折しました。しかし、何年か後にもう一度勉強し直してプログラミングができるようになったのです。
ですから、現時点でプログラミングに対する苦手意識がある学生でもいつでもやり直せると考えています。要は、なぜ勉強しなくてはならないのかと、どうやって勉強するのかをもう一度見直せばいいのです。

あともう一つ、プログラミング=数学だと思っている学生も多いでしょう。確かにそうなのですが、数学が苦手でもプログラミングが苦手だとは限りません。実際私も数学は得意ではありません。しかしプログラミングは楽しいと思いました。自身の数学の苦手意識を超える面白さがプログラミングにはあったのだと思います。
ですから、数学が苦手だから無理だ、などという先入観は捨てて、新たな気持ちで臨んでもらえればいいと思います。

プログラミング言語の知識を持っておくということは、例えば建築家が数学の知識があるのと同じようなものだと考えてもいいでしょう。例えば、webサイト構築やアートプロジェクトを行なうにしても、実際の現場ではプログラマーとの共同作業という状況が多々あります。その際にプログラミング言語の知識があるのとないのでは大きな違いがあります。プログラミング言語の知識がないデザイナー/アーティストやディレクターの言うことなんて、プログラマーは聞かないでしょう。もしくは仕方なく聞いていても、内心は馬鹿にしているかもしれません。

また、このステップを避けて通ってしまうと、結局はソフトウェアの範囲内でしかものを作れず、既に何年も前に発表された作品の二番煎じ的なものしか作れないのです。自己満足的なことをしたければそれでもいいでしょう。しかし、少なくとも私のこの授業では、新しいメディアデザイン/アートの可能性を垣間見せてくれる表現者を育てたいと考えています。
ですから、理想的なアプローチとしては、まずアイデアを洗練させ、そのプロジェクトに最適なメディアやプラットフォームを選ぶ。ですから、場合によってはMax/MSP、Flashなどでもいいかもしれません。しかし、調べてみたら、これは別の言語(Java、Cなど)を選択しないとアイデアを実現させることが難しいと分かったとします。その際にはそれらの言語を短期間で習得するぐらいの馬力が必要になってきます。要は、様々なアイデアを実現させるために、基礎体力をつけておく必要があるのです。
そのような底力のある学生の育成がこの授業の目的です。

2. カリキュラム構成のキーワード

【表現的側面】
点、線、図形、色彩、アニメーション、インタラクション(キーボード入力、マウス入力)、サウンド、ビデオ入力、ネットワークコミュニケーション

【アルゴリズム的側面】
変数、変数の型、if、else、for、while、switch、配列(1次元配列 〜 n次元配列)、sine、cosine

4. 評価

出席率 50%、小課題 15%、中間課題 15%、 最終課題 20%
みなさんの理解度を見ながら小課題の数が増減することがあります。上記の配点はあくまで目安です。

5. 備考

この授業は、Processingのバージョン3.2.1を使用して行います。ダウンロードする際には間違えないようにしてください。

6. スケジュール

この授業は後期のみの開講です。
基本的には1年のメディアプログラミング演習IやIIの続きなのですが、最初の3週はそれらの復習もかねてプログラミングとデザインの基礎的な演習を行ないます。
その後、画像処理エフェクト、サウンド、ネットワークなどの応用実習を行ないます。

■9/16 – 第1回 プログラミングの基礎1

自己紹介

Processingの準備
Processingの操作画面
Processingの参考サイト/参考書
点・線・図形の描画
変数
色彩
コメント、インデント
画像の表示
テキストの表示
演算
while, for文の理解
デバッグ、エラーへの対応
コードを短く書く方法
if文の理解
形態のスタディ
小課題1

■9/23 – 第2回 プログラミングの基礎2

変数の種類
データ型の変換
運動1
インタラクション1
インタラクション2
運動のスタディ
インタラクションのスタディ
小課題2

■10/7- 第3回 配列・関数

4.3 配列 2次元配列
3.5 関数

■10/14- 第4回 3Dプログラミングの基礎

3Dプログラミング1
3Dプログラミング2

■10/21 – 第5回 現実世界を変換する(画像処理)

画像処理
ライブラリの利用(OpenCV for Processing)

■10/28 – 休講(工芸祭)

■11/4 – 第6回 ランダム、ノイズ

ランダム・ノイズ

■11/11 – 第7回 中間課題の制作時間

■11/18 – 第8回 中間課題発表

■11/25 – 第9回 座標変換・三角関数

座標変換
三角関数

■12/2 – 第10回 サウンド1

minimライブラリの使用、音の基本

■12/9 – 第11回 サウンド2

エフェクト、周波数解析

小課題4

■12/16 – 第12回 ネットワーク

ネットワーク(OpenSound Control)

■12/23 – 休講(天皇誕生日)

■1/6 – 第13回 オブジェクト指向プログラミング

オブジェクト指向プログラミング クラスファイルの作成

■1/13 – 休講(センター試験準備)

■1/20 – 第15回 最終講評

7. 課題

小課題1:
形態のスタディ

小課題2:
運動のスタディ

中間課題:
コンピュータビジョンを用いて、自由に作品を作ってください。

小課題3:
座標変換、三角関数を使って、運動のスタディをおこなってください。
作成するパターンは3つとする。
運動のスタディ

小課題4:
サウンドビジュアライザを作成してください。

  • 曲は自分で好きなものを選ぶ
  • 画面は800 x 800 pix以内
  • アニメーションが単調にならないように工夫してください。1分ぐらいは飽きない(変化がある)アニメーション、インタラクションを目指す

最終課題:
インタラクティブ広告をデザインしてください。

  • 形態は、ショーウィンドウ、デジタルサイネージなどが想定されるが、それ以外の形態でもかまわない
  • 「広告」の概念は、単に商品の宣伝などだけではなく、企業のイメージアップなど、広く捉えてかまわない
  • 実際に完成形の広告そのものを作るのは難しいので、プロトタイプでいい
  • 最終講評の際には、3ページ以内のプレゼンシート(PowerPoint、Keynote、pdfなど)と共にプロトタイプをプレゼンする
  • 開発環境はProcessingとする。他の開発環境を使いたい人は応相談。openFrameworksでもいい
  • サイズ自由
  • センサ等は自由。Kinect、LeapMotionなど、最近は安価で高性能なものがある

◎参考:インタラクティブ広告等
http://www.youtube.com/watch?v=_X2-_t5f_IA
http://www.youtube.com/watch?v=a-NRdyUx8Lc
http://www.youtube.com/watch?v=5j4Mioy_HKY
http://www.youtube.com/watch?v=u_OArLRI2Fk
http://www.youtube.com/watch?v=xFgvNMN2DiQ
https://music2015.withgoogle.com