ソフトウェア開発の教育のビジョンを語ろう

ソフトウェア開発の教育のビジョンを語ろう
日本ソフトウェア科学会第 32 回大会 (2015 年度) 講演論文集
ソフトウェア開発の教育のビジョンを語ろう
山崎 進
北九州市立大学でのプログラミングを中心とするソフトウェア開発の教育の今までとこれからについて語る.
「自ら学
ぶ力を持たせる」
「個性に合わせて長所を伸ばす」
「現実社会の問題解決の経験を積ませる」教育の実現と普及を通し
て,創意工夫にあふれた社会の形成に貢献しようとしてきた.これまでインストラクショナル・デザイン,反転授
業,アクティブ・ラーニングを取り入れた授業づくりと共同研究型インターンシップに取り組んできた.成果は出始
めているので,今後は拡充と普及に努めたい.
We’ll talk about the past, the present and the future of our software development education including programming in University of Kitakyushu. We are contributing to establishment of creative society through
realization and spread of education embodying ”mastery of self learning”, ”providing tailored learning” and
”mastery of problem solving”. We’ve work on instructional design including flipped classroom and active
learning, and collaborative research internships. We produce successful results and will enlarge and spread
our education.
ラムを提示し,それに沿ってこれまでに公表してきた
1 はじめに
各授業科目の ID 実践事例を紹介し総括する.
情報系の学科においてプログラミングをはじめと
次に我々のソフトウェア開発教育のビジョンを提示
するソフトウェア開発の能力を学生に習得させること
したい.プログラミングが苦手な学生を減らそうとい
は重要であることに異論はないだろう.しかし,情報
う思いで始まった改革ではあるが,その延長線上には
系の学科出身者の中でプログラミングを苦手とする
情報系の学科の卒業生の多くが就業することになる
者が少なからず存在することに頭を痛めている現状
システムエンジニアをどのように育成するかという
がある.もちろん北九州市立大学国際環境工学部情報
課題がある.それに対する答えとして「自ら学ぶ力を
メディア工学科 (以下,本学科) も例外ではなかった.
持たせる」「個性に合わせて長所を伸ばす」「現実社
この現状を変えようという問題意識に立ち,2009
会の問題解決の経験を積ませる」教育が理想像だと考
年から教材設計マニュアル [3] に基づいてインストラ
えている.
クショナル・デザイン (ID) による自習教材づくりに
さらにそのビジョンを実現するにあたって今後取り
取り組み始め,順次授業科目を刷新していき,2013
組むことについて述べたい.これには普及促進のた
年度入学生から実施されるカリキュラム改定で全面的
め,本発表の全体にわたって今までの成果物を紹介す
に導入した.
ることも含んでいる.
本発表では,まず我々のこの経験を総括することを
以下の構成は次の通りである.第 2 章では,カリ
目的とする.ソフトウェア開発とその周辺のカリキュ
キュラムと授業科目を開発するにあたってよりどころ
とした ID について紹介する.第 3 章では,我々のソ
A Vision of Software Development Education
Susumu Yamazaki, 北 九 州 市 立 大 学 国 際 環 境 工 学 部,
Faculty of Environment Engineering, University of
Kitakyushu.
フトウェア開発教育のビジョンを提示する.第 4 章で
は,我々がビジョンに沿ってどのようなカリキュラム
と授業科目を開発してきたかを紹介する.第 5 章で
は,今後取り組む授業科目を紹介する.最後に第 5 章
でまとめる.各章の参考文献として提示することで,
今までの成果物を紹介していく.
3. 1 自ら学ぶ力を持たせる
技術や社会環境は急速に進化するので,陳腐化も早
くなってしまいます.そのような状況では,一旦学ん
だら終わりではなく,常に学び続ける姿勢を身につけ
2 インストラクショナル・デザイン (ID)
ることが求められます.また,整備された教材が常に
インストラクショナル・デザイン (ID) とは,学習の
用意されているとは限りません.適切な指導者もいな
効果・効率・魅力を最大限に引き出すために計画的に
いかもしれません.いつかは独り立ちしなければなら
教育や学習環境を作り上げていくことである.ソフト
ない,それが宿命です.私たちは,教材がなく指導者
ウェア開発において議論されているのと同様に ID にお
がいない状態でも,自力で学び続けることができるよ
いても教育プログラム開発の工程 (分析:Analysis, 設
うに学生を育て上げます.
計:Design, 開発:Development, 実施:Implemetation,
評価:Evaluation) が定義されており,頭文字をとって
3. 2 個性に合わせて長所を伸ばす
ADDIE モデルと呼ぶ.アジャイル開発プロセスのよ
入学試験や企業の採用活動において,最初から優
うに工程を繰り返して改善していくことが推奨され
秀な学生を厳選して採りたいと思っている人は多い
ている.
でしょう.しかし私の経験からは,一見優秀でないよ
筆頭著者が ID に取り組むにあたり,特に初期時点
うに見える学生であっても,適切な学びの機会を与え
では教材設計マニュアル [3] を参考に進めた.また ID
ることで,めきめきと実力をつけて見違えるように
の理論的背景や研究動向を把握するために主にガニェ
成長することがしばしばあると主張します.大事なの
の著書 [1] を参考にした.
は,どのような学びの機会を与えればいいか,学生の
個性をよく見て個別指導することです.私たちは,学
3 ビジョン
生の個性を見極め,個性に応じた学びの機会を与える
我々は 2013 年に教育理念として次の 5 つをまとめ
指導を行います.
た [18].
1. 主体的な学びを促進する場をつくる
3. 3 現実社会の問題解決の経験を積ませる
2. 個性に応じて適切な学びの機会を与える
学生が社会に出るとさまざまな問題に直面します.
3. 現実社会の中から問題を抽出して解決する経験
を積ませる
それらの問題の多くは,1 つの模範解答があるとは限
らない複雑な問題です.業務の中で大小様々な問題を
4. レビューを重視する
解決していくことが求められます.問題解決能力を高
5. 自ら学ぶ力を習得させる
めるには,最初は簡単な応用問題から始め,徐々に複
2015 年にビジョンを見直すにあたって,2, 3 ,5 が
雑で現実的な問題に取り組む訓練を積むことが大事
目的により近く,それ以外が手段により近いと考え
です.また,複雑な事象の中から本質的な問題が何な
た.目的に近いものを元に文言を改め優先順位を見直
のかを抽出する訓練も必要です.私たちは,そのよう
して定義したのが次の 3 つの教育方針である [29].
な問題の発見と解決を繰り返し訓練する機会を学生
1. 自ら学ぶ力を持たせる
に与えます.
2. 個性に合わせて長所を伸ばす
3. 現実社会の問題解決の経験を積ませる
4 本学科のソフトウェア開発教育の今まで
以下,ブログ [8] に記述したそれぞれに対する思い
4. 1 ソフトウェア開発とその周辺のカリキュラム
をそのまま引用する [18].
図 1 に本学科のソフトウェア開発とその周辺のカリ
キュラムを示す.このカリキュラムは本学科 2013 年
度以降入学生のものである.図中のカッコ内は 2012
数理系授業科目
開講期
ソフトウェア開発授業科目
学部1年次第1学期
離散数学
計算機演習I
学部1年次第2学期
アルゴリズム入門
計算機演習II
学部2年次第1学期
データ構造とアルゴリズム
・同演習
VLSI系授業科目
電子回路ほか
情報メディア工学実験I
論理回路
情報メディア工学実験II
コンピュータアーキテクチャ
情報メディア工学実験III
集積回路設計
情報メディア工学実験IV
コンピュータシステム
(プログラミング言語処理系・OS)
ソフトウェア設計・同演習
(ソフトウェア設計論・OOP演習前半)
学部3年次第1学期
プログラミング・同演習
ディジタルシステム設計
(OOP演習後半)
学部3年次第2学期
組み合わせ最適化論
実験科目
電気回路基礎・同演習
形式言語とオートマトン
学部2年次第2学期
博士前期課程1年次第1学期
システム開発授業科目
ソフトウェア工学概論
組込みソフトウェア
VLSI設計概論ほか
ソフトウェア検証論
博士前期課程1年次第2学期
図1
ソフトウェア開発とその周辺のカリキュラム
(本学科 2013 年度以降入学生のもの.カッコ内は 2012 年度以前入学生のカリキュラムの授業科目との対応関係)
年度以前入学生のカリキュラム (以下旧カリ) の授業
学,証明などを基礎とし,数え上げ,順列・組み合わ
科目との対応関係を示している.
せ,確率,グラフ理論などを扱う.
「アルゴリズム入
ソフトウェア開発授業科目,システム開発授業科目,
門」と「データ構造とアルゴリズム・同演習」「組み
実験科目を中心に,大きく数理系授業科目,VLSI 系
合わせ最適化論」はアルゴリズムにまつわる問題を扱
授業科目の 2 つを周辺授業科目群とした.
う.
「形式言語とオートマトン」は言語理論と計算理
ソフトウェア開発授業科目,システム開発授業科目
は,それぞれ講義科目と演習科目に分かれる.これら
は次のように分類される.
ソフトウェア開発講義科目 (4. 2 節): 「ソフトウェ
ア工学概論」
論の初歩を扱う.
「ソフトウェア検証論」は形式手法
を扱い,とくにモデル検査の実践を積む.
VLSI 系授業科目には「電気回路基礎・同演習」
「電
子回路」「過渡回路解析」「論理回路」「コンピュータ
アーキテクチャ」
「集積回路設計」
「ディジタルシステ
ソフトウェア開発演習科目 (4. 3 節): 「計算機演
ム設計」「VLSI 設計概論」ほかで構成される.この
習 I/II」
「ソフトウェア設計・同演習 (旧カリのソ
うち「ディジタルシステム設計」はプログラミング言
フトウェア設計論と,オブジェクト指向プログラ
語処理系も扱うため,システム開発演習科目の特徴も
ミング演習 (OOP 演習) の前半) 」「プログラミ
併せ持つ.
ング・同演習 (旧カリの OOP 演習後半)」
学部における卒業研究,大学院博士前期課程にお
システム開発講義科目 (4. 4 節): 「コンピュータ
ける特別研究は各研究室で個別指導を行う.筆頭著
システム (旧カリのプログラミング言語処理系と
者の研究室では共同研究型インターシップを実施し
オペレーティングシステム (OS))」
ており,名古屋大学の enPiT emb に参加している
システム開発演習科目 (4. 5 節): 「組込みソフト
(4. 6 節).
ウェア」
また実験科目の中でとくに筆頭著者が開発した「情
報メディア工学実験 III」の一部 (4. 5 節) を取り上げる.
4. 2 ソフトウェア開発講義科目
ソフトウェア開発講義科目は「ソフトウェア工学概
数理系授業科目には「離散数学」「アルゴリズム入
論」が該当する.この科目は学部において一通りソフ
門」
「データ構造とアルゴリズム・同演習」
「形式言語
トウェア開発演習科目を履修した後,大学院博士前期
とオートマトン」
「組み合わせ最適化論」
「ソフトウェ
課程においてソフトウェア工学知識体系に基づいてソ
ア検証論」を分類した.
「離散数学」は集合論,論理
フトウェア開発の理論的側面を習得することを目的と
している.
「ソフトウェア工学概論」の教授方略として,ビジョ
ン「自ら学ぶ力を持たせる」を踏まえ,リーディン
ことにしたので,SQRPR アプローチとして再編す
る際に要素として外した.またガイドは SQRPR ア
プローチでは発表に置き換えている.
グ・アサインメントとリサーチを中心とする SQRPR
アプローチ [27] を考案した.SQRPR アプローチと
4. 3 ソフトウェア開発演習科目
は,授業全体を通して学生の意識を「教わる」から
ソフトウェア開発演習科目はプログラミング演習を
「学ぶ」へ転換する—これはまさにアクティブ・ラー
中心とする授業科目である.科目としては「計算機演
ニングの本質的目的である—ようにデザインすべく,
習 I/II」
「ソフトウェア設計・同演習」
「プログラミン
次の要素を授業に盛り込んだ教授方略である.
グ・同演習」が該当する.このうち「ソフトウェア設
要約 (Summarization) : 学生は教科書や配布
計・同演習」には UML モデリング演習が含まれる.
資料を読み込んで,各トピックの要約をまとめ
学生のプログラミング能力は個人差が極めて大き
る。漫然と講義を聴くのではない。これにより
い.そのため,早く学習を進める学生に授業進度を合
学生の意識を「教師から教わる」から「自分で学
わせれば脱落者が続出し,学習を遅く進める学生に授
ぶ」ように変えることを狙う。
業進度を合わせれば退屈する学生が続出する.個別に
問い (Question) : 学生は要約をまとめる過程で
生じた疑問点 (リサーチ・クエッション) も記述
学習が進められれば理想であるが,一斉授業スタイル
では授業進度を個別に調整することはできない.
する。リサーチ・クエッションは必ずしも高度で
このような場合に ID で採用されるアプローチが
なくとも良い。むしろ素朴な疑問の方が本質を捉
個別化教授システム (PSI: personalized system of
えているものである。
instruction) である.PSI では学生たちは自習教材を
研究 (Research) : 学生は自らが立てたリサー
それぞれのペースで学習を進める.きちんと習得した
チ・クエッションについて,さまざまな文献資料
かを確認するため,単元ごとに試験が用意されてい
をあたって調査する。これにより深く学ぶ。
る.もし学生が試験に合格したならば次の単元に進
発表 (Presentation) : 学生は研究成果をポス
み,試験に不合格ならば再学習して再試験に臨む.授
ターセッションで発表する。また,研究成果をわ
業では講師を補佐するプロクターという人員が配置
かりやすくまとめた解説記事を記述する。研究成
され,机間巡回をして学生のフォローアップをしなが
果を自分の言葉でまとめること,学生が互いに議
ら試験の合否を判定する.PSI では ID に基づいて単
論を深めあうことを意図する。
元を順番に学習すると段階的に円滑に学習できるよ
ふりかえり (Reflection) : 学生は最後にこの授
う設計されている.また各単元には多数の演習課題が
業で得たものは何だったのか,自らの学びをふり
準備されており,十分に習得と定着を図れる.これに
かえる。ふりかえることで,学習したことの定着
より PSI によって完全習得学習 (mastery learning)
を図る。
された状態が実現できる.PSI を採用した教材の例
SQRPR アプローチの前身は MSQGP アプローチ
として向後らが開発したウェブ教材 [2] がある.筆頭
である [17].これはメタファー,要約,問い,ガイド,
著者が関わっているソフトウェア開発演習科目「計算
プレゼンテーションの頭文字をとって命名した.ここ
機演習 I」「ソフトウェア設計・同演習」では PSI を
でいうメタファーとは,ソフトウェア工学で登場する
採用している.
概念の理解促進のために学生にとって身近な例を用い
「計算機演習 I」では向後らのウェブ教材を採用し
たり体験したりするようなアクティビティを指す.そ
た [2].ほぼ全員の学生が最低限必要な学習内容をク
の一例としてグループ学習による体験授業を実施し
リアする.全学習内容が早く終わってしまった学生に
た [11] [12].ただしメタファーは授業全体ではなくソ
対しては,
「ソフトウェア設計・同演習」で提供するよ
フトウェア開発工程の特性に応じて断片的に採用する
うな高度なプログラミング演習を先取りして個別に
フォローアップし学習させる.
いては,4. 6 節で紹介する.
「ソフトウェア設計・同演習」では UML モデリン
グ演習とプログラミング演習から構成される.どちら
4. 4 システム開発講義科目
もオリジナルの PSI 教材を開発して授業を実施して
システム開発講義科目に該当するのは「コンピュー
いる.最終的に PSI を実現するために,長年かけて
タシステム」である.この科目は旧カリの「プログ
少しずつ実績を積み上げてきた.
ラミング言語処理系」「オペレーティングシステム
旧カリの「ソフトウェア設計論」では演習課題の充
(OS)」という 2 つの科目を統合した科目として開講
実を図って完全習得学習を実現することに注力した
した.統合する理由としては,2 科目に渡って詳細を
[15] [14] [21].一方,
「OOP 演習」では,当初,実践的
学習させるよりも,より普遍性の高い基礎の習得に絞
なソフトウェア開発に必要な要素を段階的に学習す
り 1 科目に統合して,空いた時間で他の科目を学ば
るスパイラル・カリキュラムに取り組んだ [10] [9] [13].
せるようにしたほうが良いと考えたからである.また
その後,学部生の段階で必要な学習内容を厳選し,授
業内容を大幅に見直した.
「コンピュータシステム」には,
「形式言語とオートマ
トン」での学習内容を継承し,より高次な後続科目群
これらを「ソフトウェア設計・同演習」に再編・拡
であるシステム開発授業科目,ソフトウェア開発授業
充するにあたって,
「ソフトウェア設計論」の全内容
科目,VLSI 系授業科目への知的好奇心を喚起すると
と,
「OOP 演習」の前半である電卓 GUI アプリ開発
いう役割も期待されている [16].
を必修内容として PSI 教材を構成した.全学習内容
「コンピュータシステム」のコンセプトづくりはブ
が早く終わってしまった学生に対しては,GUI アプ
ログ記事 [16] に詳述した.次の順番でコンセプトを確
リの自由課題を課す.UML モデリング演習について
定していった.
は独自の学習管理システムを試験的に導入した.
2015 年秋より新規開講する「プログラミング・同
演習」では,
「ソフトウェア設計・同演習」の学習の進
1. カリキュラムの中での授業の役割や位置付け
2. どのような学生が対象なのか,学生にどうなっ
てほしいのか
捗や意欲に応じ,いくつかの教育プログラムを並行し
3. 学習手段として何を使うのか
て提供し,選択できるようにした.基礎的な学習内容
4. 教え方の方針やスタイル
として,デザインパターンに基づく画像処理 GUI ア
5. 授業内容の範囲
プリケーションの開発を準備している.これは「情報
1 については前述した通りである.2 については,
メディア工学実験 II」での学習成果である C 言語に
プログラミングの苦手意識の克服と自ら学ぶ力を習
よる画像処理プログラムを再利用し,適宜リファクタ
得させたいという 2 点である.3 については「プログ
リングを進めてデザインパターンを適用していくと
ラミング言語処理系」で開発した自習教材,学習管
いう内容である.また応用的な学習内容として学内外
理システム,PC 演習室や広い作業卓のある教室,学
のプログラミングコンテストを運営/活用する.
生の ICT 環境の有効活用を考慮した.4 については,
なお,このような教授方略を有効に機能させるた
アクティブ・ラーニングや反転授業を採用することに
めには,ソフトウェア開発能力に長けたスタッフの拡
した.5 については,授業内容にコンピュータの動作
充が必要である.そこで,我々の場合は,筆頭著者の
原理を加えた上で基礎に絞ることを決めた.
研究室の学生総勢 10∼15 名を徹底的に鍛え,ソフト
後続科目群への学習意欲を喚起すること,アクティ
ウェア開発の指導補助,具体的には,開発上の助言,
ブ・ラーニングを採用することから,概念や原理を深
フォローアップ,コードレビュー,採点フィードバッ
く理解することを意図した.概念や原理を深く理解す
ク補助,教材開発補助等が十分できる能力をもたせ
ることはどういうことかを考察した結果,ガニェの多
た.そのような体制を組めたことが成功には不可欠で
重に統合された目標 (multiple integrated objectives)
あったと考えている.具体的な研究室の体制作りにつ
[1] として次の 3 つの学習目標に整理した [19].
用語の暗記 : 概念や原理に関連する用語とその意
味を対応させて説明できる
直観的な理解 : 概念や原理,用語同士の関連につ
いて,例示や図示をしながら説明できる
応用技能 : 与えられた問題に対し,原理を適用し
て解を導き出せる
4. 5 システム開発演習科目,実験授業科目
システム開発演習科目としては「組込みソフトウェ
ア」が該当する.
「組込みソフトウェア」では実践的
な組込みソフトウェア開発を学習させることが求めら
れていた.舘と共同で授業を開発した [5] [4].
さまざまな試行錯誤の末,たどり着いたコンセプト
それぞれに合わせた教授方略を採用した.用語の
はビジョン「自ら学ぶ力を習得させたい」に沿ったコ
理解については,ひたすら用語を暗記する.この目的
ンセプト「技術の学び方を学ぶ」である.それを体現
で,用語を詳細に解説したテキスト,用語リスト群を
化するため,仕様書や回路図,取扱説明書のような技
提示しての調べ学習,e ラーニングによる小テストな
術文書を読んで問題を解決するという授業である [5]
どを開発した.
[4].ソフトウェア開発演習科目と同様,学生個別に学
もちろん,それだけでは生きた知識にならないの
習を進める.機材の都合上,ペアを組んで作業を行う
で,直観的な理解として,グループ学習によって原理
が,授業前に補習を兼ねてプログラミング・モデリン
を体験する,身近なメタファーにたとえて用語を説明
グ能力を診断し,能力水準の近い学生同士でペアを組
させることを行った.前者の例としては,コンピュー
む.その理由としてはソフトウェア開発の能力水準に
タの動作原理として CPU がバスを通じてメモリや
差があるペアでは,能力の高い学生がほとんどの作業
I/O にアクセスしながら計算を進める様子を体感す
を行ってしまって,能力の低い学生の学習を阻害して
るロールプレイング・ワークショップ [31] [7] [6] を実施
しまう問題を防ぐためである.演習課題が早く終わっ
した.後者の例としては,マルチタスクの単元で,単
た学生への発展課題も用意した.
元の初回にマルチタスクに関連する用語を覚えるの
このように大学院において成果が得られたので,
と並行して学生にマルチタスクを身近な例にたとえ
2013 年度以降入学生を対象に学部実験授業科目であ
させ (解答例としては料理,事務作業など),単元の
る「情報メディア工学実験 III」に,
「組込みソフトウェ
2 回目で,初回の身近な例に沿って覚えた用語を一通
ア」を学部生に合わせて簡易にした授業を実施した.
り説明させる (たとえば事務作業におけるプリエンプ
さらに,多様化するシステム開発の実情を考慮し,
ションは上司の指示によって現在行っている事務作業
また「情報メディア工学実験 III」を履修済みの学生が
を中断することに相当する) という指導方略を実施し
大学院に進学した時に「組込みソフトウェア」がより
た [19].応用技能としては,学んだ内容を活用してシ
高度な授業内容が求められることを勘案して,2015
ステムプログラミングをするといったことである.
年度の「組込みソフトウェア」では,制御するデバイ
ビジョン「自ら学ぶ力を習得させたい」を体現化す
るため,授業全 15 回の前半では動画を用いるなどし
スの種類を大幅に増やし,より高度な問題解決を行う
授業にする予定である.
て懇切丁寧に指導して足場づくりをし,後半では調べ
学習を中心にするなどして徐々に足場を外して自立学
習を促すようにした [25].
具体的な授業づくりについては文献 [28] [25] [24] を
参照されたい.成果物として,動画 [23],テキスト [22]
4. 6 研究指導
筆頭著者の研究室では,研究者ではなく実践的なエ
ンジニアを育成する方針を採っている.ビジョンに掲
げた 3 つの活動に次のような順番で取り組む.
[20] の各教材を公開している.歴史的経緯については
1. 個性に合わせて長所を伸ばす
文献 [26] を参照されたい.
2. 自ら学ぶ力を持たせる
3. 現実社会の問題解決の経験を積ませる
「個性に合わせて長所を伸ばす」についてはブログ
記事 [30] に詳述した.学生個々に面談を重ね,心理診
断テストを活用しながら,学生それぞれの個性を引き
出し,学生の将来のビジョンを一緒に考えることを行
5 将来課題
う.その結果として学生それぞれの専門を設定する.
このような活動をさらに拡充していきたいと考えて
「自ら学ぶ力を持たせる」については,前述のよう
いる.直近では,ソフトウェア開発演習科目の「計算
に設定した専門について,近隣の勉強会への参加と,
機演習 II」とシステム開発演習科目と VLSI 系授業
その内容について研究室内での勉強会の実施を奨励
科目の両方の性格を持つ「ディジタルシステム設計」
する方策を採っている.それにより,自主的に研究や
への適用に筆頭著者が関与することとなった.また実
勉学に勤しみ,学生同士で相互に学び合う学習環境が
験科目へのさらなる関与・支援も要請されている.
自然と形成されている.
さらにソフトウェア開発や教育に関わる組織・団体
そして「現実社会の問題解決の経験を積ませる」こ
に積極的に普及活動を行っている.たとえば,関連
とを具現化するために,研究室で最も力を入れている
する学会で発表・講演し,コミュニティに関与し,勉
活動が,共同研究型インターンシップである.
強会を主催するなどを行っている.またブログ [8] や
経験的に,プログラミング能力を高めるためには,
SNS 等での発信も積極的に行っている.
ソフトウェア開発のアルバイトに従事し,エンジニア
などの専門家の指導を受けながらプログラミングの
6 まとめ
経験を多く積むのが一番である.また,企業の採用活
本発表では北九州市立大学でのソフトウェア開発の
動,学生の就職活動でも,インターンシップによって
教育について,ビジョン,成果,行っている活動を紹
実務で協働することで学生の適性や業務の詳細を共
介した.また参考文献として今までの成果物を紹介し
有することが有益である.しかしこれらを多く密度
た.今後の更新や新たな活動については,随時ブログ
の濃い経験を積もうと思うと負担が大きくなり,学業
[8] や SNS 等を通じて発信していく.
と両立させることが課題となる.そこで,インターン
謝辞
シップ,アルバイトの活動を統合し,研究室と企業と
今まで学内外の多くの方たちに支えられて研究と
の共同研究として位置づけることで学業との両立を
実践を重ねることができました.全ての人に深く感謝
図るのが共同研究型インターンシップである.
します.
共同研究型インターンシップは 2014 年度までに 7
テーマ 4 社 1 個人事業主 1 大学の案件で実施した.主
業務は受託ソフトウェア開発であるが,他にもウェブ
のマーケティング,デザイン,サイト改善等も行って
いる.これらの業務では,パートナーとなるエンジニ
ア,プロジェクトマネージャ,デザイナ,アナリスト
等の専門家による監修・指導を受けている.組込みシ
ステム開発が関連する案件では enPiT emb 名古屋大
学 OJL とも連携している.
このように鍛えた上級生を演習・実験科目の教育補
助に従事させ,下級生に個別指導する体制を整えてい
る.それにより下級生のソフトウェア開発の能力と意
欲が高まる.このような下級生が進級した後でさらな
る下級生を指導するという好循環が形成されている.
参 考 文 献
[ 1 ] Gagné, R., Wager, W., Golas, K., and Keller,
J.: Principles of Instructional Design, Wadsworth
Pub, Belmont, CA, 5th edition, 2004. 邦訳: 鈴木 克
明, 岩崎 信 (監訳): インストラクショナルデザインの原
理, 北大路書房, 京都, 2007.
[ 2 ] 向後千春: ネコのぶきっちょと学ぶ C 言語, 2002.
available at http://bit.ly/1JaSbM3.
[ 3 ] 鈴木克明: 教材設計マニュアル-独学を支援するため
に, 北大路書房, 京都, 2007.
[ 4 ] Tachi, N. and Yamazaki, S.: A Training Course
for Embedded Software Engineers: Learning How
to Learn New Technologies, 2014 International
Conference on e-Commerce, e-Administration, eSociety, e-Education, and e-Technology (e-CASE),
Nagoya, Aichi, Japan, 2014.
[ 5 ] 舘伸幸, 山崎進: オープン・ソース・ハードウェアを
活用した学び方を学ぶ組込みソフトウェア教育, 工学教
育, Vol. 62, No. 4(2014), pp. 4 33–4 38.
[ 6 ] Yamazaki, S., Satoh, T., Jiromaru, T., Tachi,
N., and Iwano, M.: Instructional Design of a Work-
shop“ How a Computer Works ”Aimed at Improving Intuitive Comprehension and Motivation, Proc.
3rd International Conference on Learning Technologies and Learning Environments (LTLE 2014),
Kitakyushu, Japan, IIAI, 2014. presentation is available at http://bit.ly/1fuA2QH.
[ 7 ] Yamazaki, S., Satoh, T., Jiromaru, T., Tachi,
N., and Iwano, M.: Instructional Design of a Workshop “ How a Computer Works ” Facilitating Intuitive Comprehension with Driving Motivation, Information Engineering Express, Vol. 1, No. 2(2015),
pp. 21–30.
[ 8 ] 山 崎 進: ZACKY’s Laboratory. available at
https://zacky1972.github.io.
[ 9 ] 山崎進: 【中間報告】スパイラルカリキュラムによ
るソフトウェア工学教育, 情報処理学会論文誌, Vol. 51,
No. 12(2010), pp. 1–5.
[10] 山 崎 進: ス パ イ ラ ル カ リ キュラ ム に よ る ソ フ ト
ウェア 工 学 教 育, ラ ン チョン セ ミ ナ ー 第 58 回 ,熊
本 大 学 e ラ ー ニ ン グ 推 進 機 構, 2010. available at
http://bit.ly/1KzoRid.
[11] 山崎進: グループ学習によるソフトウェア工学の授
業設計, 日本教育工学会第 27 回全国大会, 2011.
[12] 山崎進: グループ学習によるソフトウェア工学の授業
設計, 第 25 回 SEA 教育ワークショップ, ソフトウェア
技術者協会教育分科会 SEA SIGEDU, 2011. avaiable
at http://bit.ly/1hyOQ2O.
[13] 山崎進: スパイラルカリキュラムによるソフトウェ
ア工学 e-learning 教材の開発, ランチョンセミナー第
84 回,熊本大学 e ラーニング推進機構, 2011. available
at http://bit.ly/1NzwD0I.
[14] 山崎進: UML モデリング教育, 第 26 回 SEA 教育
ワークショップ, ソフトウェア技術者協会教育分科会 SEA
SIGEDU, 2012. avaiable at http://bit.ly/1hPEA5T.
[15] 山崎進: ソフトウェアモデリング教育の開発∼初心
者の C(自信) を重視した授業づくり∼, ランチョンセミ
ナー第 119 回,熊本大学 e ラーニング推進機構, 2012.
available at http://bit.ly/1PD9JEY.
[16] 山崎進: 授業づくりはまずコンセプトづくりから
∼事例に学ぶコンセプトづくり, 2013. available at
http://bit.ly/1Kexljc.
[17] 山 崎 進: 授 業 構 想:MSQGP ア プ ロ ー チ ∼ 反 転
授 業 の 応 用, ラ ン チョン セ ミ ナ ー 第 154 回 ,熊 本
大 学 e ラ ー ニ ン グ 推 進 機 構, 2013. available at
http://bit.ly/1TXsb0Y.
[18] 山 崎 進: 教 育 理 念:ま と め, 2013. available at
http://bit.ly/1hB2Too.
[19] 山 崎 進: 理 系 知 識 習 得 科 目 を ど う 教 え る か ∼ 概
念と原理のディープラーニング, 2013. available at
http://bit.ly/1EdDZFk.
[20] 山崎進: C 言語のアセンブリ言語コード化∼直観編,
2014. available at http://bit.ly/1hPE5Zu.
[21] Yamazaki, S. and Jiromaru, T.: Instructional
Design of Exercise-Centric Teaching Materials on
UML Modeling, 3rd International Conference on
Learning Technologies and Learning Environments
(LTLE2014), Kitakyushu, Fukuoka, Japan., 2014.
presentation is avaiable at http://bit.ly/1UWSod6.
[22] 山崎進: コンピュータの基本構成と動作原理∼知識
編, 2014. available at http://bit.ly/1NpVjtE.
[23] 山崎進: ワークショップの手引き「コンピュータシ
ステム」コンピュータの基本構成と動作原理∼直観編,
2014. movie is available at http://bit.ly/1J9BK2n.
[24] 山崎進: 変化の激しい時代に生き残れる工学部学生
を育てる二つのアプローチ, 第 15 回反転授業オンライ
ン勉強会, 反転授業の研究 Facebook グループ, 2014.
avaiable at http://bit.ly/1hPDSpt.
[25] 山崎進: 情報工学教育における知識定着と直観的理
解を意図した反転授業/アクティブラーニングの授業設
計, 第 3 回 反転授業公開研究会, 大阪府, 関西大学教育
開発支援センター, 2014. presentation is available at
http://bit.ly/1PpzgRr.
[26] 山崎進: 教材設計マニュアルからアクティブ・ラーニ
ングへの道のり, 第 28 回 SEA 教育ワークショップレポー
ト, ソフトウェア技術者協会教育分科会 SEA SIGEDU,
2014. avaiable at http://bit.ly/1hPDAPo.
[27] 山崎進: アクティブ・ラーニングの理想像を目指す授
業づくり, 教師が変わる,学生も変わる―ファカルティ・
ディベロップメントへの取り組み (シリーズ 北九大の挑
戦 3), 北九州市立大学, 中溝幸夫, 松尾太加志 (編), 九
州大学出版会, 2015, chapter 5-1, pp. 153–164.
[28] 山崎進: コンピュータシステムの原理を理解させ
るアクティブ・ラーニング, 電子情報通信学会総合大
会公開シンポジウム 「教育改革と人材育成」, IEICE, 2015. presentation and movie are avaiable at
http://bit.ly/1LmTP01.
[29] 山崎進: プロフィールにビジョンとミッションをこ
めて, 2015. available at http://bit.ly/1JcOqFM.
[30] 山 崎 進: 山 崎 進 研 究 室 の ひ み つ ∼ 個 性 に 合 わ
せ た 長 所 を 伸 ば す 研 究 指 導, 2015. available at
http://bit.ly/1LrBM94.
[31] 山崎進, 佐藤敬, 次郎丸沢, 舘伸幸, 岩野正史: 直観
的な理解を促進するワークショップ「コンピュータの動
作原理」の授業設計, パーソナルコンピュータ利用技術
学会論文誌, Vol. 9, No. 1-2 合併号 (2015), pp. 40–48.
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement