Dr. Jason's blog

IT, Engineering, Energy, Environment and Management

講義: 情報教育の研究 2010-08

2010-11-25 | Informatics
 「情報教育の研究」8回目の講義の概要は以下のとおり。


 テーマは、「計測、制御」そして、その延長線上にある「ロボット」です。


 1) 様々な、計測、制御
 「計測」とは、調べたり、計ったりする機能です。
 「制御」とは、動作や情報を管理する機能です。
  みなさんの身のまわりにある、ITを活用して「計測」「制御」をおこなっているシステムについて考える。
 各自、即興で、以下の内容の発表を試みる。
 「計測」「制御」のシステムについて、
  どんなシステムがありますか?
  どんな利点がありますか?
  どんな課題がありますか?
 
 現代の我々の身の回りには、様々な「計測」「制御」のシステムがありますが、いざ説明せよと、いわれると、なかなかうまく説明できないものです。


 2) 計測のシステム
 なにかを、計測するためには、センサーが必要です。
 例えば、
  温度を計るには温度センサー
  圧力を計るには圧力センサー
 が必要です。
 これらを、ITと組み合わせると、色々なシステムができます。
 みじかなものには、どんなものがあるでしょうか?
 例:
  電子体温計
  電子血圧計
 
 温度や圧力を計測する、大規模なシステム。
 気象庁のアメダス(AMeDAS: Automated Meteorological Data Acquisition System)

 位置情報の計測
 GPS (Global Positioning System):全地球測位システム

 加速度の計測
 加速度センサーを使ったシステム。
 例:
  Nintendo Wii のリモコン

 3) 制御のシステム
 自動車の制御
 エンジンコントロールユニット(Engine Control Unit,ECU)

 列車の制御
 新幹線運行管理システム
 通称COMTRAC(Computer Aided Traffic Control System)

 飛行機の制御
 フライバイワイヤ (Fly-by-wire)
 例:
 エアバスA320
 民間機として初めてデジタル式フライバイワイヤ制御システムを採用
 ジョイスティク型の操縦桿を持つ

 工場の制御
 自動車工場での溶接ロボット

 その他の制御系システム
 工業用以外のロボット 
 本田のASIMO
 iRobot社のお掃除ロボットRoomba (ルンバ)
 NASAの火星探査ロボットRover
 Boston Dynamiscs社のプロトタイプ・ロボット
 犬型ロボット BigDog
 人型ロボット Petman

飛行するシステム
JAXA(旧NASDA)のHFSD自律飛行実験
自律的に、離陸し、予定のコースを飛び、着陸するシステム。

 4) 色々なロボット(アニメやSFに現れるロボットたち)
 日本:鉄腕アトム、鉄人28号、ガンダム、エバンゲリオン
 米国:
 フラィデー[B-9, Class M-3](宇宙家族ロビンソン)
 ロビー(禁断の惑星)
 C3POR2D2(スターウォーズ)
 データ(スタートレック・ネクストジェネレーション)


[宿題]
 以下の内容について、自分なりに調べ、レポートする。
 1) 計測、制御のシステムとは
 2) (計測、制御のシステムで)身の周りにあるもの
 3) (計測、制御のシステムで)興味のあるもの
 A4ワープロ横書き2ページ程度にまとめ、次回、講義開始時に提出すること。

 レポートのスタイルは以下のとおり。
 学籍番号 学年 学科 氏名 提出年月日
 まえがき
 本文
  計測、制御のシステムとは
  身の周りにあるもの
  興味のあるもの
 まとめ
 参考文献



[参考書]

TRONで有名な東大の坂村健先生による、「ユビキタス・コンピューティング」の概説書。
ユビキタス・コンピュータ革命―次世代社会の世界標準 (角川oneテーマ21)
坂村 健
角川書店



中央、東大、理科大の教授を歴任された板生清先生による「身につけるコンピュータ」の概説書。
コンピュータを「着る」時代 (文春新書)
板生 清
文藝春秋



自分そっくりのロボットを作って話題になった石黒浩先生による、ロボット学の概説書。
ロボットとは何か――人の心を映す鏡 (講談社現代新書)
石黒 浩
講談社



