2013年10月18日金曜日

教育理念: まとめ

  • 主体的な学びを促進する場をつくる
    ただ受動的に教わるよりも自ら進んで学ぶ方が何倍も教育効果は高いです.しかし,自主性に任せると称し実態としてただ放置することがしばしば行われますが,それでは,なかなか自ら学ぶようにならないものです.主体的な学びを促進するためには,学びやすい場を設計することが大事です.私たちは,主体的な学びに関する教育研究の最新成果を取り入れて,授業や研究室で主体的な学びの場づくりを行います.

  • 個性に応じて適切な学びの機会を与える
    入学試験や企業の採用活動において,最初から優秀な学生を厳選して採りたいと思っている人は多いでしょう.しかし私の経験からは,一見優秀でないように見える学生であっても,適切な学びの機会を与えることで,めきめきと実力をつけて見違えるように成長することがしばしばあると主張します.大事なのは,どのような学びの機会を与えればいいか,学生の個性をよく見て個別指導することです.私たちは,学生の個性を見極め,個性に応じた学びの機会を与える指導を行います.

  • 現実社会の中から問題を抽出して解決する経験を積ませる
    学生が社会に出るとさまざまな問題に直面します.それらの問題の多くは,1つの模範解答があるとは限らない複雑な問題です.業務の中で大小様々な問題を解決していくことが求められます.問題解決能力を高めるには,最初は簡単な応用問題から始め,徐々に複雑で現実的な問題に取り組む訓練を積むことが大事です.また,複雑な事象の中から本質的な問題が何なのかを抽出する訓練も必要です.私たちは,そのような問題の発見と解決を繰り返し訓練する機会を学生に与えます.

  • レビューを重視する
    実践的な知識や経験を蓄えるのに最も効果が高い方法は何でしょうか.私たちは,プログラミングではコードレビューが地道ではあるが最も教育効果が高いという結論に達しました.コードレビューは,学生が書いたプログラムについて,どうしてこのようにプログラミングしたのか意図を問いながら,プログラミングの妥当性を議論することを中心に行います.レビューを中心とした指導方法は,起業家育成に欠かせないビジネスモデリングにおいても有効だと私たちは信じています.私たちは,プログラミングやビジネスモデリングのレビューを中心とした実践的な指導を行います.


  • 自ら学ぶ力を習得させる
    技術や社会環境は急速に進化するので,陳腐化も早くなってしまいます.そのような状況では,一旦学んだら終わりではなく,常に学び続ける姿勢を身につけることが求められます.また,整備された教材が常に用意されているとは限りません.適切な指導者もいないかもしれません.いつかは独り立ちしなければならない,それが宿命です.私たちは,教材がなく指導者がいない状態でも,自力で学び続けることができるように学生を育て上げます.

2013年10月14日月曜日

教育理念: 自ら学ぶ力を習得させる

技術や社会環境は急速に進化するので,陳腐化も早くなってしまいます.ご存知のように IT や IT を利用したビジネスは,どちらも最も急速に進化して陳腐化する分野の1つです.

そのような状況では,一旦学んだら終わりではなく,常に学び続ける姿勢を身につけることが求められます.次から次へと出てくる新しいことを意欲的にかつスピード感を持って学習し続けられることが,ITに関わる人に最も求められる資質だと言っても過言ではないでしょう.

また,整備された教材が常に用意されているとは限りません.整備された教材自体は悪いことではありません.しかし,整備された教材が無いと学習できない状態,すなわち依存している状態は健全ではありません.世の中には,とても読みにくいドキュメントしか無い状況というのはよくあることです.ドキュメントがあるだけマシかもしれません.自ら試行錯誤した経験の中から,何かを学び取っていくことが求められるかもしれません.

適切な指導者もいないかもしれません.寡黙で厳しい昔ながらの職人気質の先輩の背中を見て学ばなくてはならない状況もあり得ます.教材と同じ意味で,いつでも誰かが優しく易しく教えてくれると思ってはいけないのです.

いつかは独り立ちしなければならない,それが宿命です.多くの教育者や教育機関,教材は,つい,手取り足取り丁寧に教えてしまいがちです.たしかにそのことによって学習の効果・効率・魅力は上がるでしょう.しかし,社会に出たらそんな状況はあり得ません.最初は丁寧に教えるとしても,いつかは独り立ちすることを前提に段階を踏んで鍛えていかなくてはならないのです.もしそうしないのだとしたら,常にやさしい教育をしつづけなければならないでしょう.それは「教育中毒」にしているのと一緒です.学生を教育中毒にすれば,教育ビジネスとしては美味しいかもしれません.しかし,それではダメなんだと私たちは断言します.
いったん自力で学ぶことができるようになったら,学び続けるサイクルを習慣づけるようにしていきます.その段階になったら,必要な情報を自分で集めて学び取ることができるようになるでしょう.教師と学習者が対等な立場で情報交換するように学び合うのが理想です.

私たちは,教材がなく指導者がいない状態でも,自力で学び続けることができるように学生を育て上げます.

2013年9月16日月曜日

教育理念: レビューを重視する

実践的な知識や経験を蓄えるのに最も効果が高い方法は何でしょうか.私たちは,プログラミングではコードレビューが地道ではあるが最も教育効果が高いという結論に達しました.コードレビューは,学生が書いたプログラムについて,どうしてこのようにプログラミングしたのか意図を問いながら,プログラミングの妥当性を議論することを中心に行います.
コードレビューの教育効果が高い理由はいくつかあります.
  1. コードレビューを通して教授された知識は,学生が自ら経験したことの延長線上にあることなので,身近で理解しやすく意欲も高まります.ただ聞くだけの講義より自ら考え手を動かす演習のほうが学習内容が定着しやすくなるのと同じ理由です.
  2. コードレビューでプログラミングの意図について答えることは,プログラミングを通して行った経験を振り返ることなので,学生が経験から学びを得ることに直結します.経験とふりかえりを対で行うことは,経験学習の観点から有効です.
  3. コードレビューを行うことは,学生の演習結果に対して適切なフィードバックを与えることなので,自分自身のプログラミングの良し悪しを即座に学ぶことができます.スポーツで鏡やビデオを見ながら自分のフォームを確認することと同じような学習効果が得られます.
  4. コードレビューは個別指導でもあるので,学生の理解度や習熟度に合った適切な指導を行いやすく学習効果が高まります.家庭教師や個別指導塾のことを考えれば,一斉講義よりも個別指導のほうが学習効果が高いのは納得いただけるでしょう.
もちろん,コードレビューには時間も手間もかかります.そこで,私たちはコードレビューの効率を高める様々な工夫を考えて実施しています.たとえば,上級生が下級生のコードレビューを行うことは,下級生はもちろん上級生もコードレビューを通して学ぶことができます.

レビューを中心とした指導方法は,起業家育成に欠かせないビジネスモデリングにおいても有効だと私たちは信じています.そこで,学生が書いたビジネスモデルを学生同士や教員,社会人の視点から数多くレビューする機会を設けています.


私たちは,プログラミングやビジネスモデリングのレビューを中心とした実践的な指導を行います.

2013年9月8日日曜日

教育理念: 現実社会の中から問題を抽出して解決する経験を積ませる

学生が社会に出るとさまざまな問題に直面します.社会全体の問題かもしれませんし,日々の業務の中で直面するような問題かもしれません.
それらの問題の多くは,1つの模範解答があるとは限らない複雑な問題です.一方,日本の受験で扱われる問題は,ただ1つの模範解答があることが通例です.しかし,ただ1つの模範解答があるような問題に慣れきっていると,現実の模範解答があるとは限らない問題に対処することができなくなるものです.そのため,受験勉強の思考パターンから意識を変えていく必要があります.
社会人は業務の中で大小様々な問題を解決していくことが求められます.すぐに解決できそうにない場合には,解決方法や解決できそうな人が既に存在するのか探すこともあるでしょう.いわゆる「デキる人」とは,様々な問題に柔軟に対処できる人ということでしょう.社会から学生に対して,そのような人になることが期待されています.

問題解決能力を高めるには,最初は簡単な応用問題から始め,徐々に複雑で現実的な問題に取り組む訓練を積むことが大事です.
解決方法が見出されていない未知の問題であっても,それを解決の方向に近づける定石が存在します.実は大学で行う研究活動の多くは,このような解決方法が見出されていない問題に取り組むためにも使えるのです.たとえば,研究活動の一環として書籍や論文を探したり読んだりします.これは問題に対して,既に知られている解決方法の中で有用なものはないか探すことに応用できます.
大学の研究室では,しばしばこのようなノウハウを口伝のように伝えているものですが,それでは効率的ではありません.世の中には,研究活動そのものをより良く行う方法についての研究が存在します.このような「研究活動についての研究」をメタ研究といいます.問題解決能力を効率的に高めるには,このようなメタ研究の成果を利用して,問題解決の定石を場当たり的ではなくきちんと体系立てて習得することが大切です.
問題解決の定石を学んだあとでは,簡単な問題から徐々に複雑な問題に取り組む訓練を積むことで,問題解決能力を高めることができます.よくある Project-Based Learning (PBL) や On-the-Job Training (OJT) では,このような訓練をせずに実践しか行わないことがしばしばありますが,それでは効果も効率も高まりません.私は,研究指導でも大人数授業でも,そのような訓練を盛り込んでいます.

また,複雑な事象の中から本質的な問題が何なのかを抽出する訓練も必要です.問題の本質を見出すことができれば,抜本的に解決できる可能性が高まります.一般に言われているように,的確に問題の本質を抽出するには,ある程度センスも必要かもしれません.しかし,私たちは,日々問題の本質を考える訓練を積むことで,問題の本質を抽出する能力を向上できると考えます.たとえば,似たようなパターンの中から共通の要素を見つける訓練を,プログラミングなどの実務に近い状況で行うことは,問題の本質を抽出する能力を高めるのに有効だと考えています.私の研究室指導では,こういった問題抽出の訓練を,レビュー活動や日々の活動のふりかえりに取り入れています.


私たちは,そのような問題の発見と解決を繰り返し訓練する機会を学生に与えます.

2013年8月31日土曜日

教育理念: 個性に応じて適切な学びの機会を与える

入学試験や企業の採用活動において,最初から優秀な学生を厳選して採りたいと思っている人は多いでしょう.
最初から優秀な学生を採っておけば,教育や研修の手間を省くことができます.その上,研究や業務の成果を早く確実に上げられるかもしれません.楽に成果を上げられるのであれば,言うことはないでしょう.

しかし私の経験からは,一見優秀でないように見える学生であっても,適切な学びの機会を与えることで,めきめきと実力をつけて見違えるように成長することがしばしばあると主張します.
たとえば,かつて成績がよくない学生が私の研究室を希望したことがあります.その学生によくよく話を聞いてみると,大学の授業に関心を持てなかったこと,自分の趣味に夢中に打ち込んでいたことなど,話してくれました.私は,勉強そっちのけで寝る間を惜しんで趣味に打ち込むような学生は,適切な動機づけと,いつでもアクセスできる学びの場を与えさえすれば,後は勝手に伸びていくだろうと判断して,その学生を採用しました.そして,私の研究テーマの範囲内で,その学生の興味を持ちそうな分野やテーマを辛抱強く提案し続けました.幸い,ほどなく学生が強く関心をもつテーマが見つかりました.その後,その学生は私が細かく指導しなくても勝手に研究し続けて,結果として驚くほど成長しました.
成績の良い別の学生は,それはそれで悩みがありました.どの授業もたいてい良い成績をおさめるので,かえって自分の強みが何なのか,絞りきれていませんでした.私が見たところ,その学生はまず積極的で素直だったので,技術者のコミュニティに参加させることにしました.その学生は色々な方々から可愛がられ,大いに刺激になったようです.しかし,そのうち壁に突き当たります.私はその学生に悩む時間を与えました.ついにはその学生は自分自身の進路を自力で切りひらきました.
1つ言えることは,学校の成績と社会で求められる技能の間に相関があまりないことでしょう.考えて見れば当たり前で,学校の成績は主として暗記したことをそのまま繰り返す能力だけしか評価していないことが多いです(残念ながら).それは学生の能力の一面を捉えることはできますが,それで全てではないというだけのことです.そもそも学校の成績だけを元にして学生の能力を分類することに無理があるのです.
そして,もう1つは私の経験から,引き出し方次第で学生が潜在能力を発揮できるものだということです.その例のいくつかは先ほど示しました.さらに具体的なアプローチを後で述べます.
この2つの理由により,一見優秀でなくとも,学びの与え方次第で成長させられる可能性が大いにあると改めて主張します.

