深化する情報教育 識字教育としての情報教育

これからの情報教育
識字教育としての情報教育
慶應義塾大学 環境情報学部
大岩 元([email protected])
コンピュータは超有能
• パソコンのクロックが1GHz
– 時間単位が10億分の1秒
– 1億倍以上の情報処理能力
• ジェット機の速度は歩く速度の250倍
“日本のソフト技術者“
日経経済教室(1992年6月6日)
• ソフト技術者不足は量でなく質の問題
• 情報工学科でもコンピュータ科学が教えら
れていない場合が多い
– 技術者の質のために生産性が問題
• 産学双方にコンピュータ科学の専門教育
が必要
– 達成されれば、人が余る
ACMプログラミングコンテスト
• 過去4回国内予選の優勝校は日本以外
• 2001年函館予選
– 1位 復旦大 2位 東大 3位東工大
• 2001年世界大会(ハワイ)
– 1位 上海交通大 2位 マサチューセッツ工科大
3位 ウォータールー大 ……… 18位 東大
中国人やインド人のIT技術者を
雇ってみると
• 日本人技術者とは技術レベルがはるかに
高い(教育を受けているから当然)
• しかし
– 言っただけのことしかやってくれない
– やりたいことを正確に言うのは難しい
– まずは日本語を覚えてもらわないと
ソフトウエア開発の問題点
プロジェクト依頼者の考えていたこと
プロジェクト要求書に書かれていたこと
システム分析者が設計したもの
プログラマが作ったプログラム
利用者側に導入されたプログラム
利用者が要求していたもの
University of London Computer Centre Newsletter No.53,March 1973
ブートストラッピング
コンピュータに最初のプログラムをどうやって書きこむか?
• 小さなブーターが次々と大きなプログラム
を読みこんでいく
• ブートストラッピングは汎用概念
– 言語学、素粒子物理、ベンチャー起業
• 情報処理能力のブーターは何か
– タイピング、プログラミング、図解力
情報処理能力のブーター
• 身体軸
– タッチタイピング
• 論理軸
– プログラミング
• 感性軸
– 図解力(発想力)
タッチタイピングのトレーニング
• タイピング能力の成長曲線
タッチタイピングのこつ
• 姿勢を正しく
• キーボードを見ないで練習する
– 決められた指使いをまもる
– そのために、ホーム・ポジションを確保する
• 文字を意識して打つ
– キー配列を覚えるのではない
上達するには
• 打ち方を覚えたら毎日使う
• 単語単位で打つようにする
– 1文字1文字打つのではない
• 打った結果を見てはいけない
キーボード練習法
• キーボード体操第一
– 機械的練習だが1時間で覚えられる
• キーボード体操第二
– 英単語を使い、3時間で覚える
• http://www.crew.sfc.keio.ac.jp/
– 研究プロジェクト -> キーボード体操
速い日本語タイピング
• かな漢字変換のタイムロス
↓
• 漢字直接入力へ
– 慶応大学が rto cp id yd で入力できる
TUTコード
プログラミング教育
• 6歳の子供も教えればできる
• しかし、大学生に教えるのは困難
日本の教育における論理能力育成の弱体化
•コンピュータ採点による入試
ハンガリーの幼児の作品
(5,6歳)
日本の幼児の作品
戸塚滝登氏のLOGO教育
• コンピュータに教わる教育から
コンピュータに教える教育に
• 学習障害児が文章題が解けるようになる
• 子ども達は11年たっても
正11角形の描き方を思い出せた
コメント
• コメントには目的を書く
×
○
double x; // xは正の数とする
double y;
double x; // xは正の数とする
double y;
// xの小数部は0.5以上か?
if((x - Math.floor(x)) < 0.5){
y = Math.floor(x); // xの整数部を
// yとする
}else if((x - Math.floor(x)) >= 0.5){
y = Math.floor(x) + 1; // xの整数部
+1を
// yとする
// xを四捨五入する(xの小数部は?)
if((x - Math.floor(x)) < 0.5){
y = Math.floor(x); // (0.5未満)xの
// 整数部をyとする
}else if((x - Math.floor(x)) >= 0.5){
y = Math.floor(x) + 1; // (0.5以上)xの
// 整数部+1をyとする
}
}
コメント
/**
* 家を描くプログラム
* 作成日:00.5.3 (1bcBコース教材より)
*/
import Turtle;
class House01 extends Turtle{
/**
* 家を描く
*/
void start(){
見出しコメント
// 屋根を描く
rt(30); // 前処理(タートルの角度を調整する)
int i;
for(i=1; i<=3; i++){
fd(100); rt(120);
// 三角形の一辺を描く
}
rt(60); // 後処理(タートルの角度を調整する)
}
}
// 本体を描く
for(i=1; i<=4; i++){
fd(100); rt(90);
}
// 四角形の一辺を描く
ブロックコメント
行コメント
家を描く「言霊」プログラム(I)
メインとは{
大きさが100の家を描く。
}ことである。
大きさが「A(整数型)」の家を描くとは{
長さがAの三角形を描く。//屋根を描く
長さがAの四角形を描く。//本体を描く
}ことである。
家を描く「言霊」プログラム(II)
長さが「A(整数型)」の三角形を描くとは{
右に30度曲がる。 A歩進む。
右に120度曲がる。A歩進む。
右に120度曲がる。A歩進む。
左に30度曲がる。
}ことである。
長さが「A(整数型)」の四角形を描くとは{
{
右に90度曲がる。
A歩進む。
}を4回繰り返す。
}ことである。
KJ法の流れ
• KJ法4つのステップ
http://www.crew.sfc.keio.ac.jp/lectures/kj/kj.html
KJ法 カード操作による発想
最初の試み
KJ法 カード操作による発想
やり直した直後
この段階では
はっきりとしない
知識
KJ法 カード操作による発想
完成版
新たな発想が
生まれている
これからの情報教育 (まとめ)
•
•
•
•
コンピュータは超有能
使いこなせなくても満足してしまう
IT技術者教育が成されていない
ユーザーも本質理解が必要である
– タッチタイピング 身体軸
– プログラミング 論理軸
– 図解力(発想力) 感性軸
レポート課題
• 自分の受けたプログラミング教育の報告
• (日本語)プログラミングをどのように考えるか
– サブジェクトは、 report[授業回数] report01
– サブジェクトは必ず小文字・半角文字で書く
– 自分の学部学年名前をメールの先頭に書く
• [email protected] まで
• 締めきり: 9月28日(火)24:00pm