コンピュータ上での人工生命研究の第一人者有田隆也先生による、人工生命、人工知能などについての入門書。
心はプログラムできるか 人工生命で探る人類最後の謎 (サイエンス・アイ新書 31)
有田 隆也
ソフトバンククリエイティブ



※2010/12/31 カテゴリーの間違いを修正
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

講義: 情報教育の研究 2010-07

2010-11-25 | Informatics
 「情報教育の研究」7回目の講義の概要は以下のとおり。

 テーマは「ネットワーク」。ネットワークといっても、インターネットだけじゃありません。


 1) 色々なネットワーク
 ネットワークについて、各自、即興で解説を試みる。
  広い意味での「ネットワーク」とは何か?
  コンピュータのネットワーク以外のネットワークについて。
  ネットワークの概念、実例など、色々。

 実際に、やってみると、「コンピュータのネットワーク」以外のネットワークについて、以外とうまく説明できないことがわかる。


 2) 人間によるネットワーク
 まず最初に、人間によるネットワーク。
 人的なつながり。人脈。コネクション。

 1967年、アメリカの社会学者 (イエール大、ペンシルベニア大)スタンレー・ミルグラム(Stanley Milgram)実験

 手紙と、郵便制度による、システムは、人間によるネットワークの
一つの形であろう。
 
 郵便の歴史
 1516年 イタリア人のフランシスコ・デ・タシスがヨーロッパ全域を対象にした。
 1657年 イギリスで、郵便事業を国有化。
 1871年 日本での、郵便制度開始(東京-大阪間)。1872年全国展開。
 ※日本の飛脚制度は、鎌倉時代から(1185年頃) 鎌倉飛脚・六波羅飛脚 京都-鎌倉を72時間で結ぶ。結構早かった。

 SNSは、人脈のネットワークを、インターネット上のアプリケーションとして載せたもの。
 例 LinkedIn  http://www.linkedin.com/
 世界中のプロフェッショナル、ビジネスパーソンが加入するビジネス用のネットワーク。
 全世界で、8000万人以上の会員。
 友人の友人の友人まで、関係がわかるシステム。

 鈴木の場合
  約226人 直接の友人、ネット友達など
  約52900人 2階層目友人の友人
  約380万人 3階層目
 ※ 講義の時点。現在は、3階層目で約460万人。


 3) 通信のネットワーク
 電信、電話のシステムと制度も、ネットワークです。
 電信、電話の歴史
 1837年 イギリスで最初の商業電信サービス。
 1854年 フランスのブルサールが電話の理論的な提案。
 1860年 ドイツのフィリップ・ライスが電話を実際に製作。
 1969年 工部省 日本で最初の電信サービス(東京-横浜)
 1876年2月14日午前11時頃、アレクサンダー・グラハム・ベルの電話の特許明細書を提出される。
 1877年 ベル電話会社。日本に2台の電話機を送る。8901
 1885年 AT&T 世界初の長距離電話会社
 1890年 逓信省 日本での最初の電話サービス(東京-横浜)
 1952年 日本電信電話公社
 1985年 日本電信電話株式会社 NTT

 通信網と交換機とが中心。
 電話の通信網からみると、コンピュータも端末に過ぎない。
 電話屋さんは、「コンピュータ」を主語に考えない。


 4) 放送のネットワーク

 ラジオやテレビの放送網もネットワークである。

 米国の新聞等で、「Network」といったら、テレビの3大ネットワーク、すなわち、ABC、CBS、NBCの3社と、それに連なる地域テレビ局のネットワークを示すことが多い。
 参考 米国映画、「NETWORK」(1976年MGM)
 テレビのニュース業界の裏側を描いた作品。アカデミー賞4部門受賞。

 ラジオ、テレビの歴史
 1920年 米国、ペンシルベニア、KDKA 最初の商用AMラジオ放送
 1925年 日本発のラジオ放送(公式なもの) 社団法人東京放送局(JOAK、NHKの前身)
 1927年 オランダ国営放送 短波によるラジオ放送
 1929年 英国放送協会 (BBC) がTV実験放送開始
 1938年 米国、FM放送の実験
 1941年 米国でNTSC方式の白黒テレビ放送開始
 1953年 日本放送協会 (NHK)、NTV 日本テレビ放送網 テレビ放送開始
 1954年 アメリカNBCが、NTSC方式によるカラー本放送開始


 5) コンピュータのネットワーク

 色々なコンピュータネットワーク

 電話系
 電話線 + 音響カプラ 300 bps
 電話線 + モデム 300 - 56K bps
 ISDN 56K, 64K, 128K bps
 デジタル専用線 64K, 128K…1.5M….100M bps

 LAN(有線)
 1973年 2.94M bps 昔のイーサネット Xerox Palo Alto研究所 
 1979年 10 M bps
 その後、100M bps、1000M = 1G bps と進化。すでに、10G bps のものもある。
 現在、100G bps の規格を策定中。

 コンピュータのネットワークは、コンピュータが中心。
 コンピュータのネットワーク屋さんは、コンピュータを主語に考える。

 ネットワークの中には、主に、以下のような機器がある。
  ルーター (実は、特殊なサーバーである)
  スイッチ
  リピータ
  ハブ
  ネットワークアダプタ
  モデム
  終端装置