大事なのは,どのような学びの機会を与えればいいか,学生の個性をよく見て個別指導することです.
研究室での指導では,研究テーマを学生に押し付けることはしません.たとえば学生に社会で将来どういう活躍をしたいかを自由に思い描かせます.そこからキーワードや個性を見出し,興味を持ちそうなトピックを提案します.興味や得意が見いだせない学生に対しては,とりあえず何かを作らせ,その様子を観察して適性を見極めることもあります.場合によっては心理学に基づく性格診断テストを使うこともあります.学生にじっくり考えさせるべき時には,こちらも焦らずじっくり待ちます.将来どうなりたいという方向性と,その学生のスタイルが見えてくれば,しめたものです.あとは適切なテーマと素材を与えれば,細かく指示しなくても勝手に研究が進みます.
たとえ大人数の授業であっても,個別指導を取り入れられないかを常に考えています.学生には能力差があるものなので,どんな授業でも,早く習得する学生となかなか習得できない学生が混在します.大事なことはその現実を受け入れることです.この問題に対する切り札は「自習可能な教材」です.一斉講義を最小限にして,自習可能な教材を与えて演習する時間を多く取ります.一斉講義をしない代わりに学生が演習している様子をよく観察し,早く習得した学生には適切な発展的な題材を与え,なかなか習得できない学生には個別にフォローアップをします.授業を通して学生が感じたことを収集し,フォローアップや今後の教材の改良,方向性の調整に生かします.それによって理想的な完全習得学習を実現できます.


私たちは,学生の個性を見極め,個性に応じた学びの機会を与える指導を行います.

2013年8月27日火曜日

教育理念: 主体的な学びを促進する場をつくる

私の教育理念について熟考しました.シリーズで紹介していきます.初回は「主体的な学びを促進する場をつくる」です.

-----------------------------------------------------------------------------------------
ただ受動的に教わるよりも自ら進んで学ぶ方が何倍も教育効果は高いです.
みなさんの経験でも,学校の授業,とりわけ日本では一般的な,教師から学生へ一方通行の講義によって教わっても,なかなか身につかないというのは実感していると思います.教師の板書やしゃべりは退屈かもしれませんし,授業の途中で疑問を持っても淡々と授業が進んでしまうので理解が追いつかないかもしれません.そもそも,その授業の内容に興味がないかもしれません.
これに対し,自ら進んで学ぶ場合には,自分でも驚くほど興味や意欲を持って取り組めることを経験している人も多いでしょう.たとえば,自分の趣味に打ち込むとき,資料を自分で調べたり試行錯誤しながら何かを作ったり自主的に日々練習したりしますが,そのときの集中力はとても高く,学校の授業で学ぶことと違い頭や体にすぐ覚え込ませることができるものです.
このように「自ら進んで学ぶ」状態を意図的に作り出せるとしたら,学校の授業が一変すると思いませんか? そのこともあって最近は「自ら進んで学ぶ」ことをうたった授業づくりが盛んです.

しかし,自主性に任せると称し実態としてただ放置することがしばしば行われますが,それでは,なかなか自ら学ぶようにならないものです.
なぜならば,人は生まれながらにして自主的に学ぶ姿勢を身につけているわけではなく,人によって学ぶ姿勢に個人差があるものだからです.その状態で,たとえば教師が全く介入せずに成り行きに任せて漫然とグループ学習を行うと,グループによってはうまく学びが促進されず,普通に講義を行う場合よりも低い教育効果しか得られない可能性が大いにありえます.そのような状態は,ただの放置です.放置するのでは,十分な自主性が育まれるとは限りません.

主体的な学びを促進するためには,学びやすい場を設計することが大事です.
たとえば,興味を持たせるための工夫をする,学生が興味を持った時にすぐに学習機会が得られるようにする(具体的には,資料等を取り寄せたり,自分でプログラミングして実験したりできるようにする),学生たちが自由に議論する(必要に応じて教師を交える)ような場を作る,学びを習慣づける取り組みを行うといったことを行います.これは近年話題になっているアクティブ・ラーニングの考え方の基本です.

私たちは,主体的な学びに関する教育研究の最新成果を取り入れて,授業や研究室で主体的な学びの場づくりを行います.

2013年8月2日金曜日

ソフトウェア開発の実務家が博士論文を書くことの意義

ソフトウェア開発の実務家がソフトウェア工学の博士論文を書くこと,つまりソフトウェア工学の研究手法を学んで実践できることの最大の意義は,ソフトウェア開発を科学的・工学的に改善することを学ぶことだと私は思います.

実務ではよく PDCA (Plan-Do-Check-Action) のようなサイクルでソフトウェア開発を改善していきますね.しかし,たとえば P 一つとっても,その計画を採用するときに,ただのKKD(勘,経験,度胸)だけを根拠にしていませんか? その計画に客観的な裏付けはありますか?
たとえば,あるソフトウェアを開発するのに用いる技法を選ぶときのことを考えてみましょう.できるだけ最善に近づけるためにはどうしますか? たとえば世の中にどのような技法があるのか,今までに技法を実践した前例がないかを網羅的に調べますよね? 大々的に採用する前に,試験的なプロジェクトで効果を実証してみたりしませんか? そもそも自分たちがどんな課題に直面しているのか,今までのソフトウェア開発活動をふりかえることもするでしょう.

ソフトウェア工学の実践研究では,実はこのような活動を次のように科学的・工学的に行っています.

  1. 問題定義: 今までのソフトウェア開発をふりかえって,何が課題かを定義する
  2. サーベイ: 課題に関連する研究や事例,技法などを網羅的に調査する
  3. 解決アプローチの検討: 既にある解決法を再利用しながら必要に応じて新たな解決法を追加提案する 
  4. 検証: 実際のソフトウェア開発に解決アプローチを適用してみて効果を実測する
このやり方をきちんと身に付けると,実務でも大いに役に立つはずです.博士論文を書くことは,このやり方を身につけるトレーニングになります.

博士号のとり方


社会人(ソフトウェア開発の実務家)が博士論文を書くときのコツは,いかに最小限の内容にするか,だと思います.社会人になると欲張りになって「あれもこれも」と盛り込もうとして収拾がつかなくなって年限オーバーということになりがちです.「引き算」です.一番大事な本質的な問い(リサーチクエッション)をいかに絞り込むかが勝負だと思います.


リサーチクエッションがある程度絞れたら,それを「仮説」「軸」として既存研究をサーベイします.似たようなテーマの研究を分類する「軸」を提案するようなサーベイ論文は,とてもわかりやすく有用です.

サーベイを終えると,何を自分がなすべきかが見えてきます.空白域になっているような領域があるかもしれません.また,軸の全体を統合するような方法論が不在かもしれません.理論が整っていない,あるいは逆に実践を伴っていないような領域があるかもしれません.そこが狙い目だと思います.最初にも述べた通り,博士論文は最小限の内容にするよう心がけるのが大事です.次の記事も参考にしてください.

ソフトウェア工学実践研究において「巨人の肩に乗る」ということ
http://zacky-sel.blogspot.jp/2013/01/blog-post_10.html

私の博士論文はダメダメだったんですが,その後ヨーロッパを中心に行われている「研究方法の研究(メタ研究)」を調べたり,実際に書かれた博士論文をいろいろ読んでみて,こうするべきだったんだということが後でわかった次第です.

博士号を取ろうとするすべての人に,まずは次の書籍を薦めます.





http://www.amazon.co.jp/gp/product/4990455509/ref=as_li_ss_tl?ie=UTF8&camp=247&creative=7399&creativeASIN=4990455509&linkCode=as2&tag=zacky1972-22

2013年7月15日月曜日

2013年度の教育活動の目標

2013年度の教育活動の自己目標を設定しました.


3つのミッション全てが教育活動に関連します.
  • IT・組込みシステムを活用・開発する多能工プログラマを育成すること
  • 確固たる価値観に基づいて未来の社会をデザインし行動する起業家を支援すること,およびそのような起業家マインドを持ったエンジニアを育成すること
  • 教育の研究成果をさまざまな形で社会に還元すること
「IT・組込みシステムを活用・開発する多能工プログラマを育成すること」に向け,
新カリキュラムのソフトウェア工学関連科目を「多能工プログラマの育成」にフォーカスし,内容を見直します.
キーコンセプトは次の2つです.

  • 最も効果が高いプログラミングの教育方法は,「コードレビュー」つまり,学生の書いたプログラムコードの改善点を議論することです.そこで,コードレビューを授業の中心的活動とすることを目指します.
  • コードレビューを中心として,さまざまなソフトウェア工学上の知識の多くを関連づけられるのではないかという仮説を私は持っています.そのような教育は,経験学習の観点からも望ましいです.そこで,ソフトウェア工学上の知識をコードレビューの中に折り込む授業スタイルの確立を目指します.
つまり「コードレビューを中核に据えたソフトウェア知識体系の教授」を目指します.

これを実現する上では,コードレビューは一種の個別指導なので手間がかかる点が最も大きな課題です.実現するために次のアプローチを取ります.
  • 指導者層を厚くする
    • コードレビューを行うのに十分な技量を持ったEAやTAを育成する研修プログラムを開発し,一人でも多くコードレビューの指導が可能な人を増やします.
    • 将来的には,理解の早い学生にもこの研修プログラムを適用し,指導側に回れるように教育します.
  • 一度に教える学生数を減らす
    • 演習系科目のクラスを分け,クラス内でも3~7人程度の少人数グループに分け,少人数で行き届いた教育ができるようにします.
  • 知識伝授のコストを減らす
    • 教授内容をeラーニング教材部品として多数準備して活用することで,知識伝授にかかるコストを減らします.

各科目の目標は次のとおりです.
  • 【計算機演習I】
    2013年度より別の先生に担当をバトンタッチします.そのため,次の3つの目標を掲げます.
    • 2012年度に導入したプログラミングの新教材の運用方法を新担当の先生に引き継ぎます.
    • 今までの授業を総括する場を設けます.計算機演習Iの新旧担当者だけでなく,後続科目の計算機演習IIの新旧担当者も総括の場に招きます.
    • プログラミング演習を早く修了してしまった学生向けに,アドバンストコースを提供することで,プログラミングへの興味関心を喚起します.
  • 【プログラミング言語処理系】【コンピュータシステム】
    学生の習得状況から考察して,「CPUの機械語レベルでのコンピュータの動作原理をよく理解するとプログラミング能力の向上につながる」という仮説を立てました.2012年度の調査で,かなり多くの学生がこのレベルのコンピュータの動作原理を理解していないことがわかりました.そこで,2014年度から実施する新カリキュラム「コンピュータシステム」では,コンピュータの動作原理の完全習得にとくに力を入れます.
    2013年度には現行カリキュラム「プログラミング言語処理系」との共通部分であるコンピュータの動作原理,コード生成・最適化の新教材を開発します.この中でとくにコンピュータの動作原理に重きを置き,習得効果を最大限に高めることを目指します.
    最終的には教科書の出版を目指します.
  • 【ソフトウェア設計論】【ソフトウェア設計・同演習】
    今までの完全習得学習を目指す方向性を継続します.2013年度では,より高い授業効果を目指すため,習得する順序を変更して効果を確かめます.
    また,2015年度からの新カリキュラム移行に向けて,新教材とコードレビューの研修プログラムの準備を進めます.さらにコードレビューを起点にしてオブジェクト指向やUMLにつながるような指導方法の実現について検討します.
    最終的には教科書の出版を目指します.
  • 【オブジェクト指向プログラミング演習】【プログラミング・同演習】
    2015年度からの新カリキュラム移行に向けて,新教材とコードレビューの研修プログラムの準備を進めます.新教材では,共同担当の先生の得意分野である画像処理にフォーカスし,基本的な画像処理アプリケーションの構築方法を習得する教育プログラムの開発を行います.
    最終的には教科書の出版を目指します.
  • 【カーエレクトロニクス技術概論】
    2012年度に開発した,ソフトウェアアーキテクチャに関する反転授業を再度実施し,授業効果を確かめます.
  • 【ソフトウェア工学概論】
    新カリキュラムの施行に伴い,大きく構成を変えます.2012年度に得られた反転授業の経験を生かし,反転授業を取り入れた独自の授業スタイルを開発します.授業テーマは「技術の学び方を学ぶ」「主体的に深く学ぶ」方向性です.授業を2部構成にし,前半で知識の習得を行いながら,調査の過程で生じた疑問点(リサーチクエッション)を提出させます.後半ではリサーチクエッションの中から選んで深く調査し,ポスター発表を行なって,そこでの議論をまとめます.
    前半の講義資料を元に,最終的には教科書の出版を目指します.
  • 【組込みソフトウェア】
    2012年度に打ち立てた授業の方向性を継続し,完成度の向上を目指します.
  • 【卒業研究指導・特別研究指導】
    「学生に主体的に問題を発見・解決させること」を主眼に置く研究指導の方向性を継続します.また,より実践的な学びの場を提供するために,全体目標に掲げたようにコードレビューを強化することと,地元企業を中心とした共同研究プロジェクトを立ち上げてインターンシップ的な学びの場を提供することを行います.

「確固たる価値観に基づいて未来の社会をデザインし行動する起業家を支援すること,およびそのような起業家マインドを持ったエンジニアを育成すること」に向け,次の目標を設定します.

  • ビジネスモデルキャンバスを使って,起業家マインドを学生に学ばせる方法を確立します.
  • 地元企業を中心とした共同研究プロジェクトを活用して,実際のビジネスについて学ぶ場を提供します.

