Upload
susumu-yamazaki
View
516
Download
0
Embed Size (px)
Citation preview
Copyright © Susumu Yamazaki, All Rights Reserved.
知識習得科目「コンピュータシステム」の授業設計~概念や原理をどう教えるか
北九州市立大学 山崎 進
• 「概念や原理を理解する」とはどういうことでしょうか。この問いをインストラクショナル・デザインの流儀に沿って長年考え抜いた成果をSWESTで披露します。
【概要】
• コンピュータの動作原理とシステムプログラミングの知識習得を目標とした学部2年生向け科目「コンピュータシステム」を開発した
• 本授業の役割を鑑みて,アクティブラーニングと反転学習を主軸とする授業のコンセプトと設計を採用した
• その結果学生の学習意欲を強く喚起し高く維持し続けることができた
1
zacky1972
Copyright © Susumu Yamazaki, All Rights Reserved.
背景: カリキュラム上の役割• 前カリキュラムの2つの授業を統合した
• プログラミング言語処理系,オペレーティングシステム
• 現代においてこれら2つについて詳細まで学習する意義は薄れている
• 本学の学生がこれらを開発する業務に就くことは情勢から見て稀
➡基礎に集中する
• 後続科目への知的好奇心を喚起させる • VLSI系科目: コンピュータアーキテクチャ,ディジタルシステム設計,集積回路設計
• 組込みソフトウェア系科目: 情報メディア工学実験III,組込みソフトウェア
• ソフトウェア工学系科目: ソフトウェア設計・同演習,プログラミング・同演習, ソフトウェア工学概論,ソフトウェア検証論
2
Copyright © Susumu Yamazaki, All Rights Reserved.
背景: プログラミング苦手意識の克服• 卒業生の相当数はソフトウェア開発業に従事する
• 情報学科なのにプログラミングが苦手な学生が少なからず存在する
• 観測される現象
• デバッグが苦痛
• プログラムの実行過程を追うことができない
• 仮説: プログラミングが苦手な学生は,コンピュータがプログラムをどのように実行しているかをイメージできていない
➡コンピュータの動作原理を体得させる
3
Copyright © Susumu Yamazaki, All Rights Reserved.
背景: 自ら学ぶ力を習得させる• 技術や社会環境は急速に進化するので,陳腐化も早くなってしまいます。そのような状況では,一旦学んだら終わりではなく,常に学び続ける姿勢を身につけることが求められます。また,整備された教材が常に用意されているとは限りません.適切な指導者もいないかもしれません。いつかは独り立ちしなければならない,それが宿命です。私たちは,教材がなく指導者がいない状態でも,自力で学び続けることができるように学生を育て上げます。
~ZACKY's Laboratory
http://zacky1972.github.io/blog/2013/10/18/philosophy.html
4
Copyright © Susumu Yamazaki, All Rights Reserved.
コンセプト• 基礎に集中する
• 関連する専門用語を覚える
• 原理や概念,用語の関連を直観的に理解する
• 自ら学ぶ力を習得させる
• アクティブ・ラーニング/反転学習スタイルを採用する
• 後続科目への知的好奇心を喚起させる
• 学習意欲を喚起させるように仕掛ける
• プログラミングの基礎につなげる
• コンピュータの動作原理を体得させる
• システムプログラミングを体験する
5
Copyright © Susumu Yamazaki, All Rights Reserved.
学習目標1.(基礎知識) コンピュータの基本構成やオペレーティングシステム,プログラミング言語処理系に関連する専門用語とその意味を対応させて説明できる。 2.(直観的な理解) コンピュータの基本構成やオペレーティングシステム,プログラミング言語処理系に関連する基礎的な概念や原理について,例示や図示をしながら説明できる。また,これらの分野に関連する専門用語同士の関連を説明できる。 3.(能動的・自立的な学習) コンピュータシステムの学習に関して受け身ではなく能動的・自立的に学び続けることを選択できる。 4.(上位科目との関連) コンピュータアーキテクチャや組込みシステムとの関連について説明できる。 5.(システムプログラミング) オペレーティングシステムとプログラミング言語処理系を用いて,与えられた課題を解決するシステムプログラミングを行える。
6
Copyright © Susumu Yamazaki, All Rights Reserved.
授業計画1.オリエンテーションコンピュータの基本構成と動作原理 (事前学習)
2.コンピュータの基本構成と動作原理 (ワークショップ)
3.コンピュータの基本構成と動作原理 (ふりかえり) C言語のアセンブリ言語コード化 (事前学習)
4.C言語のアセンブリ言語コード化 (プログラミング演習/ワークショップ)
5.C言語のアセンブリ言語コード化 (講義) コンパイラの基本構成/解析部 (事前学習)
6.C言語のアセンブリ言語コード化とコンパイラの基本構成/解析部 (ふりかえり)
7.インタプリタ(プログラミング演習/ワークショップ)
8.まとめとふりかえり(プログラミング言語処理系)
9.オペレーティングシステム(OS)の基本構成1とマルチタスク (事前学習)
10.OSの基本構成1とマルチタスク (ワークショップ/講義)
11.OSの基本構成1とマルチタスク(ふりかえり) 排他制御とデッドロック (事前学習)
12.排他制御とデッドロック (プログラミング演習/ワークショップ)
13.排他制御とデッドロック (ふりかえり) OSの基本構成2とメモリ管理(講義)
14.OSの基本構成2とメモリ管理(ふりかえり) システムプログラミング (講義/ワークショップ/プログラミング演習)
15.まとめとふりかえり(全体)
7
Copyright © Susumu Yamazaki, All Rights Reserved.
アクティブラーニング/反転学習の授業設計 Scaffolding & Fading• Scaffolding: 最初は積極的に学習を支援する
• 授業の最初の方では動画やテキストなどの教材を充実させる
• Fading: 上達に伴って支援を減らし独り立ちさせる
• 授業が進むにしたがって調べ学習のウェイトを増やしていく
8
Copyright © Susumu Yamazaki, All Rights Reserved.
アクティブラーニング/反転学習の授業設計 基礎知識と直観的な理解• 基礎知識~まず言葉がわからないと
• 用語をひたすら暗記させる
• 次の2系統の情報を与えて,scaffolding から fading へと進めていく
• 要点をまとめたテキスト→他の情報も多く含むテキスト→ウェブ上の文献
• 小テスト例→キーワードリスト
• 直観的な理解~イメージができれば想像しやすい
• ワークショップで原理を体感させる
• 例: ロールプレイング・ワークショップ,プログラミング・ワークショップ
• メタファーを用いて概念を関連づける
• 理系知識習得科目をどう教えるか~概念と原理のディープラーニングhttp://zacky1972.github.io/blog/2015/03/07/deep-learning-of-principles.html
9
Copyright © Susumu Yamazaki, All Rights Reserved.
アクティブラーニング/反転学習の授業設計 アクティブラーニングの弱点とその対策• アクティブ・ラーニングの弱点
• 深く学習できる代わりに時間を要する
• 対策
1.反転授業スタイルを取り入れて,授業時間中だけでなく課外学習もきちんと設計して実施した新時代の授業スタイル「反転授業」と「アクティブ・ラーニング」を失敗なく組み合わせるにはhttp://zacky1972.github.io/blog/2015/03/11/active-learning-with-flipped-classroom.html
2.深く学習すべきポイントを注意深く取捨選択した授業づくりはまずコンセプトづくりから~事例に学ぶコンセプトづくりhttp://zacky1972.github.io/blog/2015/02/25/concept-making-in-practice.html
3.学生の学習意欲を高く保ち,知的好奇心を駆り立てるような題材を提供することで,学生自身が自らの知的好奇心にしたがって自主的に発展的な学習をするようなしかけを取り入れた
10
Copyright © Susumu Yamazaki, All Rights Reserved.
アクティブラーニング/反転学習の授業設計 完全習得(mastery)に向けて• 一度教えたら終わりではなく,様々なアプローチで繰り返す
• 事前学習→ワークショップ→小テスト→ふりかえり→期末試験
• 調べ学習→フィードバック講義→小テスト→ふりかえり→期末試験
• … • 学習の定着と深い理解を狙う
• 成績評価は学習項目ごとに複数回の小テスト・期末試験のどれかで達成できれば合格とする
• 点数の累積はしない
• 習得状況やアンケート等から判断して,学生の学習への主体性や努力に対し,加点評価/フィードバックコメントする
11
Copyright © Susumu Yamazaki, All Rights Reserved.
アクティブラーニング/反転学習の授業設計 Reflection• 授業や単元の冒頭と末尾にリフレクションを行う
• 学習を通じて何を得たいか
• シラバスから想像させてリフレクションペーパーを記述させる
• 学習をふりかえって何を得たか
• 学習内容と前のリフレクションペーパーを踏まえてリフレクションペーパーを記述させる
• 学習内容のより深い理解と定着に直結する
12
Copyright © Susumu Yamazaki, All Rights Reserved.
アクティブラーニング/反転学習の授業設計 Questioning• 学習の内容や方法について疑問点・不明点を発問させる
• Google Drive のアンケート機能を使って収集する
• 即時もしくは次回の授業にてフィードバックする
• あえてホワイトボードでの即席講義を行う場合もある
• 迅速なフィードバックは学習効果と満足度の向上に直結する • 経験的に素朴だが本質的な問いが集まることが多い
•アクティブ・ラーニングの理想像を目指す授業づくり
13Photo by © Amazon
教師が変わる,学生も変わる―ファカルティ・ ディベロップメントへの取り組み (シリーズ 北九大の挑戦 3)
Copyright © Susumu Yamazaki, All Rights Reserved.
アクティブラーニング/反転学習の授業設計 学ばせてから教える• 調べ学習で学ばせた後で,フィードバックを交えながら講義をする
• 用語を理解した状態で講義を聞ける
• 講義がわからない最大の原因は用語を理解していないこと
• 講義では用語の説明をせず,本題だけに集中できる
• 疑問点・不明点を明確にできる
• 集中して説明すべき箇所/聞くべき箇所がわかる
• 関心・好奇心・意欲を喚起できる
14
Copyright © Susumu Yamazaki, All Rights Reserved.
手応え• 学生の学習意欲を強く喚起し高く維持し続けることができた
• 講義時の学生の集中度合いは,今まで筆者が経験したことがないほど
• アンケートやレポート課題からも良好な結果がうかがえる
• 学習効果については改善の余地は多々ある
• 調べ学習中心では,確実に正確に理解させるのは困難である
• 学生からは模範解答の提示を求める声が多かった
• 模範解答の与え方には配慮を要する (ただ乗り防止の観点から)
• そこで,2015年度後期には e-learning クイズを導入する予定
• 2015年度前期に少人数学生を相手に試行している
15
Copyright © Susumu Yamazaki, All Rights Reserved.
予告: 9/11 日本ソフトウェア科学会大会で登壇!• 「ソフトウェア開発の教育のビジョンを語ろう」北九州市立大学でのプログラミングを中心とするソフトウェア開発の教育の今までとこれからについて語る。「自ら学ぶ力を持たせる」「個性に合わせて長所を伸ばす」「現実社会の問題解決の経験を積ませる」教育の実現と普及を通して,創意工夫にあふれた社会の形成に貢献しようとしてきた。これまでインストラクショナル・デザイン,反転授業,アクティブ・ラーニングを取り入れた授業づくりと共同研究型インターンシップに取り組んできた。成果は出始めているので,今後は拡充と普及に努めたい。
• 今までのソフトウェア開発関連の教育実践の集大成です。乞うご期待!
16
zacky1972お問い合わせは