[宿題]
 以下の内容について、自分なりに調べ、概論としてレポートする。
 1) (コンピュータ以外の)様々なネットワーク
 2) コンピュータのネットワーク
 A4ワープロ横書き2ページ程度にまとめ、次回、講義開始時に提出すること。
 レポートのスタイルは以下のとおり。
  学籍番号 学年 学科 氏名 提出年月日
  まえがき
  本文
   様々なネットワーク
   コンピュータのネットワーク 
  まとめ
  参考文献



[参考書]

インターネットの基本原理などについてコンパクトにまとめられた概説書。
これならわかるネットワーク ― インターネットはなぜつながるのか? (ブルーバックス 1599)
長橋 賢吾
講談社



「情報化社会」について論じた梅棹忠夫先生の歴史的名著。
情報の文明学 (中公文庫)
梅棹 忠夫
中央公論新社



現在のLAN(構内ネットワーク)の基礎となっているEthernetについての定番的解説書。
詳説イーサネット
チャールズ・E. スパージェン
オライリー・ジャパン



コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

講義: 情報教育の研究 2010-06

2010-11-25 | Informatics
「情報教育の研究」6回目の講義の概要は以下のとおり。

 今回のテーマは「インターネット」。

 1) 自分からみたインターネット
 各自、以下の内容を、即興で、(できるだけ、自分の言葉で)発表する。
  1 インターネットとは何か?
  2 インターネットのを使って便利なこと
  3 インターネットのを使って困ったこと
  4 自分の「インターネット環境」


 2) インターネットの歴史

 前身
 現在のInternetの前に、米国の研究用のネットワーク
 ARPANET(アーパネット、Advanced Research Projects Agency Network)があった。
 1969年、アメリカ国防総省の国防高等研究計画局(Defense Advanced Research Project Agency:略称DARPA)の、行動科学研究部門 IPTO(Information Processing Techniques Office:情報処理技術室)による指揮の下に構築されたネットワーク。
 参考: 1977年当時のARPANETの接続図 (en.wikipedia.orgより)
 1983年、ARPANETがそれまで利用していたプロトコルNCPからTCP/IPに切り替えた。これが、後のインターネットのバックボーン(背骨の意味)ネットワークとなった。

 前身 日本の状況 JUNET
 1984年、現在慶應義塾大学教授の、村井純先生が、慶應大学の大学院を出て、東京工業大学の助手になったとき、慶應大学のコンピュータと、東京工業大学のコンピュータを電話回線で接続し、ファイルのやメールの送受信などをできるようにした。プロトコルは、UUCP。
 そのあと、それに、加えて、東京大学の本郷、駒場も接続した。さらに、その後、NTT、KDD、国立研究機関、コンピュータメーカー、ソフトウェア開発会社等が接続し、最終的には、600以上の組織が加盟した。
 1987年からは、KDD研究所の国際回線を使って、米国ともメールのやりとりが出来るようになった。

 1985年
 全国科学財団(National Science Foundation: NSF、連邦政府の機関) による学術研究用のネットワーク基盤NSFNet設置。
 インターネットのバックボーンの役割がARPANETからNSFNetへ移行する。
 NFSNetの当初の目的は、スーパーコンピュータの相互接続。

 1987-1988年、アメリカで商用インターネットが始まる。
 UUNET (世界最初の ISP サービス)
 1989年、商用ネットワークとNSFNetとの接続が開始される。

 1992年、日本で商用インターネットが始まる。
  AT&T Jens (日本で最初の ISP、AT&T の小会社)
  IIJ (日本で最初のISP会社)