これを受けて,各科目で次のような目標を設定します.

  • 【入門ゼミ】
    ビジネスモデルキャンバスを使って起業家マインドを学ばせるゼミを行います.ビジネスモデルキャンバスは,従来は難解な文章でしか記述できなかったビジネスモデルを9つの要素で可視化する手法です.ゼミの実施にあたり,1年生だけでなく上級生や社会人ともチームを組んでもらうことで刺激を与え深い議論になるように場を設定します.これに伴い2013年度から学科全員の指導をいったん中止し,小人数グループの指導に戻します.
  • 【グループ担任】
    学業が振るわない,あるいは生活態度が悪い学生のほとんどは,自己目標を持っていないと考えられます.そこで,自己目標を持たせるために,入門ゼミでも取り入れたビジネスモデルキャンバスを使った自己啓発の手法を実施します.
  • 【卒業研究指導・特別研究指導】
    前述のように地元企業を中心とした共同研究プロジェクトを立ち上げて学生に参画させ,実際のビジネスについて学ぶ場を提供します.理論面としては,前述のビジネスモデルキャンバスに加え,現代的な起業に有効な方法論であるリーン・スタートアップの考え方を取り入れます.
  • 【フューチャーセンター】
    学生の起業家マインドを奮い立たせるため,定常的に未来のあるべき姿について議論できる場として,フューチャーセンターを設立します.

「教育の研究成果をさまざまな形で社会に還元すること」に向け,
上記の各項目について,教科書の出版の準備,論文発表,ソーシャルメディアを通じた普及活動を行います.

2012年度の教育活動のふりかえり

2012年度の教育活動をふりかえりました.


【計算機演習I】

設定した目標
演習室環境の刷新に合わせてリニューアルします。担当範囲であるUNIXを含む演習室環境の操作方法とC言語プログラミングについて授業設計を行い,既存教材を最大限再利用して教材開発と授業の実施を行います。これらの施策によって「プログラミング嫌い」になる学生を減らすようにします。

総括

演習室環境が Linux から Mac に刷新されたことを受けて,授業設計を行い,教材を大幅に改訂しました.演習室環境の操作方法については教材を独自開発しました.またこの教材を他の学年の授業でも使用したことで,新しい演習室環境への移行に貢献しました.C言語プログラミングについては,教育工学の専門家である早稲田大学の向後千春先生の教材がこの授業に最も適切であると判断し,導入しました.さらに大福帳という学生と教員の間のコミュニケーションを円滑にする手法を取り入れて,学生の学習状況の把握に努めました.大福帳からは学生がプログラミングに意欲を持って取り組んでいる感触を得ました.2013年度からの新カリキュラムでは別の先生に交代することになったので,確実な引き継ぎができるよう心がけました.

【入門ゼミ】
設定した目標
学科全体でのグループディスカッション演習を全3回に拡大して実施する。同時に学生TAに対して積極的に指導し,能力開発を図ります。

総括
今年もグループディスカッションの演習を,情報メディア工学科70数名規模で実施し,学生らしい活気ある場を形成することに成功しました.とくに今年は学生TAが積極的に企画提案し,マシュマロ・チャレンジという,欧米を中心に急速に普及して注目を集めている取り組みを見つけてきて学生TA主導で実施しました.マシュマロ・チャレンジの反響は大きく,その後,2012年当時の1年生の有志が集まって,2013年度の新入生向けにマシュマロ・チャレンジを自主的に企画・実施しました.マシュマロ・チャレンジは,ひびきのキャンバスの新しい「伝統」になりつつあるのかもしれません.

マシュマロ・チャレンジについて紹介する TED 動画(日本語字幕あり): http://www.ted.com/talks/view/lang/ja//id/837

【プログラミング言語処理系】
設定した目標
授業評価が急速に悪化した原因を分析し,指導方法の見直しならびに学生に対するフォローアップの充実を図ります。

総括
授業評価アンケートの結果より,学生の理解・進捗度に合わせて授業を行なっていないことに対して不満が多かったのではないかという仮説を立て,大福帳を導入する取り組みを行いました.大福帳は,授業回ごとに学生が自由に感想や質問を書き,教師がコメントするというシンプルながら効果が高い教育ツールです.大福帳導入の結果,授業評価アンケートの各項目が0.3〜0.5ポイント程度向上しました.大福帳を導入することで,学生の学習進捗,とくにどこでつまづいているかが手に取るようにわかりました.そのことを利用して自習時間中に効果的に個別のフォローアップを行うことができました.次に,学生の個性とくに関心事を把握することができました.大人数講義では学生の顔が見えないものですが,どのような学生がいるのかを把握するのに有用な情報が得られました.さらに,学生が持つコミュニケーションに関する潜在能力を知ることができました.学生にコミュニケーション能力がないと言われて久しい昨今ですが,引き出し方次第でコミュニケーション能力を効果的に向上させることが可能ではないかと感心しました.この知見を広める目的で,ブログ記事として公開しました. http://zacky-sel.blogspot.jp/2013/03/daifukucho.html

【ソフトウェア設計論】
設定した目標
授業の完成度をより高め,完全習得学習の実現を目指します。また,この教育成果を元に論文発表や教科書執筆に結びつけます。

総括
期末試験において「1〜5機能程度の簡単な製品やサービスのUML図を読み書きできる」という実用上十分かつけっして低くない目標を設定しましたが,2年間で96%の学生が達成できるという教育効果の高い結果で,完全習得学習を達成しました.しかもMoodleを利用して授業中にとったアンケートでは「授業が楽しい」という声が多数寄せられました.この成果を北九州市で開催された国際会議 e-CASE 2013,ソフトウェア技術者協会教育分科会のワークショップ,熊本大学ランチョンセミナーなどで発表し,反響を得ました.さらに授業の完成度を高めるため,2013年度に向けてシラバスを改訂し学習目標を明確に定義し,授業計画を見直しました.

【オブジェクト指向プログラミング演習】
設定した目標
演習室環境の刷新に合わせてリニューアルします。また,採点ミスを未然に防ぐ施策を取ります。

総括
演習室環境が Linux から Mac に刷新されたことを受けて,教材を全面的に改訂しました.iPhone のソフトウェア開発ができるということで,学生の評判は上々です.また,採点ミスを未然に防ぐため,Moodle 上の採点を提出用の Excel シートに正確に転写できたことをチェックするプロセスに改めました.さらに2013年度に向けて授業内容を見直し,学習目標を明確に定義するようにシラバスを改訂しました.

【カーエレクトロニクス技術概論】
設定した目標
2011年度の方向性を維持し,さらなる改善に努めます。

総括
2012年度のカーエレクトロニクス概論の授業では,車載ソフトウェアで重要な地位を占めるソフトウェア・アーキテクチャについて扱うことにしました.普通の講義では学生の関心を引きつけられないと判断し,「反転授業」という最近教育界で注目を集めている手法もチャレンジしました.反転授業で何を反転するのかというと,授業と課外学習の役割を反転するという意味です.普通の講義では,授業時間中に知識を授け,課外で応用問題の宿題を行うのですが,反転授業では,e-learning などの予習資料を与えて課外で知識を授け,授業時間中では知識を応用するグループ学習などを行なうというスタイルです.実際に実施してみると手応えが大いにありました.この実験的成功を踏まえて,2013年度の大学院科目ソフトウェア工学概論で,反転授業を取り入れた独自スタイルの学習法を計画・実施することを決断しました.この知見はブログにも書きました. http://zacky-sel.blogspot.jp/2013/01/blog-post_9.html

【ソフトウェア工学概論】
設定した目標
ソフトウェア工学の専門外の大学院生にも理解できる授業を行う方針を継続し,学生のより深い理解につながるような学びの場を形成します。


総括
ソフトウェア工学の専門外の大学院生にも理解できる授業づくりとして,プロジェクト開発である点でソフトウェア開発と似たような特性を持ち,かつすべての大学院生が経験している卒業研究になぞらえたり,ソフトウェア開発がどのように行われるのかを体験できるワークを取り入れたりしました.Moodle を利用して授業中にとったアンケートでは,これらの方策を支持する学生の声が多数寄せられました.また,2013年度の新カリキュラムに向けて授業内容を見直し,わかりやすさは維持しつつ,より深い学びを促進するような仕組みを取り入れるようにシラバスを改訂しました.

【組込みソフトウェア】
設定した目標
特別講師と連携し,実践とくにプログラミングに関して強化するような教材を開発します。

総括
特別講師と教材を共同開発し,「技術そのものを学ぶのではなく,技術の学び方を学ぶ」というコンセプトに基づいて,組込みソフトウェア開発に必要な技術資料の読み方,設計・プログラミングのしかたを重点的に教える教材を作りました.独自アンケートでの学生の評価は高く,今後もこの方向性を強く打ち出していこうと考えています.この開発内容を受けて,2013年度に向けてシラバスを改訂し,学習目標を明確に定義しました.

【卒業研究指導・特別研究指導】
設定した目標
「学生に主体的に問題を発見・解決させること」を主眼においた研究指導を継続します。


総括
私の卒業研究・特別研究の指導方針は「学生に主体的に問題を発見・解決させること」としており,けっして私自身の研究の一部の作業を強いることはしていません.テーマの選定にあたっては学生と,将来どういう仕事をしたいか,どういう人物になりたいかの将来像をよく議論します.そして診断テスト等も活用して本人の適性についても議論します.卒業研究や特別研究そのものをゴールとするのではなく,人生の先を見通したゴールを設定し,その通過点として卒業研究や特別研究のテーマを決めます.一度の議論で決めるのではなく,最初の漠然とした希望から,適していそうな題材をいろいろ与えながら方針をすこしずつ固めていきます.2012年度に指導したどの学生についてもこのように研究を進めていきました.どの研究テーマも基本的に学生本人の発案によるものです.結果として,学生の積極的な主体性を引き出すことに成功し,特別な指導をしなくても発表会等に際し,自分の言葉でプレゼンテーションと質疑ができるように育てました.

2013年7月8日月曜日

ビジョンとミッション


クリックして新ブログへ

私,山崎 進のビジョンとミッションを,次のように掲げます.


【ビジョン】
  • 多様な価値観が並立する社会を支える個人や小規模組織を多く輩出・支援する
    生理的欲求や安全欲求がほぼ満たされた現代日本においては,いずれ個人それぞれが自己実現を目指す社会に変わっていくと信じています.そのような社会では,それぞれの多様な価値観を尊重しあうようになると私たちは考えます.その実現に向けては,全国民や大規模組織が単一の理想を追い求めるよりも,個人または小規模組織がそれぞれの価値観にしたがって迅速に行動する方が有利です.私たちは,確固たる価値観に裏付けられた機動性の高い個人や小規模組織を多く輩出・支援する教育者・研究者であろうというビジョンを掲げます.

【ミッション】
  • IT・組込みシステムを活用・開発する多能工プログラマを育成すること
    ソフトウェアは今後一層重要になります.ソフトウェア開発では人が最も大事な財産です.現在ではあらゆるコンピュータやデバイスがインターネットにつながります.またソフトウェアは,私たちのビジョンに示すような機動性の高い個人や小規模組織が社会に対し大きな影響力を持つことに貢献します.そのような支援をするためには,開発工程やいわゆるIT系・組込み系といった業界ごとに分断された狭い領域に特化した人材ではなく,工程や業界の枠を超えて1人でシステム全体を開発できる多能工プログラマが求められるでしょう.私たちはソフトウェア工学と教育工学の両方の知見に基づき,優秀な多能工プログラマーを1人でも多く輩出することを目指します.

  • 確固たる価値観に基づいて未来の社会をデザインし行動する起業家を支援すること,およびそのような起業家マインドを持ったエンジニアを育成すること
    私たちは,多様な価値観を尊重しあう社会の実現には,機動性の高い個人や小規模組織が多数存在することが不可欠だと信じています.その中核的な原動力は,確固たる価値観を持って行動する起業家だと私たちは考えます.社会の問題のほとんどは解がただ1つとは限りません.そもそも解が存在しなかったり,理想的な解が存在しても現実的でなかったりすることもあります.そのような問題を解決するには,さまざまな学問や技術を駆使して,実現可能な解を見つけ出していくこと,すなわちデザインの考え方が重要です.私たちは,まず既に活動している起業家にたいし共同研究・開発や人材育成などの面で支援します.また,学生に専門分野の枠を超える学びと様々な社会問題に挑戦する機会を提供することで,デザインの考え方を習得した行動力ある起業家の卵を1人でも多く輩出することを目指します.

  • 教育の研究成果をさまざまな形で社会に還元すること
    私一人でできることは限られています.一人でも多くの優れたプログラマや起業家の卵たちを育てるには,多くの仲間が必要です.加えて,私たちの教育・研究の財源の多くは税金に由来するので,私たちの研究成果はできる限り社会に還元するべきです.とくに私たちが重点的に取り組んでいるソフトウェア工学教育の研究成果を広めることで,より多くの優秀な人材を輩出することにつながるでしょう.私たちはソフトウェア工学教育の研究成果を,学術論文や学会等での口頭発表だけでなく,教科書,ブログ,勉強会などの多様な手段で提供することを目指します.

2013年5月30日木曜日

ふりかえり再導入


KPT を使ったふりかえりについて,今まで完全に誤解していました。

自律的に現場を改善できるチームをつくるための「ふりかえり」の進め方 ~ KPTと進め方のノウハウ ~Social Change!

ふりかえりで話すことは「仕事の進め方」についてです。仕事の進捗や報告の場ではありません。普段の仕事をするときより少し視点を変えて、自分たちの仕事の進め方を外から見る感じで考えます。なので、進捗会議とは別の時間をとって実施するのが良いでしょう。

そうなんです,今まで完全に進捗会議と混同していました。それで意義が見いだせず,楽しくないどころか苦痛すら感じていたので,習慣になりませんでした。

倉貫さんのブログを読み,考察した結果,学生に次の4点を強調して KPT を再導入してみました。

  1. 日々の作業の中で工夫したことに注目し,うまくいった続けたいことを Keep に,うまくいかなかったことを Problem に書く。
  2. Keep に対しては,さらにそれぞれがもっと促進するような工夫のアイデア出しをし,それを Try に書く。
  3. Problem に対しては,その問題点を解決するような工夫のアイデア出しをし,それを Try に書く。
  4. Try に挙がった項目の中から,明日からすぐに取り掛かりたいことを3つ選び出す。次回の振り返りまでは,それらを強く意識して取り組む。

効果はてきめんで,とても楽しくアイデア出しできました。

実例の写真をいくつか挙げてみます。


2013年5月29日水曜日

問題解決能力の育成を意図した授業設計に関するFD研修プログラムの構想と現状

日本教育工学会(JSET)研究会で発表しました。

「問題解決能力の育成を意図した授業設計に関するFD研修プログラムの構想と現状」
北九州市立大学 山崎 進 中溝 幸夫
長崎大学    寺嶋 浩介

日本教育工学会研究会「教育研修の設計と評価」 2013/5/18 長崎大学


2013年4月1日月曜日

国際会議 e-CASE 2013 で発表します


国際会議 e-CASE 2013 で発表します.タイトルは,Instructional Design of a Highly Effective Blended Learning Course with Group Discussion on UML Software Modeling です.


e-CASE 2013
http://www.e-case.org/2013/index.html

e-Education 10:20-11:50, April 3, 2013 Meeting Room 3

場所は北九州国際会議場です.

発表資料を公開します.



シラバスに込められた思い〜ソフトウェア設計論(2013)
http://zacky-sel.blogspot.jp/2013/02/2013-syllabus-software-design.html

2013年3月7日木曜日

大福帳が授業満足度に与える影響

私の授業「プログラミング言語処理系」に大福帳を導入してみました。その結果,授業評価アンケートで集計した授業の満足度(5点満点)が0.47ポイント向上しました。

この記事の感想・コメント等をぜひ右下の MessageLeaf にお寄せください!

大福帳については次の Google 検索で色々紹介されていますので,ご参照ください。
http://www.google.co.jp/search?q=大福帳+授業

比較対象は2011年度と2012年度の「プログラミング言語処理系」という授業です(シラバスはこちら)。この授業は,一般的な講義を行う授業ではなく,教科書と教材設計マニュアルに基づいて作成した自習教材を元に各自演習するという一風変わった授業スタイルを取っています。 2011年度と2012年度で異なる条件は次のとおりです。

  • 大福帳: 2011年度 未実施,2012年度 実施
  • 補助テスト(コンピュータの動作原理): 2011年度 未実施,2012年度 実施
  • 履修者数: 2011年度 66名,2012年度 58名
  • アンケート有効回答数: 2011年度 60名,2012年度 43名
基本的には授業満足度に影響を与える条件の違いは大福帳と履修者数,有効回答数です。補助テストは2013年度から始まる新カリキュラムに向けて実態調査をする目的で導入したもので,授業満足度に対して大きな影響はないと考えられます。履修者数が若干減ったことで授業満足度が向上する可能性や,有効回答数が減ったことで好意的な回答ばかりが集まった可能性もありえます。しかしながら,授業を行った主観的な実感としては,授業満足度に与える影響のほとんどの部分は大福帳の有無ではないかと思います。その根拠は,大福帳に寄せられた学生たちのコメントからの推察です。

大福帳といっても,かなり簡便な方法を取りました。
  1. 氏名と授業回15週に区切った学生がコメントを記述する欄を両面印刷したA41枚の用紙を準備します。(教員コメント欄は設けませんでした)
  2. 毎回の授業の最初に大福帳を各学生に配布し,授業中に感想・コメント等を記述してもらって,授業の最後に回収しました。
  3. 教師は授業時間外に,大福帳の感想・コメント等を読みます。何か書かれていた場合には,シャチハタ印を押印し,時には回答やコメントを記入します。書かれていない場合には斜線を引きます。すべての大福帳に教師の回答やコメントを書くわけではないという点がポイントです。ここで頑張り過ぎると続かないと思ったので,そうしています。大福帳にかける時間は毎週30分程度です。
  4. 中間・期末試験でもコメント欄を設けて大福帳として感想・コメント等を記述してもらいました。
  5. 15回の授業のうち2回だけ Moodle による電子的な大福帳を試行したことがあります。
毎年大学が実施している授業評価アンケートは次のように実施しています。
  • センター試験で用いるようなマークシート式の専用紙を用います。
  • 設問は次のとおりです。
    • 学生のプロフィールを聞く質問が3問(非公開)
    • 授業の進め方や成績評価基準について授業やシラバスで明確な説明があったか
    • 授業の内容に興味が持てるような工夫が行われていたか
    • 授業は,皆さん(学生)の理解度等を把握しながら進められたと思うか。
    • 担当教員の熱意を感じたか。
    • 授業は総合的に満足したか。
  • 各設問について「全くそう思わない」「そう思わない」「どちらともいえない」「そう思う」「強くそう思う」の5つから選択します。
  • 集計は,各設問について,「全くそう思わない(1ポイント)」「そう思わない(2ポイント)」「どちらともいえない(3ポイント)」「そう思う(4ポイント)」「強くそう思う(5ポイント)」として合計し,有効回答数で割ります。
結果は次の通りでした。
  • 2011年度(大福帳なし)
    • 3.82ポイント: 授業の進め方や成績評価基準について授業やシラバスで明確な説明があったか
    • 3.55ポイント: 授業の内容に興味が持てるような工夫が行われていたか
    • 3.42ポイント: 授業は,皆さん(学生)の理解度等を把握しながら進められたと思うか。
    • 3.68ポイント: 担当教員の熱意を感じたか。
    • 3.55ポイント: 授業は総合的に満足したか。
  • 2012年度(大福帳あり)
    • 4.16ポイント(+ 0.34) : 授業の進め方や成績評価基準について授業やシラバスで明確な説明があったか
    • 4.06ポイント(+0.51): 授業の内容に興味が持てるような工夫が行われていたか
    • 3.88ポイント(+0.46): 授業は,皆さん(学生)の理解度等を把握しながら進められたと思うか。
    • 4.00ポイント(+0.32): 担当教員の熱意を感じたか。
    • 4.02ポイント(+0.47): 授業は総合的に満足したか。
大福帳を導入することで実感した効果は次のとおりです。
  • 学生の学習進捗,とくにどこでつまづいているかが手に取るようにわかりました。そのことを利用して自習時間中に効果的に個別のフォローアップを行うことができました。また2013年度に授業を改善すべき点も明確にすることができました。
  • 学生の個性とくに関心事を把握することができました。大人数講義では学生の顔が見えないものですが,どういう学生がいるのかを把握するのに有用な情報が得られました。また,授業で例として取り上げる題材についてもヒントが得られました。
  • 学生が持つコミュニケーションに関する潜在能力を知ることができました。学生にコミュニケーション能力がないと言われて久しい昨今ですが,引き出し方次第でコミュニケーション能力を効果的に向上させることが可能なのではないかと感心しました。

2013年2月21日木曜日

ランチョンセミナー発表


3月1日(金)12時からランチョンセミナーで発表します。

タイトルは次のとおりです。
授業構想:MSQGPアプローチ 〜反転授業の応用

2013年度にリニューアルする大学院科目「ソフトウェア工学概論」の授業設計を発表します。
(シラバスはこちら)

次のようなことをしている方々にオススメです。
1. ソフトウェア工学教育の新しい学習スタイルを模索している
2. 反転授業をどう取り入れるか考えている
3. 能動的・自律的に深く学べる能力を習得させたい
4. 「MSQGPアプローチって何よ?」と疑問を持っている
5. 山崎を応援している

ランチョンセミナーは,オンラインで参加できる無料の教育に関する発表の場です。
ぜひよろしくお願いします。

http://cvs.ield.kumamoto-u.ac.jp/wpk/

2013年2月16日土曜日

シラバスに込められた思い〜組込みソフトウェア(2013)

シリーズの最後は大学院博士前期課程前期集中講義の組込みソフトウェアです。この科目の基本コンセプトは「技術の学び方を学ぶこと」です。

舘伸幸さんを特別講師として招いています。以前は森孝夫さんとも組んでいました。


もし,ご意見・ご感想などあれば,ぜひ右下の MessageLeaf にお寄せください。授業改善に役立てたいと思っています。


授業の概要(ねらい,テーマなど)

本授業では主に簡単な組込みソフトウェアの開発方法を学習します。開発対象のシステムは LED や押しボタンなどがついたシンプルなマイコンボードです。組込みソフトウェア開発のエッセンスはこのような単純なシステムの開発の中に詰まっています。
この授業でとくに重視しているのが,実開発でも用いられるハードウェアに関する資料を読みながら自律的に問題を解決していくプロセスです。技術は急速に進化するので知識は陳腐化していく運命にありますが,だからこそ,技術ではなく技術の学び方を学ぶことが強く求められます。

到達目標


  1. 与えられた関連資料を参照し,指定されたマイコンボードと1〜3種類程度のハードウェア部品からなる組込みシステムに,指定された1〜3機能程度の要求仕様を満たすソフトウェアをペアで設計・実装することによって,問題解決に必要なルールや手順を自ら編み出せる。

  2. 組込みシステムの定義を説明できる。
  3. Koopman の提唱する組込みシステムの応用領域の分類例について例と説明を考えられる。

  4. ISO/IEC9126の品質特性の中から,指定された組込みシステムに最も求められる品質特性がどれか,選択する理由とともに自分の言葉で主張できる。

学位授与方針との関連
  1. 知識・理解
    1. 組込みソフトウェアに関連する概念・用語を自分の言葉で説明できる。(到達目標1-4)
  2. 技能
    1. 開発に必要なモデリング・プログラミングの技能を身に付ける。(到達目標1)

  3. 思考・判断・表現
    1. 関連資料を参照しペアで議論しながら問題を自律的に解決できる。(到達目標1)

    2. 与えられた製品について,どのような品質が求められるか判断できる。(到達目標4)
  4. 関心・意欲・態度
    1. 開発するときにわからないことがあった場合に,人に尋ねるのではなく資料を自力で調べることを選択する。(到達目標1)

    2. 開発中の製品に求められる品質は何かを常に考える習慣を身につける。(到達目標4)

教科書
講義中に配布します。

参考書
B.P. Douglass “Design Patterns for Embedded Systems in C: An Embedded Software Engineering Toolkit”. Newnes, 2010. ISBN 978-1856177078

授業計画・内容
2013年度も引き続き授業改善を行うため,授業計画を変更する可能性が高いです。第1回のガイダンスでのアナウンスに注意してください。
  1. ガイダンス,概論 (1) 
  2. 組込みシステムのモデリング 
  3. 組込みシステムのモデリング 例題分析演習 
  4. 使用するハードウェアの説明,開発環境の構築 

  5. 簡単なプログラミング (1)
  6. 簡単なプログラミング (2)
  7. 設計演習 (1) 
  8. タイマーと割り込み 
  9. 設計演習 (2) 
  10. 開発演習 (1)
  11. 開発演習 (2)
  12. 開発演習 (3)
  13. 開発演習 (4)
  14. 概論 (2)
  15. 振り返り
成績評価の方法
到達目標ごとの成績評価
到達目標1: 演習課題: 40%
到達目標2: 試験: 10%
到達目標3: 試験: 10%
到達目標4: 試験: 10%
その他の評価項目
積極的な授業への参加: 30%

授業に対する準備事項
授業ではUMLによるモデリングとC言語によるプログラミングの能力が必要です。UMLモデリングとC言語プログラミングをよく復習しておいてください。

履修上の注意
授業ではUMLによるモデリングとC言語によるプログラミングの能力が必要です。UMLモデリング能力については学部3年生のソフトウェア設計論を,C言語プログラミング能力については学部1年生の計算機演習Iを受講していることが望ましいです。これらの科目を受講していない場合には,授業開始前に補習を行うので,担当教員に連絡してください。

担当者からのメッセージ
この授業では特別講師として組込みシステム開発経験が豊富な技術者を招聘しています。特別講師を通して,実社会で組込みシステムを開発するとはどういうことなのかを学んでいきましょう。

キーワード
組込みシステム,組込みソフトウェア,ソフトウェア・モデル,品質,設計,実装,プログラミング,UML
embedded system, embedded software, software modeling, software quality, software design, 
software implementation, programming, UML

2013年2月15日金曜日

シラバスに込められた思い〜ソフトウェア工学概論(2013)

ソフトウェア工学概論は,大学院博士前期課程の授業です。
新カリキュラムとなる2013年度に大幅リニューアルします。リニューアルの方針として,能動的・自律的に深く学べる能力の育成という目標を掲げました。そのためのアプローチとして,反転授業の考え方を取り入れ,独自のアレンジを加えています。


もし,ご意見・ご感想などあれば,ぜひ右下の MessageLeaf にお寄せください。授業改善に役立てたいと思っています。


授業の進め方

Part I では,到達目標1,2に対する内容を学習します。Part I の各トピックは次のように構成されます。

  1. メタファー: 教員が各トピックの概要と,ガイドとなる「たとえ(メタファー)」を紹介します。このたとえは,たとえ学生がソフトウェア開発経験が浅くとも,ソフトウェア工学上の重要なトピックを身近でわかりやすいように設計されています。
  2. 要約: 学生は教科書を予習して各トピックの要約もしくはトピック中のキーワードに関する紹介記事を記述します。要約はできるだけ短く,紹介記事は少し長くてもいいです。これにより学生の意識を「教師から教わる」から「自分で学ぶ」ように変えることを狙っています。学生は毎週,要約・解説記事を提出します。
  3. クエッション: また学生は調査の過程で生じた疑問点(リサーチクエッション)も記述します。リサーチクエッションは必ずしも高度でなくともいいです。むしろ素朴な疑問のほうが本質を捉えているものです。Part II でリサーチクエッションについて学習を進めます。それにより学生が深く学ぶことを狙っています。学生は毎週リサーチクエッションを提出します。
  4. ガイド: 教員が学生によって提出されたリサーチクエッションについて,学生がさらなる調査をする上でのヒントを提示します。Part II ではこのヒントを活用して学習を進めます。


Part II では,到達目標3に対する内容を学習します。

  1. 振り返り(1) : 学生は Part I で提出したリサーチクエッションの中から2つに絞り,表明します(学生はあとで選んだリサーチクエッションをそれぞれ発表します)。教員が各リサーチクエッションの発表日を割り当てます。
  2. 予習: 学生はリサーチクエッションについてポスターを作成します。
  3. プレゼンテーション: 学生は Part II の期間中に2回ポスター発表を行います。教員と発表当番ではない学生は,ポスターについて議論をします。
  4. 復習: 発表をした学生は2つのレポートを提出します。(1) 発表内容や質問,議論を総括したレポートと(2)リサーチクエッションについて解説する記事を書いたレポートです。
  5. 振り返り(2): 授業全体を総括します。



授業の概要(ねらい,テーマなど)



ソフトウェア工学は,ソフトウェア開発の理論と実践の両面の知恵を結集した知識体系です。実際のソフトウェア開発ではプログラミングだけでなく様々な作業を行います。この授業では,ソフトウェア開発がどのように行われているか概観します。
大学院生ともなれば,能動的・自律的に深く学べる能力を身につけることが欠かせません。この授業では,ソフトウェア工学を学ぶことを通して,能動的・自律的な深い学びかたを習得します。技術は急速に進化するので知識は陳腐化していく運命にありますが,だからこそ,技術ではなく技術の学び方を学ぶことが強く求められます。この経験は,大学院での研究活動におおいに役立つことでしょう。

到達目標


  1. 与えられたソフトウェア工学関連トピックについて,教員と教科書の助けを得ながら,自分の言葉で要約や解説を記述できる。

  2. 与えられたソフトウェア工学関連トピックについて,自分の言葉でリサーチクエッションを記述できる。

  3. 到達目標 2 のリサーチクエッションについて,教員の助けを得ながら,独自に調査してプレゼンテーションと解説記事を記述できる。
学位授与方針との関連
  1. 知識・理解
    1. ソフトウェア工学関連の概念・用語等の基礎知識を自分の言葉で説明できる。(到達目標1, 3)
  2. 技能
    1. ソフトウェア工学関連トピックについて,体系立てた方法で調査できる。(到達目標1, 3)

  3. 思考・判断・表現
    1. ソフトウェア工学関連のリサーチクエッションを独自に立てられる。(到達目標2)

    2. ソフトウェア工学関連トピックを調査する適切な方法を判断できる。(到達目標1, 3)

    3. ソフトウェア工学関連トピックを自分の言葉で表現できる。(到達目標1, 3)

  4. 関心・意欲・態度 
    1. 自らの関心・意欲に基づいて課題を設定し調査する態度を身につける。(到達目標2, 3)

教科書
ソフトウェア工学〜理論と実践 シャリ・ローレンス・プリーガー著 堀内泰輔訳 ピアソン・エデュケーション
Software Engineering: Theory and Practice, Shari Lawrence Pfleeger, Pearson Education.

参考書
主要な参考書を掲載します。学生の興味に応じて授業中にも紹介します。

実践ソフトウェアエンジニアリング〜ソフトウェアプロフェッショナルのための基本知識 ロジャー・プレスマン著 西康晴ほか監訳 日科技連出版社
Software Engineering: A Practitioner’s Approach. Roger Pressman. McGraw-Hill.

ソフトウェアエンジニアリング基礎知識体系-SWEBOK2004 松本吉弘訳 オーム社
SWBOK. IEEE Computer Society. available at http://www.computer.org/portal/web/swebok/home 

ソフトウェア開発201の鉄則 アラン・デービス著 松原友夫訳 日経BP社
201 Principles of Software Development. Alan M. Davis. IEEE Computer Society.

The Essence of Software Engineering: Applying the SEMAT Kernel. Ivar Jacobson et al. Addison-Wesley.

授業計画・内容 
私たちは,ソフトウェア開発経験の浅い学生の能動的・自律的な深い学びを促進することを狙って,この授業を設計しました。
授業は2部構成です。

Part I (概要の学習)
1.ガイダンス
2. 概論
3. プログラミング (1)
4. システム設計 (1)
5. 要求開発 (1) 
6. ソフトウェアテスト (1) 
7. プロセスのモデル化とライフサイクル (1)
8. プロジェクトの計画と管理 (1)  

Part II (ポスター発表)
9. 振り返り (1) 
10. 要求開発 (2)
11. システム設計 (2)
12. プログラミング (2),ソフトウェアテスト (2)
13.  プロセスのモデル化とライフサイクル (2) 
14. プロジェクトの計画と管理 (2) 
15. 振り返り (2)

2013年度は大幅な授業改善を行う予定です。Part I 第1回のガイダンスと Part II 第9回の振り返り(1)でのアナウンスに注意してください。

成績評価の方法
到達目標ごとの成績評価
到達目標1: 各トピックの要約もしくはトピック中のキーワードの解説を記述したレポート(Part I の毎週): 30%
到達目標2: 各トピックのリサーチクエッションとその動機を記述したレポート(Part I の毎週): 20%
到達目標3: リサーチクエッションについて調査したポスター発表(2回): 20%
     ポスター発表での議論の総括を記述したレポート(2回): 10%
     リサーチクエッションの研究成果の解説を記述したレポート(2回): 20%

授業に対する準備事項
学生は授業時間中の学習だけでなく予習・復習を多く行う必要があります。ただし,最低限どのような予習・復習をすべきかについては,教員がガイダンスならびに授業中に明示します。


少なくとも次のような予習を行う必要があります。
Part I
-トピックの要約,もしくはトピック中のキーワードの解説 (毎週)
-トピックのリサーチクエッションとその動機 (毎週)
Part II
- ポスター (2回)

少なくとも次のような復習を行う必要があります。
Part II
- ポスター発表での議論の総括 (2回)
- リサーチクエッションの解説 (2回)

履修上の注意
プログラミングなどのソフトウェア開発をした経験があるか,卒業研究などのプロジェクト活動を行った経験があることを前提としています。どちらも経験ない場合には補習をしますので,学期が始まる前に担当教員に相談してください。
授業中に日本語によるプレゼンテーションを行います。必要な日本語能力がない場合には,学期が始まる前に担当教員に相談してください。

担当者からのメッセージ
2013年度には「反転授業」という新しい授業スタイルを取り入れる,大きなリニューアルを予定しています。
反転授業でいう「反転」は,授業と課外学習の役割を反転させることを指します。普通の授業では,授業時間中に知識を吸収し,課外学習で応用問題の宿題を行います。しかし,反転授業では,知識吸収を自習教材で予習時間中に済ませてしまいます。代わりに教員と学生が一堂に会する授業時間を有効活用して,応用問題を扱うグループワークや質問に対するフォローアップなどを行います。こうすることで,さらなる授業の学習効果の向上を狙っています。
この授業では,担当教員の長年のソフトウェア工学の教育実践研究の成果を踏まえ,反転授業を独自にアレンジして取り入れています。この授業の設計にあたって最も重要な点は,くり返しになりますが,ソフトウェア工学に対する学生の自発的な問いに沿った深い学びのプロセスを促進することです。これを強化することで学生が卒業した後も自分の力で新たな知識を習得できることを狙っています。ソフトウェア分野は技術の多くが急速に陳腐化してしまうので,単に知識を習得できるだけでは不十分です。知識の習得のしかたそのものを学ぶ必要があるのです。

キーワード
ソフトウェア工学,ソフトウェア開発,プログラミング,設計,要求開発,ソフトウェアテスト,ソフトウェアプロセスモデル,ソフトウェアライフサイクル,プロジェクト計画,プロジェクト管理
Software engineering,  software development, programming, software design, requirements engineering, software testing, software process model, software life cycle, software project planning, software project management 



2013年2月13日水曜日

シラバスに込められた思い〜オブジェクト指向プログラミング演習(2013)

オブジェクト指向プログラミング演習(OOP演習)は学部3年次第2学期の科目です。私がインストラクショナル・デザインに基づいて新規開発した授業としては2作目にあたります。

近代的なソフトウェア開発を実践的に学ぶというコンセプトで始めました。ただ単に開発環境の使い方で終始するのではなく,ソフトウェア工学上重要な概念を強調することで,陳腐化しない知識も身につけられるように設計しました。強調しているポイントは,たとえばテスト駆動開発,Model-View-Controller アーキテクチャ,状態機械モデリングといった概念です。

2011年度までは開発環境と言語は Eclipse + Java でしたが,2012年度からは Xcode + Objective-C に変更しました。Objective-C は Smalltalk 由来の文法のため,メジャーな C++ や Java に見慣れた身からすると違和感を覚えるものですが,Xcode による支援もよくできていることもあって,慣れればスラスラと読み書きできるものです。

開発環境の変更にともなって授業内容についても2012年度に大幅なリニューアルをしました。2013年度は基本路線を踏襲しつつ教育内容を充実していく方向での改善を考えています。


もし,ご意見・ご感想などあれば,ぜひ右下の MessageLeaf にお寄せください。授業改善に役立てたいと思っています。


関連する教育実践研究の発表・論文


スパイラルカリキュラムという教育手法を取り入れています。詳細は下記を参照ください。まだまだスパイラルカリキュラムとしては未完成だと認識しています。


ランチョンセミナー
スパイラルカリキュラムによるソフトウェア工学教育
http://cvs.ield.kumamoto-u.ac.jp/wpk/?p=908

スパイラルカリキュラムによる
ソフトウェア工学 e-learning 教材の開発
http://cvs.ield.kumamoto-u.ac.jp/wpk/?p=1176

組込みシステム研究発表会
【中間報告】スパイラルカリキュラムによるソフトウェア工学教育
http://ci.nii.ac.jp/naid/110007993246

授業の概要(ねらい,テーマなど)

みなさんが「アプリ」という言葉を耳にした時に,たとえば Office, ウェブブラウザなどを連想するかもしれません。携帯のiアプリや, iPhone や Android などのスマートフォンで動作するアプリをイメージした人もいるかもしれません。このようなアプリを GUI アプリケーションと言います。

これからみなさんはオブジェクト指向プログラミング (Object-Oriented Programming: OOP) について演習を通じて学習します。OOPとはどのようなものなのか,全容を理解することはなかなか難しいのですが,「GUIアプリケーションを作るためには,OOPを習得することが必須だ!」といえば,みなさんは少なくともOOPの必要性について充分理解できるでしょう。実際,みなさんが本演習をすべて終えると,簡単なGUIアプリケーションが作れるようになれます。

実践的なソフトウェア開発ができる人材は,産業界からも強く求められています。単にプログラミングができるだけでは不十分です。ソフトウェア工学 (Software Engineering) の体系的な知見を実践に生かせる人材が求められています。また,最近は開発ツールの進歩も著しく,それらにある程度馴染んでおくことも,即戦力としては求められています。

このような要請を踏まえ,OOP演習では,最近の開発ツールを駆使したソフトウェア開発の全体像を体験すること,要所要所でソフトウェア工学との関連について触れることを重視しました。とくに品質の高いソフトウェアを開発するために必要な品質保証技術を重視するため,品質保証を重視した開発方法の一つであるテスト駆動開発 (Test-Driven Development: TDD) を取り入れることにしました。

次のような人はOOP演習を学習することを強く推奨します。

  1. 将来,ソフトウェア開発の仕事に携わりたい人
  2. 大学院に進学してソフトウェア工学を学びたい人

到達目標
  1. GUIアプリケーションをオブジェクト指向,Model-View-Controller,テスト駆動開発に基づいて開発できる。
  2. UMLのクラス図,アクティビティ図,状態機械図を Objective-C,Java, C++で実装できる。
  3. 他の学習者が開発した成果物(UML図,プログラムコード)に対してレビューやテストを行い,問題点を指摘できる。
  4. OOP演習に必要な概念(オブジェクト,クラス,継承,カプセル化,ポリモーフィズム,Model-View-Controller アーキテクチャ,テスト駆動開発,状態機械モデリング,パターン,リファクタリング) を,プログラムなどの実例を元に説明できる。
教科書
講義資料を Moodle で配布します。

参考書
E.ガンマ他著「デザインパターン」ソフトバンククリエイティブ
M.ファウラー著「リファクタリング 」ピアソンエデュケーション

授業計画・内容
2013年度も授業改善のため授業計画・内容を大きく変更する予定です。第1回のガイダンスでのアナウンスに注意してください。なお,下記の箇条書きの番号は必ずしも授業の回と対応していません。実際には学生の進捗に合わせて調整しています。
  1. ガイダンス
  2. はじめてのGUIアプリ開発〜Model-View-Controller アーキテクチャと状態機械モデル
  3. UMLモデルとプログラミング
  4. リファクタリング〜入門
  5. リファクタリング〜モデルとコントローラーの分離
  6. ソフトウェアテスト〜同値クラス
  7. ソフトウェアテスト〜モック
  8. ソフトウェアテスト〜状態機械モデルのテスト
  9. テスト駆動開発
  10. 状態機械モデリング〜電卓
  11. リファクタリング〜電卓
  12. ソフトウェアテスト〜電卓
  13. 電卓開発実践
  14. 電卓開発仕上げ
  15. 振り返り
成績評価の方法
到達目標ごとの成績評価
到達目標1: 演習課題: 70%
到達目標2: 演習課題: 10%
到達目標3: 演習課題: 10%
到達目標4: レポート:   10%

授業に対する準備事項
  • UMLのうちとくにクラス図,状態機械図,コミュニケーション図を読み書きできる必要があります。3年次第1学期のソフトウェア設計論をよく復習しておいてください。
  • UML のクラス図と状態機械図を基にオブジェクト指向プログラミング言語で実装できる必要があります。3年次第1学期のソフトウェア設計論をよく復習しておいてください。
  • C言語で関数内部を実装できる必要があります。1年次第1学期の計算機演習IのC言語プログラミングをよく復習しておいてください。
  • 上記の準備事項で挙げた能力の習得が不十分である場合には補習をします。授業開始前に担当教員に相談してください。
履修上の注意
3年次第1学期のソフトウェア設計論を必ず履修しておいてください。オブジェクト指向プログラミング演習では,ソフトウェア設計論の内容を理解していることを前提とします。教務システムの都合上,ソフトウェア設計論を履修していなくてもオブジェクト指向プログラミング演習を履修できますが,その場合はソフトウェア設計論の内容を補習してもらいます。

キーワード
オブジェクト指向プログラミング,ソフトウェア開発,ソフトウェア工学,ソフトウェア・モデリング,テスト駆動開発,リファクタリング, UML
object-oriented programming, software development, software engineering, software modeling, test-drived development, refactoring, UML



2013年2月11日月曜日

シラバスに込められた思い〜ソフトウェア設計論(2013)

ソフトウェア設計論は,私が担当する授業の中で最も教え方が洗練されている,いわば自信作です。これは根拠のない自信ではなく,学生から「とても楽しい授業でした!」というような声が多数寄せられるような実績も伴っています。

この授業で行なっている教え方は,インストラクショナル・デザイン(Instructional Design) に基づいています。教え方に興味を持った人はぜひ調べてみてください。このブログでもたびたび紹介しています。


もし,ご意見・ご感想などあれば,ぜひ右下の MessageLeaf にお寄せください。授業改善に役立てたいと思っています。


授業名について
ソフトウェア設計論 (Software Design) は,私としては本当は「UMLソフトウェアモデリング (UML Software Modeling)」と名付けたいところです。なぜならば,この授業で扱っている内容は,ソフトウェアの設計にとどまらないからです。そもそもUMLやその基盤となっているオブジェクト指向という考え方は設計に特化した考え方ではなく,ソフトウェアライフサイクル全体に渡って使われるものなのです。そう考えると,「ソフトウェア設計論」という名前とのギャップはわかってもらえますかね?

授業範囲について
一口にソフトウェアモデリングといっても学習対象はとても広く,何を学ぶべきかの取捨選択はとても難しい判断となります。この授業ではソフトウェアモデリングの中でも基礎中の基礎である「UMLの読み書き」に徹しています。これがが自由自在にできることが,ソフトウェアモデリングを習得する上で最も大切なことだと私は考えています。

授業設計について
前項に掲げた大目標である UML の読み書きを習得させるために,この授業ではさまざまな工夫をしています。興味のある人は,次項目のランチョンセミナーでの発表を参照してください。

2013年度では今まで2年分の授業を行った経験を振り返ってシラバスを見直し,とくに到達目標,授業計画・内容,成績評価の方法の3点について,緻密に計画を練り直しました。

関連する教育実践研究の発表・論文

ランチョンセミナー
ソフトウェアモデリング教育の開発 ~初心者のC(自信)を重視した授業づくり〜


e-CASE 2013
Instructional Design of a Highly Effective Blended Learning Course with Group Discussion on UML Software Modeling


授業の概要(ねらい,テーマなど)

この授業では,最近のソフトウェア設計で用いられる UML (Unified Modeling Language) によるソフトウェアモデリングの手法の基礎を学びます。UML は設計段階だけでなくソフトウェアライフサイクル全体にわたって使われます。最近のソフトウェア開発では,いきなりプログラミングするのではなく,UMLなどを使って分析したり設計したりすることから始めます。現在ではUMLはソフトウェア開発における「読み書き」の基礎能力だといってもいいでしょう。

この授業で扱う UML を用いたソフトウェア・モデリングの考え方は,「ソフトウェア」と銘打ってはいますが,他の分野でも応用できます。たとえば力学シミュレーションや制御,ビジネス・プロセスなどの応用事例があります。

単なる座学ではなく,身の回りの製品やサービスをUMLで記述するような演習課題をたくさん行います。学生が行う作業量は多いですが,その分,実践的なソフトウェア・モデリングの能力を身につけることができます。教え方をいろいろ工夫していますので,確実に,しかも楽しく学べるでしょう。

到達目標
  1. モデリングに関連する概念を説明できる。
  2. 代表的なモデリング手法であるUML(Unified Modeling Language)の図の種類や表記法を説明できる。
  3. 与えられた1〜5機能程度の簡単な製品やサービスについて書かれたUMLモデルを読み取って,自然言語で説明できる。

  4. 与えられた1〜5機能程度の簡単な製品やサービスについて自然言語で書かれた記述を元に UMLモデルを記述できる。

  5. 与えられた1〜5機能程度の簡単な製品やサービスについて書かれたUMLモデルの誤りや曖昧な点,不明な点を指摘できる。

  6. 与えられたクラス図,アクティビティ図,状態機械図を元にJavaなどのオブジェクト指向言語でプログラミングできる。
  7. 世の中のあらゆる物をモデリングしようとする態度を身につける。
教科書
講義資料を Moodle で配布します。

参考書
牛尾 剛「オブジェクト脳のつくり方」翔泳社 ISBN: 978-4798104188 
第13回 でこの本の一部を用います。

平沢 章「オブジェクト指向でなぜつくるのか」(第2版) 日経BP社 ISBN: 978-4822284657
オブジェクト指向についての背景知識や意義を知りたい場合に参照してください。

授業計画・内容
授業改善のため変更する可能性があります。第1回のガイダンスでのアナウンスに注意してください。
  1. ガイダンス,モデリングの概念と特徴,モデリングの態度,機能・構造・振る舞い,目的論的モデリング
  2. UML 概論,初心者が最低限覚えるべき UML の図と記法 10 パターン
  3. 初心者が最低限覚えるべき UML の図と記法 10 パターン 強化演習
  4. 組み合わせパターン(クラス図)
  5. 組み合わせパターン(クラス図) レビュー演習
  6. 組み合わせパターン(クラス図) 強化演習・グループワーク 
  7. 組み合わせパターン(ユースケース図,ユースケース記述)
  8. 組み合わせパターン(状態機械図)
  9. 組み合わせパターン(状態機械図) 強化演習
  10. 複数種類の UML 図を用いたモデリング
  11. 複数種類の UML 図を用いたモデリング レビュー演習 ・グループワーク
  12. 複数種類の UML 図を用いたモデリング 強化演習・グループワーク
  13. オブジェクト指向プログラミング
  14. UMLモデルからのプログラミング
  15. 振り返り グループワーク (モデリングの概念と特徴,機能・構造・振る舞い)
成績評価の方法
到達目標ごとの成績評価
到達目標1: レポート: 10%
到達目標2: 小テスト: 10%
到達目標3: 期末試験:10%
到達目標4: 期末試験:20%
到達目標5: 期末試験:10%
到達目標6: 演習課題: 10%
到達目標7: レポート: 20%
その他の評価項目
積極的な授業への参加: 10%

授業に対する準備事項
  • 身の回りにある製品やサービスを題材にモデリングを行うことが,この授業の中心的活動です。そのため,家電製品やウェブサービスなどに親しんでいると,この授業の役に立ちます。
  • 第1回「モデリングの概念と特徴」「機能・構造・振る舞い」で,何らかの設計図を見た経験があると理解の助けになるでしょう。
  • 第13回「オブジェクト指向」第14回「UMLモデルからのプログラミング」で,オブジェクト指向プログラミングを行います。そのため,C言語の文法を一通り理解していること,C言語で演習レベルの簡単な問題をプログラミングした経験があることが前提です。
具体的には次の項目を復習するといいでしょう。
    • 計算機演習I : 表示,キー入力,変数,条件分岐,配列,繰り返し,関数
    • 計算機演習II: ポインタ,構造体
    • アルゴリズムとデータ構造: 配列,リンクリスト,2分木,スタック,キュー
履修上の注意 
3年次第2学期のオブジェクト指向プログラミング演習の履修を希望する学生は,必ずソフトウェア設計論を履修してください。オブジェクト指向プログラミング演習では,ソフトウェア設計論の内容を理解していることを前提とします。教務システムの都合上,ソフトウェア設計論を履修していなくてもオブジェクト指向プログラミング演習を履修できますが,その場合はソフトウェア設計論の内容を補習してもらいます。

担当者からのメッセージ
授業方法にこだわりさまざまな工夫をした結果,学生から「楽しかった!」「ためになった!」という声が多数寄せられました。私の授業を受講した先輩たちに感想を聞いてみてください。

キーワード
ソフトウェア・モデリング,UML,ソフトウェア工学,ソフトウェア開発,オブジェクト指向
software modeling, UML, software engineering, software development, object-orientation

シラバスに込められた思い〜プログラミング言語処理系(2013)

シリーズ「シラバスに込められた思い」として,私の担当授業のシラバスを紹介しながら,書ききれなかった思いをつづります。

もし,ご意見・ご感想などあれば,ぜひ右下の MessageLeaf にお寄せください。授業改善に役立てたいと思っています。

第1弾は学部2年生向け科目「プログラミング言語処理系」です。この授業では主にコンパイラの原理について学習します。大きく2部構成になっています。前半ではプログラムを読み取る「解析部」について,後半では解析部の情報を元にアセンブリ言語を生成する「合成部」について扱います。解析部と合成部では用いる原理が大きく異なっているので,授業や応用分野にも大きな違いがあります。

そのため,2013年度から始まる新カリキュラムでは,「解析部」と「合成部」で分割し,それぞれ別の科目と吸収・統合しています。この科目は学部2年次科目なので,2014年から新カリキュラムの科目としてリニューアルします。

