• 検索結果がありません。

>> 松山東雲女子大学 - Matsuyama Shinonome College Title 授業評価アンケート集計プログラムについて Author(s) 小西, 敏雄 Citation 松山東雲女子大学人文科学部紀要. vol.25, no., p.49- Issue Date

N/A
N/A
Protected

Academic year: 2021

シェア ">> 松山東雲女子大学 - Matsuyama Shinonome College Title 授業評価アンケート集計プログラムについて Author(s) 小西, 敏雄 Citation 松山東雲女子大学人文科学部紀要. vol.25, no., p.49- Issue Date"

Copied!
20
0
0

読み込み中.... (全文を見る)

全文

(1)

IYOKAN - Institutional Repository : the EHIME area http://iyokan.lib.ehime-u.ac.jp/dspace/

This document is downloaded at: 2017-10-15 14:58:21

Title

授業評価アンケート集計プログラムについて

Author(s)

小西, 敏雄

Citation

松山東雲女子大学人文科学部紀要. vol.25, no., p.49-67

Issue Date

2017-03-31

URL

http://iyokan.lib.ehime-u.ac.jp/dspace/handle/iyokan/5159

Rights

(2)

授業評価アンケート集計プログラムについて

On a VBA Program Created for Generating Class Evaluation Questionnaires

小 西 敏 雄

Toshio KONISHI

(心理子ども学科子ども専攻) 要 約  2015 年度より授業評価アンケートが Web 化され、集計の担当者として VBA による集計プログラムを自 作した。 キーワード:VBA、アンケート集計

[Abstract]

This paper introduces a VBA program created by the author for generating class evaluation questionnaires. Key words: VBA program, class evaluation questionnaire

1.授業評価アンケート集計について

 文部科学省の平成 26 年度「私立大学等改革総合支援事業」の「私立大学等教育研究活性化設備 整備事業」が採択され、本学では授業評価システムとして「Limesurvey」を導入し、平成 27 年度 から授業評価アンケートの Web 上での実施を開始した。  「Limesurvey」は Linux 上で動作するフリーのアンケート集計ソフトウェアである。このソフト を Web サーバに設置し、公開することにより、不特定多数を対象としたアンケート調査と、Web 上でのリアルタイムな集計も可能になった。  本学では、従来より紙ベースでの授業評価アンケートを実施してきた。教員が調査対象として選 んだ授業科目について、学期の最終回終了間際のタイミングで、受講している学生にアンケート設 問用紙を配布し、回答を記入させ、その場で回収していた。その場で回収できるので、高い回収率 が期待できるのであるが、用紙で回収するため、必然的にデータは外部業者に委託して、手入力で 行っていた。文部科学省の調査などでは、全授業科目に対する実施を推奨する方向であり、本学で も全授業科目に対して実施する方向を数年前から模索していた。

(3)

 今回「Limesurvey」を導入したことで、設問用紙を印刷するための用紙代、印刷のインク代、デー タ入力に関する費用が削減でき、全授業科目に対して、より効率的な調査が期待された。  平成 27 年度前学期から、実際に「Limesurvey」を導入すると、ソフト自体で出力する様式が定 型化しており、本学で従来から実施している教員別に科目別の集計を行うことが困難であることが 分かった。従来から使用していた様式で出力するために、集計用の VBA プログラムを開発するこ とが必要となった。今回の論文は、この作成過程と最終的なプログラムを報告する。

2.出力形式の工夫

 本学では、図 1 に示す授業評価アンケートの質問紙を従来から実施していた。集計結果は図 2 の ように、科目別に帯グラフで各要素と実数を表示し、担当教員に集計結果として配布されてきた。 図 1 2014 年度まで実施されていた授業評価アンケートの設問用紙

(4)
(5)

 以上の様式のものを、基本的な構造を変えないで同等の情報を提供できる様式を検討した。最初 の案は手書きで図 3 を構想した。この図を基に出力形式を設計した。

(6)

 教員別に集計結果を配布する必要があるので、配布用のフォーマットを図 4 のように、エクセル で作成した。

(7)

 開発開始直後は、配布用のフォーマットごと VBA プログラムで作成する予定であったが、全教 員分を集計するにあたり、教員ごとに実施するたび、一枚ずつ作成していくのは時間の無駄である ことに気が付いた。プログラム作成をできるだけ簡単にするために、配布用フォーマットの該当欄 に、カウントした数字を順次書き換えしていく方法を採用した。  事前作業として、先に教員コードを用いてアンケートデータを並べ替えし、教員ごとの塊に整理 する。そして、完成した配布用フォーマットを入力シートとして事前に作成しておき、別のシート にその表をコピーして、その下に各教員別データを記録する形で教員別シートを作成した。結果的 にこの方法で処理時間の短縮ができた。

3.データの文字化け対策

 「Limesurvey」からアンケート結果を回収するためには、以下の手順が必要である。 1.サーバに接続し、「Limesurvey」に LDAP を使用してログインする。アンケートの作者であれ ば誰でもログインできる。 2.回収するアンケートを選ぶ。今回は「学生による授業評価アンケート」とした。これは、事前 に「Limesurvey」の設定方法に従って、調査票のデータを入力しておく必要がある。 3.「回答と統計」を選ぶ。 4.「結果をアプリケーションに出力」を選び、フォーマットを「CSV」、見出しを「質問コード」、 回答を「回答コード」とし、「データ出力」をクリックする。  この「データ出力」の結果は、文字コードの初期設定が「UTF-8」であるので、Windows の PC で開くと、回答データが文字化けして得られる。このため、Windows の「メモ帳」を開き、ダ ウンロードしたファイルをそこへドロップする。  ファイル→名前を付けて保存とし、文字コードを「UTF-8」から「ANSI」へ変更して保存する。 この操作で、エクセルで扱えるデータに変わる。  データの書式は、図 5 のように選択肢が A1、A2,・・・のように記述される。 図 5 Limesurvey から出力された結果

(8)

 これを通常の数値に変えるために、Value(Right(データ,1))、選択肢の値の大小が逆転する 場合には、5 − Value(Right(データ,1)) と変換する必要がある。これはデータ集計前に事前 に準備しておく。そして、科目コードから授業科目名と教員名を vlookup 関数でつないで、図 6 の ような集計用のデータが得られる。 図 6 科目コードと担当者コードをつないで得られた集計用データ

4.VBA によるアンケート集計プログラム

 以上の準備の上で、2015 年 10 月に次のプログラムを作成した。2015 年度には、2010 年度以前 の旧課程の学生が存在したので、「心理専攻」「子ども福祉専攻」の項目がある。

(9)

【リスト 1】

Attribute VB_Name = "Module1" Sub furiwake()

' 授業評価アンケート Limesurvey 用教員別集計プログラム (Ver.1) '     2015.10.7   T.Konishi(c)

'

Dim X, Oldsheet As Worksheet Dim kstart As Integer

Dim jiyuuk, kubun As String Dim wa As Single ' n = Application.WorksheetFunction.CountA(Range(" 評価データ !a1:ag1")) a = Application.WorksheetFunction.CountA(Range(" 評価データ !d1:d10000")) ' j = 1 ' Worksheets(" 評価データ ").Activate i = 2

sname = Cells(i, 7).Value Set Oldsheet = ActiveSheet

Worksheets(" 集計結果 ").Copy after:=Worksheets(" 集計結果 ") ' ActiveSheet.Name = sname Oldsheet.Activate kstart = 100 idx = 1 ' For k = 1 To n

Worksheets(sname).Cells(100, k).Value = Worksheets(" 評価データ ").Cells(i, k).Value Next k

'

For i = 3 To a

sname1 = Cells(i, 7).Value If sname1 = sname Then

(10)

kstart = kstart + 1 For k = 1 To n

Worksheets(sname).Cells(kstart, k).Value = Worksheets(" 評価データ ").Cells(i, k).Value Next k

Else

sname = sname1

Set Oldsheet = ActiveSheet

Worksheets(" 集計結果 ").Copy after:=Worksheets(" 集計結果 ") ' ActiveSheet.Name = sname kstart = 100 idx = idx + 1 Oldsheet.Activate For k = 1 To n

Worksheets(sname).Cells(kstart, k).Value = Worksheets(" 評価データ ").Cells(i, k).Value Next k End If Next i ' '  アンケート集計処理 ' kstart = 100 ' For kkk = 3 To idx + 2 ' Worksheets(kkk).Activate

Cells(3, 2).Value = Cells(kstart, 7).Value

kk = Application.WorksheetFunction.CountA(Range("d100:d10000")) IY = 3 ' ist = kstart ' IYY = IY + 1 jiyuuk = ""

(11)

'

kamoku = Cells(ist, 5).Value Cells(5, IY).Value = kamoku kamokun = 1

'

For ii = 1 To kk

s = Cells(99 + ii, 8).Value

Cells(s + 5, IYY).Value = Cells(s + 5, IYY).Value + 1 '

s = Cells(99 + ii, 9).Value

Cells(16 + s, IYY).Value = Cells(16 + s, IYY).Value + 1 '

s = Cells(99 + ii, 10).Value

Cells(21 + s, IYY).Value = Cells(21 + s, IYY).Value + 1 '

s = Cells(99 + ii, 11).Value

Cells(23 + s, IYY).Value = Cells(23 + s, IYY).Value + 1 '

s = Cells(99 + ii, 12).Value

Cells(27 + s, IYY).Value = Cells(27 + s, IYY).Value + 1 '

For jj = 1 To 19

s = Cells(99 + ii, 12 + jj).Value If s = 0 Then GoTo tugi

Cells(2 * jj + 30, IY + s - 1).Value = Cells(2 * jj + 30, IY + s - 1).Value + 1 tugi:

Next jj '

kubun = "/"

If Cells(99 + ii, 32) <> "" Then jiyuuk = jiyuuk + CStr(Cells(99 + ii, 32)) + kubun '

If Cells(100 + ii, 5) = "" Then GoTo nxt If Cells(100 + ii, 5) <> kamoku Then Cells(70, IY).Value = jiyuuk

(12)

jiyuuk = "" IY = IY + 4

kamoku = Cells(100 + ii, 5).Value kamokun = kamokun + 1 IYY = IY + 1

'

Cells(5, IY).Value = kamoku ' End If Next ii ' nxt: IY = 3 For l = 1 To kamokun For ii = 1 To 19 wa = 0# nn = 0# For mm = 1 To 4 wa = wa + Cells(2 * ii + 30, mm + IY - 1) * mm nn = nn + Cells(2 * ii + 30, mm + IY - 1) Next mm If nn = 0 Then GoTo nxt1 scoave = wa / nn

Cells(2 * ii + 31, IY) = Application.WorksheetFunction.Round(scoave, 1) nxt1: Next ii IY = IY + 4 Next l ' Next kkk End Sub 上記のプログラムを実行した結果は図 7 である。

(13)
(14)

5.VBA によるアンケート集計プログラム(改良版)

 2016 年度には、FD 委員会主導でアンケート項目の見直しが行われ、図 8 のような項目に変更さ れた。各設問の問いかけ方も学生主体のところを明確にした。 図 8 アンケート質問項目(2016)

授業改善のためのアンケート

- 松山東雲女子大学・松山東雲短期大学 2016 年度 前学期 - 属性項目 F0 時間割コードを入力してください。 F1 あなたの所属学科・専攻について、あてはまる数字を1つ選んで下さい。 1.子ども専攻 2.心理福祉専攻 3.国際文化学科 4.保育科 5.秘書科 6.現代ビジネス学科 7.食物栄養専攻 8.介護福祉専攻 9.科目等履修生・SEC 生など F2 あなたの学年について、あてはまる数字を1つ○選んでください。 1.1 年 2.2 年 3.3 年 4.4 年 5.その他 あなたが受けたこの授業科目についてお答えください。(Q3 以外) 1.そう思わない 2.どちらかといえばそう思わない 3.どちらかといえばそう思う 4.そう思う Q1 あなたはシラバスを読んで理解した上で、この授業を履修しましたか Q2 あなたはこの授業に意欲的に取り組みましたか Q3 あなたはこの授業を何回欠席しましたか 「1.0 回」「2.1~2 回」「3.3 回以上」「4.わからない」 Q4 あなたは、スマホ、私語、飲食、居眠りをしないなど、教室でのマナーをきちんと守りましたか Q5 担当教員の話し方や態度、学生に対する接し方は適切だった Q6 担当教員は学生に質問や意見を求めたりするなど、学生の反応を確かめながら授業を進めてい た Q7 あなたは授業でわからないところがあったときなど、授業中あるいは授業時間外に担当教員に質 問あるいは相談をしましたか Q8 質問や提出物に対して、担当教員から適切なフィードバック(応答)が得られた Q9 この授業科目の目的(この科目を学修する意義)は担当教員により明確に示された Q10 この授業は全体として内容がよく整理され、まとまっていた Q11 この授業の毎回のテーマははっきりしていた Q12 この授業の進み方、時間配分は適切だった Q13 この授業では黒板や提示教材などが理解しやすかった Q14 この授業での教材(テキスト、参考文献、配布プリントなど)は適切であった Q15 この授業は、事前学習・事後学習(予習・復習)に必要な時間またはその学修内容が明確であった Q16 あなたは、この授業の事前学習・事後学習(予習・復習)を十分に行いましたか Q17 あなたは、この授業から刺激を受けて、関連する知識や学問にさらなる興味・関心をもつようにな りましたか Q18 この授業の成績評価に関しては、評価項目(学修過程や学修成果をどのような観点から評価する のか)や配点基準が明確である Q19 この授業は全体としてシラバス通りに行われていた Q20 総合的に判断して、この授業は満足できるものであった Q21 特に何かあれば、記入してください(自由記述) Q22 あなたは授業でのディスカッション(ゼミあるいはグループワーク等での討論・意見交換・質疑応 答)に積極的に参加しましたか Q23 あなたは授業でのプレゼンテーション(ゼミあるいはグループワーク等での発表)の準備に十分な 時間をかけて取り組みましたか Q24 授業でのディスカッションやプレゼンテーションにおいて担当教員から適切なコメントやアドバイス をもらえた

(15)

 さらに、前述の「心理専攻」「子ども福祉専攻」の学生が居なくなったので、この項目を削除して、 以下のプログラム(Ver.2)を作った。

【リスト 2】

Attribute VB_Name = "Module1" Sub furiwake()

' 授業評価アンケート Limesurvey 用教員別集計プログラム (Ver.2) '     2016.10.12   T.Konishi(c)

'

Dim X, Oldsheet As Worksheet Dim kstart As Integer

Dim jiyuuk, kubun As String Dim wa As Single ' n = Application.WorksheetFunction.CountA(Range(" 評価データ !a1:ag1")) a = Application.WorksheetFunction.CountA(Range(" 評価データ !d1:d10000")) ' j = 1 ' Worksheets(" 評価データ ").Activate i = 2

sname = Cells(i, 7).Value Set Oldsheet = ActiveSheet

Worksheets(" 集計結果 ").Copy after:=Worksheets(" 集計結果 ") ' ActiveSheet.Name = sname Oldsheet.Activate kstart = 100 idx = 1 ' For k = 1 To n

Worksheets(sname).Cells(100, k).Value = Worksheets(" 評価データ ").Cells(i, k).Value Next k

(16)

For i = 3 To a

sname1 = Cells(i, 7).Value If sname1 = sname Then kstart = kstart + 1 For k = 1 To n

Worksheets(sname).Cells(kstart, k).Value = Worksheets(" 評価データ ").Cells(i, k).Value Next k

Else

sname = sname1

Set Oldsheet = ActiveSheet

Worksheets(" 集計結果 ").Copy after:=Worksheets(" 集計結果 ") ' ActiveSheet.Name = sname kstart = 100 idx = idx + 1 Oldsheet.Activate For k = 1 To n

Worksheets(sname).Cells(kstart, k).Value = Worksheets(" 評価データ ").Cells(i, k).Value Next k End If Next i ' '  アンケート集計処理 ' kstart = 100 ' For kkk = 3 To idx + 2 ' Worksheets(kkk).Activate

Cells(3, 2).Value = Cells(kstart, 7).Value

kk = Application.WorksheetFunction.CountA(Range("d100:d10000")) IY = 3

'

(17)

'

IYY = IY + 1 jiyuuk = "" '

kamoku = Cells(ist, 5).Value Cells(5, IY).Value = kamoku kamokun = 1

'

For ii = 1 To kk

s = Cells(99 + ii, 8).Value

Cells(s + 5, IYY).Value = Cells(s + 5, IYY).Value + 1 '

s = Cells(99 + ii, 9).Value

Cells(14 + s, IYY).Value = Cells(14 + s, IYY).Value + 1 '

For jj = 1 To 23

s = Cells(99 + ii, 9 + jj).Value If s = 0 Then GoTo tugi

Cells(2 * jj + 18, IY + s - 1).Value = Cells(2 * jj + 18, IY + s - 1).Value + 1 tugi:

Next jj '

kubun = "/"

If Cells(99 + ii, 33) <> "" Then jiyuuk = jiyuuk + CStr(Cells(99 + ii, 33)) + kubun '