[宿題]
 以下の内容について、レポートする。
 1) インターネットとは?
  歴史、プロトコル、現状、課題
 2) 私の「インターネット環境」
  PC、携帯、その他
 A4ワープロ横書き2ページ程度にまとめ、次回、講義開始時に提出すること。

 レポートのスタイルは以下のとおり。
  学籍番号 学年 学科 氏名 提出年月日
  まえがき
  本文
  インターネットとは?
  私の「インターネット環境」 
  まとめ
  参考文献



[参考書]

黎明期から日本のインターネットを牽引している村井純先生による概説書。岩波新書の3部作。歴史的経過も含めて理解するために、3冊とも目を通すと良い。
インターネット (岩波新書)
村井 純
岩波書店


インターネット2―次世代への扉 (岩波新書)
村井 純
岩波書店


インターネット新世代 (岩波新書)
村井 純
岩波書店



日立の技術者から大学に転じた佐々木良一先生によるインターネット上のセキュリティについての概説書。
インターネットセキュリティ入門 (岩波新書)
佐々木 良一
岩波書店



インターネット技術、特にWebの技術的概念ついての入門書。
インターネット技術の絵本
(株)アンク
翔泳社

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

講義: 情報教育の研究 2010-05

2010-11-25 | Informatics
 「情報教育の研究」5回目の講義の概要は以下のとおり。

 先週の引き続き。

 1) CPUのふるまい その2
 先週は、あまりうまく説明できなかった人が多かったので、再度、挑戦。
 一般に、CPUは、どのように動作するのか、CPUを主語にして、CPUの振る舞いについて、各自(自分の言葉で)説明を試みる。


 2) プログラムとは
 「プログラムとは、コンピュータへの命令ではなく、コンピュータに
何をしてほしいか、人に説明することだ。」

  ドナルド・E・クヌース (スタンフォード大学名誉教授)


 3) アルゴリズムとデータ構造 その2

 多くのプログラムは,アルゴリズムの記述とデータ構造の記述から
構成される.

 アルゴリズム: 問題の解き方、操作や処理の手順
  最初は、自然言語の文章で考え、記述される。
  次に、擬似言語のプログラム等で記述される。
  次に、プログラミング言語で記述される。

 データ構造: 問題の対象となるモノの定義
  最初は、何らかの等のモデルの形で記述される。
  次に、抽象化したデータの集まりとして記述される。
  次に、プログラミング言語のデータ定義として記述される。


 4) アルゴリズムとデータ構造の簡単な例
 
 三角形の面積を求める方法 
 アルゴリズム: 問題の解き方、操作や処理の手順
  底辺 x 高さ を計算し、それを、1/2 する。
  menseki = ( teihen * takasa ) / 2
  menseki = ( teihen * takasa ) * 0.5 多くの場合こちらが速い
 データ構造: 問題の対象となるモノの定義
  底辺は、整数で、cm で表す。高さは、整数で、cm で表す。
  面積は、整数で、cm2で表す。
  int teihen, takasa, menseki;

 
 5) アルゴリズムと計算量
 問題の性質によっては、解法、解答が得られるとは限らない。

 解き方が判らない。
  定式化されたアルゴリズムが知られていない。
  発見的方法でしか解くことができない。
  NP-完全問題

 解き方は判るが、手持ちの資源では計算できない。
  実用にならないほど、計算時間が長い場合。
  メモリ等が不足する場合。


 6) データ構造

 考え方

 抽象化して考える
  問題を構成する要素
  問題の対象となるモノ
  問題の対象となるモノの属性
  同じ属性をもつモノは同種のデータとして扱える

 オブジェクト (object)
  動作や処理の対象
  データを「生き物」のようにとらえる
  オブジェクトは自律的に動く
  オブジェクトは自分の処理の仕方を知っている
  => データの中に、そのデータの処理方法が含まれる

 プログラミング言語の上では

  データの属性 => データの入れ物
  データの入れもの並べ方
  例) 配列

  データの入れ物のグループ化
  例) 構造体

  データの入れ物のグループの並べ方
  例) 構造体の配列


[宿題]

 以下の内容について、レポートする。
 コンピュータ・ソフトウェアの構造について、知らべ、以下の3つの項目を含む形で、
  アルゴリズムおよび制御構造
  データ構造
  モジュール構造
 解説する。
 800-1600文字程度レポート(A4ワープロ横書き)にまとめ、
 次回、講義開始時に提出すること。
 レポートのスタイルは以下のとおり。
 
 学籍番号 学年 学科 氏名 提出年月日
  まえがき
  本文
  ソフトウェアの構造
  まとめ
  参考文献



[参考書]

「アルゴリズム」を基本にすえてまとめられた、コンピュータサイエンスの古典的な入門書。アルゴリズムとOSやCPUのアーキテクチャの関係についても言及。
計算機科学入門
L. ゴールドシュレーガー,A. リスター
近代科学社



アルゴリズムとデータ構造についての古典的名著。プログラミングの実用的参考書でもある。職業的ソフトウェア技術者を目指す人には必読の参考書。
翻訳は版元品切れだが、古書をさがして購入する価値のある名著。
[表紙画像なし]データ構造とアルゴリズム (情報処理シリーズ)
A.V. エイホ,J.D. ウルマン,J.E. ホップクロフト
培風館



pascal言語開発者によるアルゴリズムとデータ構造についての古典的名著。プログラミング学習者必読の一冊。
アルゴリズムとデータ構造
N. ヴィルト,Niklaus Wirth
近代科学社



日本語で書き下ろされたアルゴリズムと計算量についての入門書の定番。
アルゴリズムと計算量 (計算機科学・ソフトウェア技術講座)
野崎 昭弘
共立出版



国産ファイルアーカイブソフト LHAのアルゴリズム開発者による、アルゴリズム事典。
C言語による最新アルゴリズム事典 (ソフトウェアテクノロジー)
奥村 晴彦
技術評論社



情報科学の基礎で現れるアルゴリズムをRubyで解説してる。(一部Javaのプログラムもあり。)Rubyの2冊目、3冊目の参考書としても読める。
Rubyによる情報科学入門
久野 靖
近代科学社



コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

講義: 情報教育の研究 2010-04

2010-11-25 | Informatics
 暫く blog の更新をさぼってしまった。
 書きたいことは色々あるが、まず、大学の講義「情報教育の研究」のたまっている分について記すことにする。


 「情報教育の研究」4回目の講義の概要は以下のとおり。

 今回のテーマは「基本原理について考える」。

 1) ハードウェア:CPUの振る舞い
 自分が、コンピュータのCPUになったつもりになって、一般に、CPUはどのように動作するのか、CPUを主語にして、CPUの振る舞いについて、各自、即興で説明を試みる。説明の中に、できるだけ、以下のキーワードを登場させるようにする。
  レジスタ
  キャッシュメモリ、メインメモリ、ハードディスク
  メモリ管理、入出力管理
  プログラム
  命令 または インストラクション、データ
 読み込み、書き出し、ロード、ストア、実行、演算
 実際に、他者にCPUの振る舞いを説明しようとすると、自分の理解が曖昧な部分が明らかになる。特に、自分が、CPUになったつもりで説明できるかどうかは、現在のコンピュータの動作について、基本的なことをちゃんと理解しているかどうかが問われる。

 2) ソフトウェア:プログラムとは?
 現在のコンピュータのソフトウェアは,ほとんどの場合、何らかのプログラミング言語で、個々の文法に従って、記述されている.
 プログラミング言語で記述された処理の固まりを
  コンピュータ・プログラム
 あるいは、単に
  プログラム
 という.

 3) アルゴリズムとデータ構造
