SlideShare uma empresa Scribd logo
1 de 58
Baixar para ler offline
フレッシュマン
セミナー
国島丈生(t.kunishi@gmail.com)
2010-06-16
自己紹介
✦ 名前 Takeo Kunishima/国島丈生
✦ 現在地 Akashi, Hyogo, Japan
✦ Web http://kunishi.blogspot.com/
✦ 自己紹介 情報科学分野の大学教員。専門はデータ工学、文
書工学、マークアップ言語、Webなど。総社まで遠距離通勤
中。BSD/Mac/Ruby/ML/REST/lifelog/iPod/iPhone/合唱/弦楽
四重奏/ルネッサンス音楽/フェルメール/女性ジャズボーカル/
UKロック/北欧デザイン/写真/組版/タイポグラフィ/中世文学
Twitter (@kunishi) のプロフィールより
経歴
1985-1994 1994-1997 1997-2010
担当講義
✦ 情報通信工学実験IB(2年)
✦ プログラミング言語Ⅱ(2年)
✦ コンパイラ(3年)
✦ プログラミング言語Ⅲ(3年)
✦ 形式言語理論(修士1年)
ソフトに興味あり
✦ データベース
✦ テキスト処理、文書(XML)処理
✦ プログラミング言語
✦ Web技術
✦ オートマトン理論
kunishi on Books
kunishi on the web
今日の内容
✦ 高校・大学時代の体験談
✦ 高校数学から情報科学へ
✦ そしてプログラミングへ
高校・大学時代の
体験談
高校時代は
✦ コンピュータとは無縁
✦ 数学が好き
✦ 物理・化学は… (>_<)
✦ 英語や国語の方が得意だったかも
パソコンは高嶺の花
✦ CPU 8MHz
✦ HDDなし(FDのみ)
✦ Windows なし
✦ 353,000円(今だと50万円
以上?)
NEC PC-9801VX01 (1987年)
関数電卓?
✦ ポケットコンピュータ(ポ
ケコン)
✦ メモリ2~16KB
✦ ディスクなし
✦ BASICのプログラムが動い
た
Internet 黎明期
✦ 1984 東大、東工大、慶応大
✦ 1988 大学・企業の研究所間
✦ 1992以降 個人へ普及
✦ 1990年代 携帯電話登場
数学を生かしたかった
✦ 当時の京大では選択肢は3つ
✦ 理学部数学科
✦ 工学部数理工学科
✦ 工学部情報工学科
どう選んだ?
✦ 理学部数学科→就職に困るらしい
✦ 数理工学科 vs. 情報工学科
✦ 違いがさっぱり分からない
✦ 偏差値の高いほう(情報工学科)を選択
1985年 京都大学工学部情報工学科入学
誤 算
誤算その1
✦ 物理が結構必要だった…
誤算その2
✦ 大学の数学は難しかった…
誤算その3
✦ 専門では微積分はあ
まり使わなかった
✦ 「独特」の理論
✦ ブール代数etc.
✦ パズルに近い
結果オーライ?
✦ もともとパズルは好き
✦ 数学よりプログラムの方が合っていたらしい
研究室配属をどうしよう
✦ 全部で6研究室…だったのだが
✦ 4年生になる前にソフト系2研究室の教授が退官→
研究室配属なし
✦ 残り4研究室は:ハードウェア、論理回路、OS、
人工知能
✦ 一番ソフト寄りなのは人工知能だが、教授と
の相性がイマイチ
どう選んだ?
✦ 教授との相性が一番良かった論理回路講座を選択
✦ 研究室選びの際、教員との相性は割と大事で
す
✦ しかし、やはりソフトへの拘りはありまして…
✦ 講座の中でもソフト寄りのテーマ(グラフィッ
クス)を選択
卒業研究でやったこと
C, C++で1,500行程度のプログラミング
念のため
✦ プログラミングの達人では決してない
✦ 同期にももっと凄いのがいた
✦ 皆さんの中の凄腕プログラマのほうが実力
は私より上のはず
ところで、就職は?
✦ 結局、一度も就職活動はしなかった
✦ どういう企業がいいのか、学生時代はイメージが
湧かなかった
✦ Webはまだなかった→Web関連の企業もなかった
✦ 大学教員になって後悔してる?
✦ 少なくとも、学生さんの教育は割と合っていると
思っているので、後悔はしてません
高校数学から
情報工学へ
情報工学の二面性
ハードウェアを作る
ソフトウェアを作る
物理
連続系の数学
離散系の
数学
連続系 vs 離散系
連続した数
(実数)
連続しない数
(整数, 0/1 etc.)
微分・積分
集合
剰余系
場合の数
数列
数学的帰納法
物理現象
情報数学
情報科学への橋渡し
ケーニヒスベルクの橋
✦ 図の7つの橋を各1度ずつ
通って元の場所に戻って
くることができるか。た
だし、同じ橋を2度以上
通ってはならない。
✦ 関連:グラフ理論
参考:増田直紀「『複雑ネットワーク』とは何か」(講談社ブルーバックス)
ハノイの塔
✦ 台の上に3本の棒A, B, Cがあり、Aに n 枚の
円盤がはまっている。円盤は下ほど半径が大
きい。次のルールを満たしながら、円盤をす
べてBに移すのに必要な手数を n で表せ。
✦ 一度に一枚の円盤しか移動できない
✦ 途中で円盤の大小を逆にしてはいけない
✦ 関連:再帰
例:定積分
✦ 人間は不定積分から計算
⇤ 1
0
x2
dx =
�
1
3
x3
⇥1
0
=
1
3
例:定積分
✦ コンピュータは不定積分のよう
な式変形は苦手
✦ 区分求積法
n = 1000 で 0.3338335
⌃ 1
0
x2
dx ⇥
n⇧
k=1
⇤�
k
n
⇥2
·
1
n
⌅
=
1
n3
n⇧
k=1
k2
プログラムの例
S = 0;