2014年に大幅リニューアルすることから,2013年度は基本的に今までのシラバスのままです。しかしながら小規模な授業改善は随時行なってきています。たとえば2012年度には大福帳を取り入れることで,学生に対するきめ細やかなフォローアップを行いました。2013年度には新カリキュラムを見据えて,主に合成部の部分について新教材を投入する予定です。

ちなみに学生時代は今の専門のソフトウェア工学と違ってプログラミング言語処理系の合成部に関連する研究を行なっていました。ソフトウェア工学とプログラミング言語処理系の両方を修めた経歴が,今の大学教員ポストの獲得にあたって,とても役だちました。

この授業「プログラミング言語処理系」での授業方法の特徴は,まず講義を聞く従来型のスタイルではなく,自習が中心であることです。もう1つの特徴は,学ぶ内容の特性を考慮して学び方が設計されていることです。このような学び方の設計のことをインストラクショナル・デザインと言います。私の授業はすべてインストラクショナル・デザインに基いて開発されています。この科目は私が大学教員になってから初めて15週分の講義資料を開発した科目なのですが,教材設計マニュアルを参考にインストラクショナル・デザインに基づいて開発した私にとって初めての科目でもあります。

シラバスは次のとおりです。先にも書きましたが,2014年度に大幅リニューアルが予定されているので,シラバスとしては2012年度までのものをそのまま踏襲しています。今となっては改修すべき部分が多くあります。

授業の概要(ねらい・テーマなど)
プログラミング言語は人間の指示をコンピュータに伝える重要な1手段である。また,それを確立するためにプログラミング言語処理系は数多くの計算機科学の理論的成果を用いている。本授業では字句解析,構文解析,意味解析,コード生成,コード最適化の各原理と,スクリプト言語や言語処理系の開発ツールを用いた実践の両面から学習する。

教科書
配付資料,コンパイラ 中井 央著 コロナ社

参考書
プログラミング言語処理系 佐々政孝著 岩波書店
コンパイラ〜原理・技法・ツール(I,II)A.V.エイホ他著

授業計画・内容
授業改善のため変更する可能性がある。
第1回のガイダンスでのアナウンスに注意すること。
1. ガイダンス,概論
2. 字句解析(理論編1: 正規表現からNFAへ)
3. 字句解析(理論編2: NFAからDFAへ)
4. 字句解析(実践編: flex を使った字句解析器の実装) 
5. 構文解析(導入編)
6. 構文解析(実践編: yacc を使った構文解析器の実装) 
7. 構文解析(理論編1: 下向き構文解析器)
8. 構文解析(理論編2: 上向き構文解析器)
9. 意味解析
10. 前半の講義のふりかえり,確認テスト
11. 実行時環境
12. 仮想計算機とコード生成
13. 最適化
14. 応用編
15. まとめ

成績評価の方法
小テスト,中間試験,期末試験 80%  基本的な内容を理解しているかを確認する。
レポート 20% 深く内容を理解しているかを確認する。

授業に対する準備事項
各自が自習できるように教材を構成している。多くの回で小テストを課す。

履修上の注意
計算機演習I,計算機演習II,アルゴリズムとデータ構造を十分に理解しておくこと。
形式言語とオートマトンの履修を推奨する。

担当者からのメッセージ
プログラミング言語処理系の知識は,一見マイナーな印象を受けるかもしれませんが,実は色々と応用がききます。第1回授業で応用分野も含めて概説します。演習を取り入れた学習量の多い講義ですが,頑張って実のある講義にしていきましょう!

2013年2月8日金曜日

2012年度卒業研究タイトル


私の研究室での2011年度の卒業研究の発表者とタイトルは次のとおりです。

上篭 翔太 ETロボコンプロジェクトへのPMBOKの時間管理となぜなぜ分析の適用
岡村 典明 初学者による開発に伴うデザインパターンとリファクタリングの学習プロセスと教訓
小山 哲之 要求変化に対するアジャイル型開発手法の有効性の事例研究
森 龍志  アジャイルソフトウェア開発のイテレーションでの失敗と対策の事例研究
中野 麻美 ソフトウェア開発初心者によるチケット駆動開発の問題点と教訓の考察
安永 岳史 自然言語の文法に基づいたObjective-Cの命名ガイドラインの作成

発表会は2月15日(金) N410-4 で行われます。私の研究室は13:45〜15:15です。

2013年1月30日水曜日

2012年度修士論文


私の研究室での2012年度の修士論文の発表者とタイトルは次のとおりです。

上之園 倫哉 自作アプリケーションに対するユーザーテストにおいて思考発話が与える影響の分析

岡部 竜   CBMCを用いたC言語関数の事後条件導出によるゼロ除算例外処理の検出

私の研究室の修士論文発表会は2月6日(水) 9:25より北九州市立大学ひびきのキャンパスN410-4で行います。
今年も残念ながらネット中継や録画等はしません。直接参加いただくか,「このテーマの詳細希望」というようなコメント・メッセージを右下の MessageLeaf にいただけたら対応します。

2013年1月20日日曜日

学習環境づくりの細かいこだわり (1) 空調

私は集中できる学習環境作りとして,細かいところ,たとえば空調にも気を配っています。

室温が暑かったりすると頭がボーっとしてしまって集中できなくなります。逆に寒いと手がかじかむなどして議論や作業どころではなくなります。

私は意識的にこまめに体感温度を気にしてエアコンディショナーのスイッチを操作したり窓や戸を開け閉めしたりしています。体感温度というのが大事です。快適か不快かを身をもって判断します。とくに大きい教室だとどうしても温度にムラができてしまうので,教室を歩きまわって体感温度を確認します。

こうやって室温調整することで授業や演習に集中してもらえるのであれば,よろこんで労力を割きますよ。他にもイベントを開催するときにも室温はよくチェックします。入試業務に関わることもありますが,その場合もこだわりますね。

この記事では「授業で◯◯に気を配っています」「先生が◯◯をしてくれたのがよかった」などのコメントを募集します。ぜひ右下の MessageLeaf までお寄せください。


2013年1月17日木曜日

非ネイティブの英語力を向上させる取り組み


猪瀬さんの英語を恥ずかしがる人が恥ずかしい件

"そこの英語が堪能な人たち、おめでとう。(中略) そんなあなたには、他の人の英語を公の場所でバカにするのではなく(ぼく自身これを何度もやってきており、相当後悔している)、個人的にそっと間違いを指摘してあげたり、どうやったら正しい英語が使えるようになるのか啓蒙する人であってほしい。そっちの方がはるかに生産的だし、日本人の総体的な英語力の向上にもつながるだろう。"

いや,間違いの事例とそれをどう直すべきかを,ぜひ公開して紹介してください。そのような事例が Google 検索できるようになっていると,非ネイティブが英作文するときに,とても参考になります。

個人的こき下ろしは要らないのは同意です。でも,個人の主観を排した客観的な意見ならば,広く世に広めたほうが役に立ちます。そういう知的資産なのです。

巨人の肩とも共通の部分がありますね。

ソフトウェア工学実践研究において「巨人の肩に乗る」ということ

2013年1月16日水曜日

惰丸(ダマル)日記 第1章〜「スタンフォードの自分を変える教室」を実践してみた

クリックして新ブログへ

この1週間,「スタンフォードの自分を変える教室」を読みながら実践しました。


この本は,目標を確実に達成するための,科学(心理学・生理学)的に有効性が示されている方法を紹介しています。

本に書かれていたことの中で,この1週間で特に有効だったメソッドを挙げていきます。

  1. 達成すべき目標を1つに絞り込んで明確にしたこと。私の場合は,他にもいろいろ達成したい目標はありますが,目下の小目標である論文執筆にフォーカスしました。目標を絞り込んだおかげで余裕が生まれ,客観的かつ冷静に取り組めたのがよかったのだと思います。
  2. 目標達成を妨げる自己に「惰丸(ダマル)」と名付け,「仮想敵」としたこと。これが一番効果あったかもしれません。自己を責める心情ではなく,外敵をやっつけるのだという心情になることによって,そうとう気持ちが楽になりました。
  3. 「惰丸(ダマル)」が現れる状況はどんな時か,日々振り返ったこと。これによって,目標達成を妨げる原因を特定し,具体的な対応策を考えることが可能になりました。
  4. 「惰丸(ダマル)」に負けそうになった時に,深呼吸したあと小さなタスクから取り組みなおしたこと。目標達成をおろそかにする衝動的な気分になってしまうことは日々の活動の中で頻繁に起こりえますが,深呼吸すると意欲が生まれます。また小さなタスクから取り組むとペースを取り戻しやすくなります。
  5. 極度に疲労しないように調整したこと。体力・気力が削がれると意欲も極端に落ちます。

惰丸(ダマル)日記の第1章は終わりましたが,論文はまだまだ書かなければならないですし,ほかにもやるべきこと,やめるべきこと,意志を貫きたいことはたくさんあります。この本に書かれているメソッドが無意識の習慣になるまで,惰丸(ダマル)日記を続けていきたいと思います。

惰丸(ダマル)日記 第1回

「スタンフォードの自分を変える教室」を読んで実践していく過程を記録しようと思います。

直近の最大の目標は「論文誌に乗るレベルの論文を投稿しまくる」です。お恥ずかしい話ですが,このまま論文の業績を出さないと大学教員でいつづけることができなくなってしまうのです。

第1章によると,対立する2つの自己(賢い自分,衝動的な自分)を意識し,衝動的な自分の方にあだ名をつけるのが有効なのだそうです。

さっそく妻が命名しました。「惰丸(ダマル)」です。怠惰,無駄の象徴です。そう,ことごとく惰丸(ダマル)のせいで,論文が投稿できないのです。私が,レールの上を猛スピードで疾走している時に,惰丸(ダマル)がコッソリポイントを切り替えるので,私が走るべきレールを見失うのですw

惰丸(ダマル)日記 第2回

論文を書くか書かないかを「選択した瞬間」を振り返ると,自己コントロールを強化できるのだとか。

昨日は午前中に論文を書く予定だったのだけど,急遽,子を病院に連れて行く必要が出てしまったので予定が狂ってしまいました(幸い,子の病気は大したことありませんでした)。子がいるとどうしてもイレギュラーなことが起こってしまいますね。

そこで,夜に論文を書こうと思ったのですが,子の寝付かせをしたら自分も寝てしまいました。惰丸(ダマル)発動ですね。今思えば,寝付かせを妻にお願いするべきでした。

今,目が醒めたのですがかなりボンヤリしているので,起きて論文を書き始めるか,もう一度寝てスッキリした頭で論文に取り組むべきか,悩ましいところです。

とりあえず,まとまった時間,PCに向かって作業することが大事なので,たとえば Facebook はスキマ時間だけチェックすることにしようかな。(そういうわけで,スミマセン,レスポンス悪くなります)

惰丸(ダマル),なかなか手ごわい。。。

すぐに寝付けないようなので,単純作業だけでも論文を進めておこう。

だんだん快調になってきて,良い感じで書き進みました。

惰丸(ダマル)日記 第3回

昨日の後半はすっかり惰丸(ダマル)にやられてしまいました。未明に起きたので論文を書き進めたのですが,頑張りすぎた反動で昼からはあまり進められませんでした。できなかった原因は,雑用が多かったこと,そして何と言っても体力的にきつかったことでした。そのため夜はこんこんと寝てしまいました。 稲見さんの心配があたってしまいました。

「スタンフォードの自分を変える教室」の目次の第3章に「疲れ」の話が載っているので,そのうち実践しようと思います。

さて,第1章の最後に瞑想の話が書いてありました。瞑想の効果については学生時代に剣道をしていたので経験していましたが,「瞑想が下手な方が効果が上がる」のは知りませんでした。さっそくやってみます。久しぶりにやってみて,集中力を研ぎ澄ますのに役立つことは実感しました。が,5分がとても長く,とても耐えられませんでした。また,子が居る中ではなかなか厳しいですね。でも続けていこうと思います。

惰丸(ダマル)日記 第4回
昨日は博多でとても楽しみにしていたイベントがありましたが,論文を書き進めなければならないので,午前中に諸準備をしていました。
博多に行ってから合間の時間に論文を書こうとも思っていましたが,イベント前は移動と食事で時間がつぶれ,イベント後は興奮と酒の余韻に浸っていて,できませんでした。

その分を取り戻そうと,今朝は惰眠をむさぼりたいとも欲求に駆られたのですが,惰丸(ダマル)に負けてはならんと発奮し,集中して論文を書きました。そのおかげで論文前半のハイライトの最も主要な部分が書けました。昨日午前中の準備が生きて,今朝ははかどりました。よしよし。

「スタンフォードの自分を変える教室」のメソッドは,本当に理にかなっているなぁ。

惰丸(ダマル)日記 第5回
今日は妻の実家で夕食だったのですが,あまりに長居したので,論文執筆に焦るあまり帰りに,つい妻に激昂して八つ当たりしてしまいました。本当にゴメンナサイ。そもそも締め切り直前になって書き始める私が悪いよね。。。