多くのプログラムは,アルゴリズムの記述とデータ構造の記述から構成される.
 アルゴリズム 何をどう処理するか 
  アルバイとの作業マニュアルに似ている
  映画やドラマの脚本、台本のイメージ

 データ構造  処理対象のものはどういう性質でどう表現するか
  どのような属性、値を持っているのか
  SNSのプロフィールに似ている
  キャラクタの設定、衣装、小道具、セット等のイメージ

 プログラム = アルゴリズム + データ構造

 3) ソフトウェアの階層
 ソフトウェアには、「階層」(layer) がある。
 参考1: ソフトウェア・アーキテクチャの階層構造(www2.swc.toshiba.co.jpより)
 参考2: ソフトウェアの階層(www.soi.wide.ad.jpより)

 ハードウェアに近い、基礎となる層が、オペレーティングシステム(Operating System)、一番上の層がアプリケーション(Application).

4) プログラムの形式
 人間が読める(可読性)「プログラグラミング言語」でかかれたプログラムや(プログラムを収めた)ファイルを、
 ソースコード source code
 という.
 殆どの場合、ソースコードは、人間が「書く」つまり、プログラムの開発作業は、「ある言語」での「作文」あるいは、「執筆」の作業である。

 言語処理系で処理されて,コンピュータが直接処理できる「マシン語」に変換されたプログラムやファイルを
  オブジェクトコード object code
  実行可能ファイル executable file
 等という.

 5) 言語処理系
 プログラミング言語で記述された,プログラムを,コンピュータ上で動作させるための一連のソフトウェアを言語処理系という.
 人間が読める(可読性)「プログラグラミング言語」から,コンピュータが直接処理できる「マシン語」に変換処理する.
 翻訳的に一括処理するタイプの言語処理系:
   コンパイラ Compiler  … 資料や文章の編纂する人

 通訳的に逐次処理するタイプの言語処理系:
   インタプリタ Interpreter  … 通訳する人

 コンパイラ言語(一括処理)
  FORTRAN 数値計算,シミュレーション
  COBOL  事務処理
  pascal  教育,研究,開発ツール
  C    OS,基本ソフトウェア,汎用,組み込み
  C++   大規模ソフトウェア(最初は交換機のソフト)、グラフィック系のソフト
  Objective-C MacOS、iPhoneの開発言語

 インタプリタ (逐次処理)
  BASIC  教育,その他
  Ruby  汎用, Web 日本人のまつもとゆきひろ(松本行弘)氏による設計開発
  PHP   Web

 中間コードインタプリタ (一旦内部コードに一括処理する)
  Perl  汎用,ツール,ユーティリティ,Web
  Python 汎用,ツール,ユーティリティ,Web
  RubyのYARV Rubyの中間コードにコンパイルするバージョン
  Java  汎用,ビジネス(特に金融),組み込み


 [宿題]
 自分が、コンピュータのCPUになったつもりになって、一般に、CPUはどのように動作するのか説明できるようにする。CPUを主語にして、CPUの振る舞いについて、各自、自分の言葉で、説明できるように準備する。説明の中に、できるだけ、以下のキーワードを登場させるようにする。
  レジスタ
  キャッシュメモリ、メインメモリ、ハードディスク
  メモリ管理、入出力管理
  プログラム
  命令 または インストラクション、データ
 読み込み、書き出し、ロード、ストア、実行、演算



[参考書]

今日的な、コンピュータ・ソフトウェアについて、概観した良書。
200ページ足らずの本だが、内容は濃密。巻末の参考文献も良い。
ソフトウェア入門 (岩波新書)
黒川 利明
岩波書店



コンパクトにまとめられた大学学部レベルのソフトウェア工学の入門書。ソフトウェアの本質的な部分や、ソフトウェア工学の歴史的な流れについての概説が特に良い。さらに、モデリング、構造化、オブジェクト指向、CASEについて解説している。
ソフトウェア工学入門
河村 一樹
近代科学社




 
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする