日本ソフトウェア科学会第 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 throughrealization 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

プログラミング・同演習
ディジタルシステム設計(OOP演習後半)

集積回路設計

情報メディア工学実験IV

ソフトウェア工学概論

VLSI設計概論ほか

コンピュータシステム(プログラミング言語処理系・OS)
ソフトウェア設計・同演習(ソフトウェア設計論・OOP演習前半)

学部3年次第1学期
学部3年次第2学期
組み合わせ最適化論

実験科目

電気回路基礎・同演習

形式言語とオートマトン

学部2年次第2学期

博士前期課程1年次第1学期

システム開発授業科目

組込みソフトウェア

ソフトウェア検証論

博士前期課程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 節)．

ウェア」
また実験科目の中でとくに筆頭著者が開発した「情4. 2 ソフトウェア開発講義科目

報メディア工学実験 III」の一部 (4. 5 節) を取り上げる．

ソフトウェア開発講義科目は「ソフトウェア工学概

数理系授業科目には「離散数学」「アルゴリズム入論」が該当する．この科目は学部において一通りソフ

門」「データ構造とアルゴリズム・同演習」「形式言語

トウェア開発演習科目を履修した後，大学院博士前期とオートマトン」「組み合わせ最適化論」「ソフトウェ

課程においてソフトウェア工学知識体系に基づいてソア検証論」を分類した．
「離散数学」は集合論，論理フトウェア開発の理論的側面を習得することを目的としている．
「ソフトウェア工学概論」の教授方略として，ビジョン「自ら学ぶ力を持たせる」を踏まえ，リーディン

ことにしたので，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 大学の案件で実施した．主参 考 文 献業務は受託ソフトウェア開発であるが，他にもウェブ[ 1 ] Gagné, 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-のマーケティング，デザイン，サイト改善等も行っている．これらの業務では，パートナーとなるエンジニ
ア，プロジェクトマネージャ，デザイナ，アナリスト
等の専門家による監修・指導を受けている．組込みシステム開発が関連する案件では enPiT emb 名古屋大学 OJL とも連携している．
このように鍛えた上級生を演習・実験科目の教育補助に従事させ，下級生に個別指導する体制を整えている．それにより下級生のソフトウェア開発の能力と意欲が高まる．このような下級生が進級した後でさらなる下級生を指導するという好循環が形成されている．

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 athttps://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.