さて,私は論文を書くことそのものも億劫ですし,英語は苦手意識があってついつい後回しにしてしまいます。今回の論文は苦手な英語なのですが,しばらく書いて慣れ始めると,実は英語で論文を書くことそのものはそれほど嫌いではないことを発見しました。自分の教育研究の成果を英語で書くと,なんかこう,思考が整理されるのです。「あぁ,自分はこういうことをやってきたのね」と気づかされることが多々あります。今書いている論文を書き終えても,この感触を忘れないうちに,次の論文を書こうっと。

たぶん,私が論文嫌いなのは,査読とか発表後の質疑応答とかなんだろうなぁ。

※同僚の先生が熱いコメントを寄せてくれました。

惰丸(ダマル)日記 第6回

3連休最終日。妻が1日じゅう子を連れて実家や外に遊びに行ってくれる計らいのおかげで,論文執筆にまる1日専念できました。ずっと集中して取り組んだので,手を焼いた執筆中の英語論文も残すところ3項目を書けばひと通り書き終わりです。ようやく終りが見えました。妻に感謝です。

今朝,思い立って Facebook の設定を大きく変えました。「親しい友達」に気になる人を入れておくと,その人がなにか書くと「お知らせ」に表示されるという機能があり,私はそれをフル活用してチェックしていたのですが,思い切って全削除してみました。今まで「お知らせ」が気になってついついチェックしてしまっていましたが,この習慣を断つ効果が期待できます。その代わり,みなさまへのフォローが行き届かなくなるわけですが,ご容赦いただければと思います。今年は論文を含む実質的なアウトプットを行うことで成果を還元していきたいと思います。

惰丸(ダマル)日記 第7回

ついに目下の懸念であり目標だった英論文1編をひと通り書き終えました。「スタンフォードの自分を変える教室」にしたがい「惰丸(ダマル)」を仮想敵として論文執筆に取り組んで1週間になりますが,まずは当初の目標を達成したといっていいのではないかと思います。

総括をする前にここ数日での取り組みを書き残しておきます。
昨日1月15日ですが,午前中は少しの時間ではありましたが,論文執筆に取り組むことができました。しかしその後モチベーションが下がるような出来事がありました。そのせいで午後はゼミを回すだけで一杯一杯で論文執筆どころではありませんでした。

「スタンフォードの自分を変える教室」にも,意欲・気力が削がれたり疲労したりすると,目標達成に向けた日々の活動に取り組まなくなってしまうことが多いと書かれています。たしかにそのとおりです。

そこで,昨晩は体力回復に全力を注ぎました。おかげで,今日は朝から意欲的に論文執筆に取り組みことができ,ついに達成できた次第です。

2013年1月10日木曜日

ソフトウェア工学実践研究において「巨人の肩に乗る」ということ

私の友達の,あるソフトウェア工学実践研究者の方が,次のようにボヤいていました。
(自分が考案したアイデアについて文献を調べていくと似たような技術がすでに提案されている状況に対し) こういうことの繰り返しなので、オリジナルの方法論を作るのは無理なんじゃ無かろうかと思う次第。
https://twitter.com/mkoszk/status/288920530625638400

このかたは実践経験豊富な実力あるソフトウェア工学実践研究者だと私は思っているのですが,そういう方でもこういうことを思うのだなと興味深く思いました。

もちろん私自身もこういう経験あります。修士論文を書く時に,一生懸命プログラムをいじりながら自分で考えていって,いざ論文を書こうという段階で関連研究調査を始めたところで既に類似の研究があることを見つけたときの無力感。

ちなみに私は研究者としては半端者なので,いまだにこの手の過ちを繰り返しています。なんて進歩がないのだろうか(苦笑)

さて本題です。真のソフトウェア工学者は,こういうとき「巨人の肩に乗る」アプローチを取るものです。「巨人の肩に乗る」ことで常人は自分の背丈以上に遠くを見渡すことができます。「巨人の肩に乗る」でいうところの巨人とは,既存の膨大な研究資産のことを指す比喩です。既存研究資産に乗っかる形で自分の研究を書くことで,その研究が既存研究資産を活用して大きな仕事を行うことができるということを意味しています。

私が修士論文を書いた後の話をしましょう。恥ずかしながら修士論文発表会では散々でした。だって,類似の研究があって,それに対する自分の研究のオリジナリティがどこにあるのかを明示できなかったのですから。でも,転んでもタダでは起きませんでした。発表会が終わった後,猛勉強して研究論文を読みあさり,ついに自分の研究のオリジナリティがどこにあったのかを見出すことができました。それだけでなく,そのオリジナリティの部分をきちんと実現するとどんな可能性がひらけるのか,展望を見出すことができました。そのアイデアを発表会を聞いた周囲の先生方に話したところ「それなら行けるかもしれない」とようやく認めてもらうことができました。そのアイデアを元に学会に論文を投稿することになります。

「巨人の肩に乗る」とは,つまり,こういうことなのです。まずとにかく,自分が思いついたアイデアが,世界の中でどういう位置づけにあるのかを明確にする。そのためには自分のアイデアに関連する研究論文を,とにかく読み漁る。そういうことをすると,真にオリジナルの部分は,ごくごく小さいかもしれない。「自分のしたことは,こんなちっぽけなことなのか」と悲嘆するかもしれない。
でも,むしろそれでいいのです。そこが問題なのではないのです。問題は,その小さな貢献によって,どんな価値が生み出されるか,なのです。「第1章はじめに」で書くべきことですね。




思えば,私は巨人の肩に乗ることが生来的には下手なのだろうと思います。だって,人の話を聞いたり文献を地道に調べたりするよりも,自分で一からアイデアを考えて妄想するほうが好きなんだもの。

こういうタイプの人でも,やりかた次第で巨人の肩に乗ることはできます。

  1. 先に自分のアイデアをひと通り書く。
  2. その中で重要そうなキーワードを抽出し,それを元に文献を探す。あるいは,アイデアを指導教員など先行する研究者に話し,何を探したらいいかキーワードを尋ねる。
  3. 文献を読み漁る。最初に書いた自分のアイデアを適宜書き換える。ただし,主旨を曲げないように! 新たに思いついたアイデアがあったら足してもいい。
  4. 自分のオリジナリティを抽出する。いくつかの構成要素に分解できるかもしれないので,それに合わせて論文や章立てを分割する必要があるかを検討する。
アイデア先行型の人は,こんな感じで研究を進めるといいですよ。

2013年1月9日水曜日

「予習・復習」の授業設計



http://www.shidaikyo.or.jp/riihe/research/arcadia/0498.html
「学校に於ける1時間の講義のことしか考えず、(学生の)自発的研究時間である後の2時間のことは全然念頭にない。したがって、1時間の講義をさらに2時間の学生の自発的活動で如何にして補わしめるための工夫、努力もなされず、またそのための新しい教授法の研究にもほとんど手がそめられていない。」(大學基準協会、1951、26頁一部、漢字を簡体字に改めた) 
日本私立大学協会 アルカディア学報 No.498「突き当った深層 大学改革は新しい段階に」 (客員研究員 金子元久 筑波大学大学研究センター教授)より



文部科学省が諸外国にならって定めているのですが,講義1時間に対し予習・復習を2時間することになっています。しかし日本の大学の実態としては形骸化していることが多いのではないでしょうか。その理由の1つに,引用した部分に書かれている「予習・復習=学生の自発的研究時間」を考慮した工夫をしていないということが挙げられます。

私は最近になってようやく「学生の自発的研究時間」の2時間のことを考えられるようになりました。でもそれは,研究や教育について経験を積んだこと,インストラクショナル・デザインを学んだこと,教育の実践と試行錯誤を繰り返したことによってようやく獲得できた技能のように思います。とても研究の片手間に1人で出来ることではないと私は考えます。

やはり,1人で研究と教育の両方をすべて考える現行の体制に無理があるように思います。諸外国で取り組まれているような,たとえば,研究の専門家と教育の専門家が手を携えて高等教育を形成していく,このような仕組みでないと抜本的な改善はできないのではないでしょうか。

さて,私が試みている「予習・復習の授業設計」について少しお話しします。ポイントは4つあります。

  1. 1回の授業で何を学ばせたいのか,学習目標を明確にする。
  2. 学習目標を達成させるために必要が学習課題を洗い出す,課題分析を行う。
  3. 課題を学習するための自習教材を準備する。
  4. 自習教材は,他人が作った教材を積極的に再利用する。どうしても必要な教材だけ自作する。

1〜3 については教材設計マニュアルに実践的な方法が詳細に書かれていますので,そちらを参照して実践と試行錯誤を繰り返してください。
4の教材の再利用は,とても重要なことですが,意外と難しいと個人的には思います。普段から教材についての情報収集を怠らないことも必要ですし,何より教材の良し悪しを短時間で見極める目が要求されます。教材の良し悪しを見極めるには,インストラクショナル・デザインに基づいて自分でいくつも教材を開発しないとなかなか身につかないと実感しています。

上記の1〜4ができるようになると,自ずと効果的な予習復習教材を準備できます。ここまでくれば,はやりの反転授業まで,あと一息です。

それで最初の主張に戻るのですが,やっぱり研究の片手間に教育はできないよね,と思います。教育の片手間に研究もできませんし。そういうわけで,私は一緒に研究と教育に取り組むパートナーを求めています。興味のある方は右下の MessageLeaf へどうぞ。


2013年1月7日月曜日

ワークシフト

クリックして新ブログへ


ワークシフトを一気に読み終えました。


ワーク・シフト (孤独と貧困から自由になる働き方の未来図<2025>) (Kindle)


ワーク・シフト ― 孤独と貧困から自由になる働き方の未来図〈2025〉 (紙書籍)

この本は,基本的ではあるが本質的に時代の潮流を捉えている特性をテクノロジーの進化,グローバル化の進展,人口構成の変化と高寿命化,社会の変化,エネルギー・環境問題の深刻化の5つの観点で網羅的に取り上げています。また,それらの特性によって導かれる未来のワークスタイルを(明るい見通しだけでなく暗い見通しも含めて)論理的に洞察し,詳細かつ具体的に描写しています。

この本は私にとって大きな意外性はなかったのですが,社会に対する分析を整理し,自分自身の方向性を確認する上でとても有用でした。

私の今のワークスタイルは,この書籍で紹介されている「主体的に築く未来の明るい日々」の3つのワークスタイルそれぞれの主要な要素を含んでいる,けっこう先を行った働きかたなのだなぁと実感しました。

社会に対する知識や経験に乏しい学生たちには,とくにオススメできます。

2013/1/13 追記:
この本「ワークシフト」には未来の働き方について「正解」は書かれていません。読者が自分の業界に当てはめて考察する材料を提供しているのだと私は思います。

目次
  • 働きかたの未来は今日始まる
  • 働き方の未来を予測する
  • なにが働き方の未来を変えるのか
    • 未来を形作る5つの要因
  • 「漫然と迎える未来」の暗い現実
    • いつも時間に追われ続ける未来
    • 孤独にさいなまれる未来
    • 繁栄から締め出される未来
  • 「主体的に築く未来」の明るい日々
    • コ・クリエーションの未来
    • 積極的に社会と関わる未来
    • ミニ起業家が活躍する未来
  • 働き方を<シフト>する
    • 第1のシフト: ゼネラリストから「連続スペシャリスト」へ
    • 第2のシフト: 孤独な競争から「協力して起こすイノベーション」へ
    • 第3のシフト: 大量消費から「情熱を傾けられる経験」へ
  • 未来のために知っておくべきこと

2013年1月5日土曜日

ブログリニューアル: 2013年の抱負

2013年の新たな年を迎えて,ブログをリニューアルしました。ただ見た目が変わっただけでなく,タイトルも「ソフトウェア教育研究室: Software Education Laboratory」に変えました。Engineering を Education にしたわけです。

これは,ライフワークとして本格的にソフトウェア教育に取り組む決意をしたことをブログでも表明しようということです。(Facebook では既に何度もつぶやいていましたが)


ライフワークとして取り組むためには,適切なマイルストーンの設定が重要です。そこで,2013年のマイルストーンを次のように設定しました。


  1. 研究活動: 2013年は論文誌にたくさん投稿します。自ら手がけている教育実践を論文化するだけでなく,学生が取り組んだ卒業論文・修士論文の中からも論文誌に投稿したいと思います。
  2. 教育活動: 教育の改善活動は引き続き行いますが,論文化を意識して計画的に行おうと思います。まず,きちんと分析を行なって改善すべき点を明確にします。次に,改善効果を評価できる体制を整えます。無計画に改善活動を行なって論文化が思うように進まない状態から脱します。
  3. 組織活動,地域貢献活動: 今までの有形・無形の資産を元に,学生たち,同僚の先生たち,技術者のみなさん,地域のみなさんに,これまで以上に貢献していきたいと思います。税金を使っているのですから,成果を還元するのは当然です。
心のなかで,それぞれについて定量的な到達目標を設定していますが,それは表明しないことにします。