for (k = 1; k <= n; k ++) {

S = S + k * k;

}

S = S / (n * n * n);
⌃ 1
0
x2
dx ⇥
n⇧
k=1
⇤�
k
n
⇥2
·
1
n
⌅
=
1
n3
n⇧
k=1
k2
フィボナッチ数列
F0 = 1, F1 = 1, Fn+2 = Fn+1 + Fn
1, 1, 2, 3, 5, 8, 13, 21, 34, …

だが一般項は複雑
Fn =
1
⇥
5
⇤�
1 +
⇥
5
2
⇥n
+
�
1 −
⇥
5
2
⇥n⌅
プログラム=漸化式
int F(int n)
{
if (n == 0) return 1;
else if (n == 1) return 1;
else {
return F(n-1)+F(n-2);
}
}
F0 = 1, F1 = 1, Fn+2 = Fn+1 + Fn
法則を見つける
✦ 今日は日曜日です。100日後は何曜日?
✦ 1日後は月、2日後は火、…100日後は火
法則を見つけよ
✦ 今日は日曜日。1億日後は何曜日?
✦ とても数えられません
✦ 7の倍数日後はいつも日曜日。

1億÷7 = 14285714 あまり 2。∴火曜日
法則を見つけよ
✦ 今日は日曜日。10100日後は何曜日?
✦ 10100なんて計算できない
✦ 10100を7で割った余りも計算できない
✦ 10nを7で割った余りを、n=1, 2, …で計算
してみよう
すると
✦ 100 % 7 = 1, 101 % 7 = 3, 102 % 7 = 2, 

103 % 7 = 6, 104 % 7 = 4, 105 % 7 = 5, 

106 % 7 = 1, 107 % 7 = 3, …
✦ %:剰余を表す演算子
✦ 周期6で同じ数が出る(1, 3, 2, 6, 4, 5)
✦ 100 % 6 = 4 ∴木曜日
プログラムにすると
void nannyoubi(int n)
{
if (n%6 == 0) {
printf(“月曜日¥n”);
} else if (n%6 == 1) {
printf(“水曜日¥n”);
} else if (n%6 ==2) {
/* 以下省略 */
}
そして
プログラミングへ
前提として
✦ 人それぞれ向き不向きはあります
✦ 入試をくぐり抜けてこの場にいる皆さんな
ら
✦ プログラムが書けるようになる素地が一定
程度あるはずです
真似を侮るなかれ
✦ インプットなくしてアウトプットなし
✦ まずは他人のコードの真似から
✦ 単なるコピペにとどまるなかれ
✦ 人のプログラムを読んで引出しを増やせ
✦ 読む≠字面を追う、読む=とことん理解する
✦ 少し難しいものを、興味の持てるものを
本を読もう
✦ プログラム=プログラミング言語で書かれた文章
✦ 論理の正しさ+分かりやすさ・読みやすさ
✦ 経験に基づく仮説
✦ 国語力のある人はプログラミング能力も高い
✦ 文章に触れる機会を増やしてください(ジャンル
は問いません)
Cと相性が悪くても
✦ 世の中には無数にプログラミング言語があ
る
✦ 当然、好き嫌いも相性もあります
✦ プログラミングの根は共通
✦ 言語を一つマスターすれば、他の言語に
も勘が働くようになります
ここだけの話ですが
✦ 正直、Cはそんなに達人ではありません
✦ どっちかというと、めんどくさくて、なるべくな
ら使いたくない言語です ^^;
✦ でもまあ、ポインタは知っておかねばならないね
✦ 本当にプログラミングが好きになったのは、スクリ
プト言語や関数型言語を知ってからです
✦ 私の講義で一部扱います(Standard ML, Ruby)
プログラミング学習
≒
語学学習
1章が重要
諸君の健闘を祈る
One More Thing...
※ Googleで “One more thing”で検索してみましょう
何が役立つかは
神のみぞ知る
興味は発散
有限オートマトン理論
スクリプト言語による
プログラミング
趣味のWebページ作成
データ工学
関数型
プログラミング言語
デザイン
すべてはWebに収斂した
有限オートマトン理論
スクリプト言語による
プログラミング
趣味のWebページ作成
データ工学
関数型
プログラミング言語
デザイン
何が役立つかは
神のみぞ知る
諸君の健闘を祈る
レポート課題
✦ 以下についてA4用紙1~2枚程度にまとめ、6/
22(火)17:00までに提出せよ。(提出場所:
2610室)
✦ ケーニヒスベルクの橋、ハノイの塔(最低
限どちらか一方、解に至る経過も含めて)
✦ 今日の講義の感想

Mais conteúdo relacionado

Destaque

Destaque (9)

Lab 2
Lab 2Lab 2
Lab 2
 
Portfolio for COMM 125 Projects
Portfolio for COMM 125 ProjectsPortfolio for COMM 125 Projects
Portfolio for COMM 125 Projects
 
scan ijazah
scan ijazahscan ijazah
scan ijazah
 
Challenges to climate finance
Challenges to climate financeChallenges to climate finance
Challenges to climate finance
 
T-Mobile Service Transition Timesheet Tool
T-Mobile Service Transition Timesheet ToolT-Mobile Service Transition Timesheet Tool
T-Mobile Service Transition Timesheet Tool
 
Debora Alanna: Stone sculpture 2012 - 2013
Debora Alanna:  Stone sculpture  2012 - 2013Debora Alanna:  Stone sculpture  2012 - 2013
Debora Alanna: Stone sculpture 2012 - 2013
 
Germinacion
GerminacionGerminacion
Germinacion
 
power factor correction using smart relay
power factor correction using smart relaypower factor correction using smart relay
power factor correction using smart relay
 
Design Requirements Training
Design Requirements TrainingDesign Requirements Training
Design Requirements Training
 

Mais de Takeo Kunishima

20080702フレッシュマンセミナー
20080702フレッシュマンセミナー20080702フレッシュマンセミナー
20080702フレッシュマンセミナーTakeo Kunishima
 
20090616 フレッシュマンセミナー
20090616 フレッシュマンセミナー20090616 フレッシュマンセミナー
20090616 フレッシュマンセミナーTakeo Kunishima
 
20070627フレッシュマンセミナー
20070627フレッシュマンセミナー20070627フレッシュマンセミナー
20070627フレッシュマンセミナーTakeo Kunishima
 
フレッシュマンセミナー20060614
フレッシュマンセミナー20060614フレッシュマンセミナー20060614
フレッシュマンセミナー20060614Takeo Kunishima
 
フレッシュマンセミナー (2004)
フレッシュマンセミナー (2004)フレッシュマンセミナー (2004)
フレッシュマンセミナー (2004)Takeo Kunishima
 
Vldb2002 report-200210231500
Vldb2002 report-200210231500Vldb2002 report-200210231500
Vldb2002 report-200210231500Takeo Kunishima
 
20160723 オープンキャンパス資料
20160723 オープンキャンパス資料20160723 オープンキャンパス資料
20160723 オープンキャンパス資料Takeo Kunishima
 
20160511 全学講義講演資料
20160511 全学講義講演資料20160511 全学講義講演資料
20160511 全学講義講演資料Takeo Kunishima
 
20151224 吉備創生カレッジ第3回資料
20151224 吉備創生カレッジ第3回資料20151224 吉備創生カレッジ第3回資料
20151224 吉備創生カレッジ第3回資料Takeo Kunishima
 
20151210 吉備創生カレッジ第2回資料
20151210 吉備創生カレッジ第2回資料20151210 吉備創生カレッジ第2回資料
20151210 吉備創生カレッジ第2回資料Takeo Kunishima
 
20151126 吉備創生カレッジ第1回資料
20151126 吉備創生カレッジ第1回資料20151126 吉備創生カレッジ第1回資料
20151126 吉備創生カレッジ第1回資料Takeo Kunishima
 
20150725 オープンキャンパス資料
20150725 オープンキャンパス資料20150725 オープンキャンパス資料
20150725 オープンキャンパス資料Takeo Kunishima
 
20150603 全学講義講演資料
20150603 全学講義講演資料20150603 全学講義講演資料
20150603 全学講義講演資料Takeo Kunishima
 
岡山県立大学オープンキャンパス資料
岡山県立大学オープンキャンパス資料岡山県立大学オープンキャンパス資料
岡山県立大学オープンキャンパス資料Takeo Kunishima
 
20111102 研究室紹介(横田研)
20111102 研究室紹介(横田研)20111102 研究室紹介(横田研)
20111102 研究室紹介(横田研)Takeo Kunishima
 
20101004 研究室紹介(横田研)
20101004 研究室紹介(横田研)20101004 研究室紹介(横田研)
20101004 研究室紹介(横田研)Takeo Kunishima
 
平成22年度情報通信工学実験IB実施資料
平成22年度情報通信工学実験IB実施資料平成22年度情報通信工学実験IB実施資料
平成22年度情報通信工学実験IB実施資料Takeo Kunishima
 
20091029 研究室紹介(横田研)
20091029 研究室紹介(横田研)20091029 研究室紹介(横田研)
20091029 研究室紹介(横田研)Takeo Kunishima
 

Mais de Takeo Kunishima (20)

20080702フレッシュマンセミナー
20080702フレッシュマンセミナー20080702フレッシュマンセミナー
20080702フレッシュマンセミナー
 
20090616 フレッシュマンセミナー
20090616 フレッシュマンセミナー20090616 フレッシュマンセミナー
20090616 フレッシュマンセミナー
 
20070627フレッシュマンセミナー
20070627フレッシュマンセミナー20070627フレッシュマンセミナー
20070627フレッシュマンセミナー
 
フレッシュマンセミナー20060614
フレッシュマンセミナー20060614フレッシュマンセミナー20060614
フレッシュマンセミナー20060614
 
フレッシュマンセミナー (2004)
フレッシュマンセミナー (2004)フレッシュマンセミナー (2004)
フレッシュマンセミナー (2004)
 
Vldb2002 report-200210231500
Vldb2002 report-200210231500Vldb2002 report-200210231500
Vldb2002 report-200210231500
 
20160723 オープンキャンパス資料
20160723 オープンキャンパス資料20160723 オープンキャンパス資料
20160723 オープンキャンパス資料
 
20160511 全学講義講演資料
20160511 全学講義講演資料20160511 全学講義講演資料
20160511 全学講義講演資料
 
20151224 吉備創生カレッジ第3回資料
20151224 吉備創生カレッジ第3回資料20151224 吉備創生カレッジ第3回資料
20151224 吉備創生カレッジ第3回資料
 
20151210 吉備創生カレッジ第2回資料
20151210 吉備創生カレッジ第2回資料20151210 吉備創生カレッジ第2回資料
20151210 吉備創生カレッジ第2回資料
 
20151126 吉備創生カレッジ第1回資料
20151126 吉備創生カレッジ第1回資料20151126 吉備創生カレッジ第1回資料
20151126 吉備創生カレッジ第1回資料
 
20150725 オープンキャンパス資料
20150725 オープンキャンパス資料20150725 オープンキャンパス資料
20150725 オープンキャンパス資料
 
20150603 全学講義講演資料
20150603 全学講義講演資料20150603 全学講義講演資料
20150603 全学講義講演資料
 
PCD作成手順
PCD作成手順PCD作成手順
PCD作成手順
 
PasQポスター
PasQポスターPasQポスター
PasQポスター
 
岡山県立大学オープンキャンパス資料
岡山県立大学オープンキャンパス資料岡山県立大学オープンキャンパス資料
岡山県立大学オープンキャンパス資料
 
20111102 研究室紹介(横田研)
20111102 研究室紹介(横田研)20111102 研究室紹介(横田研)
20111102 研究室紹介(横田研)
 
20101004 研究室紹介(横田研)
20101004 研究室紹介(横田研)20101004 研究室紹介(横田研)
20101004 研究室紹介(横田研)
 
平成22年度情報通信工学実験IB実施資料
平成22年度情報通信工学実験IB実施資料平成22年度情報通信工学実験IB実施資料
平成22年度情報通信工学実験IB実施資料
 
20091029 研究室紹介(横田研)
20091029 研究室紹介(横田研)20091029 研究室紹介(横田研)
20091029 研究室紹介(横田研)
 

Último

生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料Takayuki Itoh
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ssusere0a682
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationYukiTerazawa
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024koheioishi1
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2Tokyo Institute of Technology
 
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ssusere0a682
 
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptUniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptyuitoakatsukijp
 

Último (7)

生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
 
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptUniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScript
 

20100615 フレッシュマンセミナー