If Cells(100 + ii, 5) = "" Then GoTo nxt If Cells(100 + ii, 5) <> kamoku Then Cells(66, IY).Value = jiyuuk jiyuuk = ""

IY = IY + 4

kamoku = Cells(100 + ii, 5).Value kamokun = kamokun + 1 IYY = IY + 1

(18)

Cells(5, IY).Value = kamoku ' End If Next ii ' nxt: IY = 3 For l = 1 To kamokun For ii = 1 To 23 wa = 0# nn = 0# For mm = 1 To 4 wa = wa + Cells(2 * ii + 18, mm + IY - 1) * mm nn = nn + Cells(2 * ii + 18, mm + IY - 1) Next mm If nn = 0 Then GoTo nxt1 scoave = wa / nn

Cells(2 * ii + 19, IY) = Application.WorksheetFunction.Round(scoave, 1) nxt1: Next ii IY = IY + 4 Next l ' Next kkk End Sub 上記のプログラムを実行した結果は図 9 である。

(19)
(20)

6.課題と考察

 2015 年から 2 年間、Web 上での授業評価アンケートの実施を行い、回答の回収率がきわめて低く、 全学生の提出を義務化する方向を検討する必要を感じた。授業最後に、授業評価アンケートに回答 をする時間を特に設けても、アンケートの回答は成績等に無関係であるので、意識的に回答しない 学生が多数存在した。ある授業では「自由記述欄に、自分の学生番号を書きなさい。未提出の学生 を確認します。」とアナウンスして回収率を高めてみたが、主体的な回答ではなく、何か空しい気 がした。  今回作成したプログラムは、実行前の段階までに行う事前作業が多く、その処理を自動化する望 ましい。設問が変化がないのであれば、パソコン操作に詳しい者でなくても、回答の処理が実施で きるように作っておくことが望ましい。今回は開発時間の都合で、事前作業が多い仕様である。  Web 上で実施する事業評価アンケート実施に関する問題点として、上記のほか、以下のものが 考えられる。 ・すべての設問に回答していないものをどうするか? ・回収率を高くする工夫として、学生番号の入力を義務としてはどうか?(この場合、回答が教員 に対する批判と受け取られ、個人の成績評価等で不利益が発生しないように対処しないといけな い。) ・科目コードを手入力させたと思われる科目については、入力ミスが発生している。QR コードを 事前に印刷し配布しておくなど、アンケート調査時の補足資料が必要かもしれない。  2017 年度からは本学 FD 委員会主導で、授業評価アンケートの回答率を向上させるため、マー クシート読み取り用のスキャナを導入して、学生に最終回の授業終了直前にマークシートを配布し て、授業評価アンケートを回答させる方法に変わる予定である。  今回作成したプログラムの使命は、2017 年度後学期の集計作業で最後となる。しかし、マーク されたシートから読み取られたデータに対して、データ形式の交換等の事前作業を行うことで、今 回のプログラムを若干修正するだけで対応ができると思われる。今後、より優れたシステムに改良 を加えていく予定である。

図 2 配布用の集計結果表
図 3 レイアウトの設計
図 4 配布用集計シート
図 7 アンケート集計結果(2015)
+2

参照

関連したドキュメント

ポートフォリオ最適化問題の改良代理制約法による対話型解法 仲川 勇二 関西大学 * 伊佐田 百合子 関西学院大学 井垣 伸子

女子の STEM 教育参加に否定的に影響し、女子は、継続して STEM

54. The items with the highest average values   were:  understanding  of  the  patient's  values,  and  decision-making  support  for  the  place  of 

学識経験者 品川 明 (しながわ あきら) 学習院女子大学 環境教育センター 教授 学識経験者 柳井 重人 (やない しげと) 千葉大学大学院

会長 各務 茂夫 (東京大学教授 産学協創推進本部イノベーション推進部長) 専務理事 牧原 宙哉(東京大学 法学部 4年). 副会長

1998 年奈良県出身。5

2011 年に EC(欧州委員会)科学委員会の職業曝露限度に関する科学専門委員会(SCOEL) は、インハラブル粒子:0.2 mg/m 3 、レスピラブル粒子:0.05

関西学院大学社会学部は、1960 年にそれまでの文学部社会学科、社会事業学科が文学部 から独立して創設された。2009 年は創設 50