LMM?
Language Teaching ResearchでTaskの特集号が出ていました(裏話によると後づけで採択された論文を集めた特集号らしい)。そこで,とある論文を見たら,”linear mixed model analysis (LMM)”が使われたと書いてありました。
Focus on form through task repetition in TBLT
いわゆるLMEのことかな?と思いつつ読んでいると,固定効果とランダム効果をいれたモデルでうんぬんと書いてあるのでやっぱりそうかと。general linear modelというのは一般線形モデルなので普通の回帰分析や分散分析と同じだけれど,ランダム効果をいれたものは(general) linear mixed-effects modelと呼ばれる(ただし普通GLMMはgeneralized linear mixed-effects model)。つまりmixed effectsとつくものは変量効果をいれたもの。ちなみにgeneralized modelというのは確率分布が正規分布以外のもの。
結果のところを読んでいると,なんかF値とか報告されています。3つの2次交互作用と1つの3次交互作用がモデルに入っていると書いてあるのに交互作用項がどうなったのかとかの報告が一切ありません。そしてランダム効果の推定値も報告されていません。分析に用いたソフトウェア(RなりSPSSなりSASなり)の報告もありません。
??????????????????????????????????????
え?ていうかこれただ分散分析やっただけじゃないのか?
ちなみに,「GLM (general linear model)で分析しました」みたいなことが書いてある論文も以前みたことがあります。それって結局ただの分散分析ですよねみたいな。普通GLMはgeneralized linear modelの略です(APA第6版のp.119にもそう書いてある)。別に分散分析やったなら分散分析やったでいいからそう報告してほしいですね。なんか変にかっこつけてるのかなんなのか知らないですけど素人騙しでmixed-model使ったとかそういうの本当にやめてほしいです。ていうか査読でチェックされなかったんかいなこれっていう…
あまりLTRをdisると同じ号に載ってる先輩の論文にまで飛び火するのでこの辺にしておきましょう(※彼の論文は何も悪くありません)。
なにをゆう たむらゆう。
おしまい。
Clutch Shots
最近毎週火曜日に体育館でバスケをやっています。後輩と一緒に。名古屋に来てからなかなかバスケする機会がなかったのですが,久しぶりにやると楽しいですね。バスケ最高。運動って最高。とはいえ身体もどんどん動かなくなっていてしんどいです。それでもシュートはまだ入るのでなんとかなっています。
先週は体育館にいた人たちに声をかけてピックアップゲームしました。やっぱゲーム形式でやると楽しいですね。身体の衰えは隠せませんが,いつかまた駒場の仲間や大学のサークルの仲間とバスケやりたいです。動画はしびれるクラッチショット集。
Calendars 5で日本の休日が反映されない問題
iPhoneとiPadでは,Calendars 5というカレンダーアプリを長いこと使っています。基本はGoogleカレンダーに予定をいれて,それを同期させるという感じ。でも,結構前から日本の休日設定がCalendars 5にうまく同期されないという問題が発生していました。レビューを見てもこのことが書いてあったりしますが,アップデートしても改善されておらず,ネットを探しても解決策がわかりませんでした。Googleカレンダーの方にはちゃんと休日が表示されているので,Calendars 5に同期する段階でなにか問題があるということはわかったのですが。
それでついさっき,Calenders 5内でGoogleアカウントから一度サインアウトして再ログインしたらちゃんと表示されるようになりました。最初にiPadで再ログインして表示されるようになったので,iPhoneのアプリも開いてみると,こちらは表示されておらず,iPhoneでもサインアウトしてから再同期の手順でまたちゃんと休日が表示されるようになりました。
めでたしめでたし。
なにをゆう たむらゆう。
おしまい。
超簡単油そばがうますぎる
たまに簡単にご飯をすませたいとき,麺類が楽ですよね。パスタでもいいんですが,いつもパスタだと飽きるのでバリエーションがほしい。たまたまつけ麺用の中華麺が買ってあったので,これで何か作ろうかと思いました。ちなみに私がいつもスーパーで買うのはこちらです。
山岸一雄」監修 つけ麺専用中華麺 4玉入
つけ麺を作るとなるとスープが必要ですよね。でもめんどくさい。そこで,スープを作らなくても良い油そばができないかと考えました。そしてこれが簡単なのに意外に美味しかったので以下に適当にメモしておきます。
材料
- 中華麺(なんでもいいです):私の場合いつも2玉で1人前
- サラダ油:大さじ1/2(麺の量によって調整)
- ごま油:大さじ1/2(麺の量によって調整)
- おろしニンニク:少々
- 塩:適量
- 醤油:少々
- 和風だし:適量(今回は顆粒の焼きあごだし)
- トッピング:お好みでチャーシューなりメンマなり海苔なり好きなモノを(今回はチャーシューと水菜)
作り方
1. 鍋にたっぷりのお湯を沸かして麺を茹でます
2. どんぶりに調味料をいれてよく混ぜておきます。塩(醤油)とだしの量で味の濃さを調節してください
3. 麺が茹で上がったら湯切りしてどんぶりにそのまま盛りつけて,あとはお好みのトッピングを載せるだけ
4. 下の調味料をよく麺に絡めてから食べましょう
たったこれだけです。今回は自家製の豚バラチャーシューを作って載せています。これは豚バラブロック(たまたまスーパーで安かった)を酒,生姜,にんにくと一緒に茹でて脂を落として,醤油と味醂を1:1で混ぜたつけ汁を入れたボールの中でぐるぐる回しながらまんべんなく染み込ませておきます。これは前日の夜にやっておいて,食べる前にオーブンで片面ずつ焼色をつけて,またつけ汁をつけて反対側も焼くという感じで焼色をつければ完成。別にチャーシューは買ってきてもOKですし,メンマとかもうまいでしょう絶対。ポイントは調味料のおろしニンニクですかね。にんにく苦手な方はこれなしでもOKですが,ちょっと物足りなさを感じると思います。
これ入れたら美味しそうというアイデアがあったら教えて下さい。
ちなみに,こういうやり方もあるみたいです。
ラ王つけ麺」を油そばにアレンジすると激うま! 話題のレシピを試してみた
なにをゆう たむらゆう
おしまい。
dplyrを使ってみる:long型から記述統計
今までデータをあれこれいじったり記述統計出したりするのはExcelで色々やってからRにいれて分析という流れでした。dplyr使ったら便利そう…というのはなんとなくわかっていたんですが,自分がよく扱うようなデータセットの構造に対してどうやって使えば今までやってたことが楽になるのかいまいちイメージがわかずにずっと放置していました。最近色々あってようやく基礎中の基礎だけを覚えたので以下メモ書きです。
まずはサンプルのデータを作ります
#事前・事後・遅延事後でCAFのデータを取ってるというデザイン
pre.fluency <-rnorm(50,mean=10,sd=2)
pre.accuracy<-rnorm(50,mean=7,sd=2)
pre.complexity<-rnorm(50,mean=4,sd=2)
post.fluency<-rnorm(50,mean=14,sd=4)
post.accuracy<-rnorm(50,mean=10,sd=3)
post.complexity<-rnorm(50,mean=7,sd=2)
delayed.fluency<-rnorm(50,mean=12,sd=2)
delayed.accuracy<-rnorm(50,mean=8,sd=1)
delayed.complexity<-rnorm(50,mean=6,sd=1)
#それぞれの列を横にくっつける
dat<-cbind(pre.fluency,pre.accuracy,pre.complexity,post.fluency,post.accuracy,post.complexity,delayed.fluency,delayed.accuracy,delayed.complexity)
dat<-as.data.frame(dat) #データフレーム型に変換
dat$subject<-rep(1:50) #実験参与者のID列をつける
とりあえずこんな感じでいまデータを持ってるとする
head(dat)
## pre.fluency pre.accuracy pre.complexity post.fluency post.accuracy
## 1 11.916630 7.480500 4.644798 8.431656 13.070707
## 2 10.719751 7.090714 6.566487 13.652658 11.462576
## 3 11.980852 6.182161 5.731289 16.580042 11.287683
## 4 11.109400 7.256950 5.897070 16.966183 9.497555
## 5 10.488391 5.449349 2.673285 15.778588 9.994575
## 6 9.076144 8.621538 2.122296 9.465845 7.577611
## post.complexity delayed.fluency delayed.accuracy delayed.complexity
## 1 8.639772 12.961946 7.740613 7.042510
## 2 6.397390 9.921947 7.520258 6.951231
## 3 6.917590 10.478401 9.378301 4.972710
## 4 5.897965 6.738074 8.983224 5.045168
## 5 6.214526 10.694636 8.510670 5.184044
## 6 7.644466 8.666421 8.863990 4.719461
## subject
## 1 1
## 2 2
## 3 3
## 4 4
## 5 5
## 6 6
まずは縦横変換
参考までに以前tidyrの紹介を書いたブログ→変数が多い研究デザイン系の縦横変換(tidyr)
library(tidyr)
dat%>%
gather(key=variable,value=score,-subject)%>%
separate(col=variable,into=c('test','measure'))->dat2
head(dat2) #test, measure, scoreという列ができてるか確認
## subject test measure score
## 1 1 pre fluency 11.916630
## 2 2 pre fluency 10.719751
## 3 3 pre fluency 11.980852
## 4 4 pre fluency 11.109400
## 5 5 pre fluency 10.488391
## 6 6 pre fluency 9.076144
悩み
でもさーこうやってlong型にしちゃうとさー例えば事前のときの流暢さの指標の平均値とか出せないじゃん?wide型になってたら全部横にならんでるから列ごとに平均求めればいいだけじゃん?
long型になってても層ごとの記述統計出せちゃう
そう,dplyrならね
library(dplyr)
dat2%>%
group_by(test)%>%
group_by(measure,add=T)%>%
summarise_each(funs(mean,sd,min,max),-subject) #summarise(mean=mean(score),sd=sd(score),min=min(score),max=max(score))でも同じ。もともとsummarise_eachは複数列に同じ関数を適用するときに威力を発揮するものだけど
## Source: local data frame [9 x 6]
## Groups: test [?]
##
## test measure mean sd min max
## (chr) (chr) (dbl) (dbl) (dbl) (dbl)
## 1 delayed accuracy 8.050833 1.0231177 5.5291358 10.250133
## 2 delayed complexity 6.043974 0.8633653 4.1740878 7.908483
## 3 delayed fluency 11.966818 2.2327496 6.7231359 15.657528
## 4 post accuracy 9.529745 2.4594148 2.7470626 16.876272
## 5 post complexity 7.211917 1.9710329 2.3591702 11.759346
## 6 post fluency 14.624789 3.8821630 7.3521391 21.161635
## 7 pre accuracy 6.941050 1.7114477 3.3338811 10.798454
## 8 pre complexity 4.326063 2.1271468 -0.7051241 10.391882
## 9 pre fluency 10.239550 2.0043330 5.8044643 14.556087
※このデータの場合,test,measure,score,subjectの4つしかなく,グルーピング変数で2つ使っていて,-subjectするので必然的にscoreだけの計算になるけど,もっと列数多くて記述統計出したいのは1つだけの時は列を指定してあげる(下の例参照)
追記
- もしも人ごとに1試行が1行になっているようなlong型の場合は,最初に人ごとにgroup_byすればOK
#こんな感じ
#dat2%>%
# group_by(subject)%>%
# group_by(test)%>%
# group_by(measure,add=T)%>%
# summarise_each(funs(mean,sd,min,max),score)
- もし値に欠損があるときに関数が複数あるとちょっとめんどうだけど…
#こんな感じ
#dat2%>%
# group_by(subject)%>%
# group_by(test)%>%
# group_by(measure,add=T)%>%
# summarise_each(funs(mean(.,na.rm=T),sd(.,na.rm=T),min(.,na.rm=T),max(.,na.rm=T)),score)
ハッ,なに言ってるのこの人そんなのdplyrの威力をぜ~んぜんっ活かせてないんだからね!っていうのもあるかと思うのでもっと勉強したいと思いますがとりあえずtidyrからのdplyrを外国語教育研究のありそうなデータセットの形でやってみるとこんな感じになりますよというお話でした。
参考サイト
dplyrを使いこなす!基礎編
R dplyr, tidyr でのグルーピング/集約/変換処理まとめ
なにをゆう たむらゆう。
おしまい。
20160516追記
よくよく考えてみると,そもそもCAFって指標ごとに分析するからaccuracy, fluency, complexityの3列で待ってる形じゃないと分析できなくない?
そんなときはgather->separateのあとにspreadしてあげる
dat2%>%
spread(measure,score) ->dat3 #measureごとにscoreの列を作る
head(dat3)
## subject test accuracy complexity fluency
## 1 1 delayed 7.740613 7.042510 12.961946
## 2 1 post 13.070707 8.639772 8.431656
## 3 1 pre 7.480500 4.644798 11.916630
## 4 2 delayed 7.520258 6.951231 9.921947
## 5 2 post 11.462576 6.397390 13.652658
## 6 2 pre 7.090714 6.566487 10.719751
あとは上のやり方と同じ
dat3%>%
group_by(test)%>%
summarise_each(funs(mean,sd,min,max),-subject)
## Source: local data frame [3 x 13]
##
## test accuracy_mean complexity_mean fluency_mean accuracy_sd
## (chr) (dbl) (dbl) (dbl) (dbl)
## 1 delayed 8.050833 6.043974 11.96682 1.023118
## 2 post 9.529745 7.211917 14.62479 2.459415
## 3 pre 6.941050 4.326063 10.23955 1.711448
## Variables not shown: complexity_sd (dbl), fluency_sd (dbl), accuracy_min
## (dbl), complexity_min (dbl), fluency_min (dbl), accuracy_max (dbl),
## complexity_max (dbl), fluency_max (dbl)
列数が多いので表示されていないけど,出力はデータフレームなので,出力結果を何かの変数にいれてあげれば良い
ちなみに,実をいうとwide型の段階で列ごとにapplyしたほうが(ry
library(psych)
apply(dat,2,describe)
## $pre.fluency
## vars n mean sd median trimmed mad min max range skew kurtosis se
## 1 1 50 10.24 2 10.45 10.24 2.21 5.8 14.56 8.75 0 -0.6 0.28
##
## $pre.accuracy
## vars n mean sd median trimmed mad min max range skew kurtosis se
## 1 1 50 6.94 1.71 7.15 6.93 1.79 3.33 10.8 7.46 0.06 -0.43 0.24
##
## $pre.complexity
## vars n mean sd median trimmed mad min max range skew kurtosis
## 1 1 50 4.33 2.13 4.09 4.33 2.07 -0.71 10.39 11.1 0.09 0.33
## se
## 1 0.3
##
## $post.fluency
## vars n mean sd median trimmed mad min max range skew kurtosis
## 1 1 50 14.62 3.88 14.78 14.67 5.19 7.35 21.16 13.81 -0.09 -1.27
## se
## 1 0.55
##
## $post.accuracy
## vars n mean sd median trimmed mad min max range skew kurtosis
## 1 1 50 9.53 2.46 9.48 9.44 2.69 2.75 16.88 14.13 0.24 0.67
## se
## 1 0.35
##
## $post.complexity
## vars n mean sd median trimmed mad min max range skew kurtosis
## 1 1 50 7.21 1.97 6.93 7.22 2.18 2.36 11.76 9.4 -0.07 -0.31
## se
## 1 0.28
##
## $delayed.fluency
## vars n mean sd median trimmed mad min max range skew kurtosis
## 1 1 50 11.97 2.23 12.42 12.09 2.51 6.72 15.66 8.93 -0.42 -0.52
## se
## 1 0.32
##
## $delayed.accuracy
## vars n mean sd median trimmed mad min max range skew kurtosis
## 1 1 50 8.05 1.02 8 8.06 1.06 5.53 10.25 4.72 -0.15 -0.2
## se
## 1 0.14
##
## $delayed.complexity
## vars n mean sd median trimmed mad min max range skew kurtosis se
## 1 1 50 6.04 0.86 5.97 6.05 1.01 4.17 7.91 3.73 0.02 -0.65 0.12
##
## $subject
## vars n mean sd median trimmed mad min max range skew kurtosis se
## 1 1 50 25.5 14.58 25.5 25.5 18.53 1 50 49 0 -1.27 2.06
glmerからのlsmeans
RでGLMMするときに使うglmer関数。要因の水準が3以上になると,どうしても多重比較したくなっちゃいますよね。けれど,デフォルトでは全水準の総当り比較はできない。そんなときにはlsmeans関数が便利です。ところが,glmer関数の出力結果をいれた変数を使ってlsmeans関数に渡してもなんかエラーメッセージが出てしまいました。
Error in format.default(nm[j], width = nchar(m[1, j]), just = "left") : 4 arguments passed to .Internal(nchar) which requires 3
こういうやつ。Rでエラーメッセージが出て,その原因がよくわかんなかったらもうそのエラーメッセージをそのままコピペしてググってしまうと。そうするとたいてい同じ悩みで困っている人の書き込みとかがヒットすることがしばしばあります。
するとこのサイトがヒット。
Error in R lsmeans() function: Error in format.default(nm[j], width = nchar(m[1, j]), just = “left”)
この掲示板の書き込みを見てみると,どうやらRのバージョンが古い(R3.2.0以前)とこのエラーメッセージが表示されるらしいです。なんか根本的な解決にはなってないような気もしますが…
とはいえ私もR3.2.0ユーザーだったので,これを気に新しいRをインストールすることに。R.3.3.0が最新らしいです。最新のに変えると今まで使ってたパッケージに不具合が出たりすることがあって不安でしたが,実際にRのバージョンを新しくすればglmerのあとに多重比較ができました。
fit1<-glmer(RT ~presentation*condition+ (1|subject) + (1|item), family = Gamma (link= “identity”), data=dat,glmerControl (optimizer=”bobyqa”)
lsmeans(fit1, pairwise~condition|presentation)
こんな感じ。
要因の順番は,多重比較したい要因が先にきます。つまり,上の例だと,condition条件の多重比較をpresentation条件ごとにやるという感じです。逆にすれば,presentation条件の多重比較をcondition条件ごとにやることになります。
もちろんコーディングを変えて全条件の組み合わせをつくればlsmeansとかしなくてもglmerだけで大丈夫ですし,例えば1, 2, 3と水準があったときに,1と2,3をまとめた水準を比較して違うか調べたいときとか(例えば英語母語話者が1で日本語母語話者が2, 韓国語母語話者が3で,母語話者群と学習者群が異なるか調べたいとか)には,やはり自分でコーディングを変えないといけません。カテゴリカル変数のコーディングの違いについてはこのサイトがわかりやすいです。
R Library: Contrast Coding Systems for categorical variables
しかしもはやこれでANOVAする必要が本当にないのではないかと…
そういえば,ついにdplyrの基礎がわかってなにこれめちゃ便利って感動したのでそのこともまた書きます。
なにをゆう たむらゆう。
おしまい。
モデルの提示と意味交渉
学生と英語でやりとりをしていて,正しい形をどう示せば良いのか,また,それと同時にどうやって意味のやりとりをすればよいか,悩ましく感じることがある。
学生同士の交流を目的に,相手のことを知るための質問をたくさんするというようなことをやった時のこと。
沈黙しているペアがいたので,割って入った。
例として与えていたインプットの中に、”Do you like coffee?”というのがあった。
それで,以下のようなやりとりになった(Tは私でSは学生)
T: Do you like coffee?
S: No
T: Oh, you don’t like coffee?
S: えっ,You don’t like coffee
私の意図はいわゆるcomprehension checkのようなものだった。それにもかかわらず,学生は私の発話を修正フィードバックだと受け取ったようで,おうむ返しで私の発言をそのまま繰り返した。
私の言い方がなにか誤りを暗示してしまったのかもしれないが,そんな意図はまるでなかったのでこちらがむしろ驚いた。リピートアフターミー病(いま作った)というか,教師の発話は基本的に正しい形を与える役割で,それをそのまま繰り返せば良いという訓練の成果なのだろうか。
確かに,「なんていうかわからん」と聞かれれば正しい形を与えることもしばしばある。もしかすると,教室内で教師と学生が英語で意味のやりとりをしなければ,上の例のようにモデルの提示的な発話と,単なる意味のやりとりを取り違えたりする必要はないのかもしれない。しかし,有意味なやりとりが圧倒的に足りないほとんどの学生にその機会を保障できるほとんど唯一の場所が教室内であるとすれば,できる限り英語で意味のやりとりをしたい。それが私の英語教師としての信念である。
先ほどの続きは
T: No, no. I just repeated what you said. You did not make a mistake. Okey? So, you don’t need to repeat after me.
S: あっ、なに、そういうこと?はいはい
といった感じ。
続けてちょっとしたギャグで”Do you like beer?”と同じ学生に聞いた。
T: Do you like beer?
S: えー!笑 まだ(20歳じゃないから)飲めんし。(隣のクラスメイトに対して)なんて言ったらいいの?No drink?
S2: can’tじゃない?
T: I know, haha. You can’t drink.
S: You can’t drink.
T: No, no. For me(自分を指して), YOU(学生を指差して) are you, but for you, you are I, so you say “I can’t drink”
S: あー,I can’t drink.
この場面では,「なんて言ったらいいのか」という状態の学生に対して、私は意味のやりとりを続けながらcan’tの使い方(can’t drink)を提示した。私から見れば話し相手の学生は二人称なのでYouとなり,”You can’t drink”と発話したわけだ。それを学生は「”You can’t drink”といえば良い」と勘違いしてしまい,そのままリピートアフターミーしてしまったわけだ。
私がここで、”You should say, ‘ I can’t drink'”と言っていたらよかったのかもしれない。それをそのまま繰り返せば良いからだ。しかしこれではいつまで経っても教師の言ったことをそのままなにも考えずに繰り返すことにしかならない。私の発話が単純な意味交渉の機能を持つことはいつまでも学生に伝わらないし,そうでなければ私の発話の意図や意味内容を理解しようとはしないだろう。
彼らにとって,教師の発話する英語の意味を理解して会話しよう(仮に返答が日本語であっても)という経験が圧倒的に足りないのだ。
私の昨年度までの経験では(あくまで経験)、これも慣れの要素が多分にある。英語が苦手な学習者であっても,英語で話しかけられる経験を積めば積むほど,私の発話が意味のやりとりを目的としていることを理解し(というより私の発話内容により注意を向けるようになり),リキャストのようなフィードバックを出してもおうむ返しをしたりはしなくなったと思う。例えば,過去の出来事に対するライティング課題中のやりとりで
S: センセー私この前温泉行ったんですよー(worksheetにはI go to hot springと書いてある)
T: Oh, you WENT to a hot spring? Where?
S: あーyes, yes I went to Gifu
のような感じである(確かこんなやりとりがあったと記憶している)。教師としては涙ちょちょぎれる(死語?)ような美しきアップテイクである。
ただし,先ほどの例と違うのは,この例の学生はそもそも最初から私と意味のやりとりをしようとしている点である。
どうしても机間巡視している最中は,意味交渉とモデルの提示が入り混じることになってしまうので,混乱を招きやすいのかもしれない。しかしだからといって,ブレイクダウンが発生した瞬間に日本語に切り替えるようなことはしたくない。諦めは大事だが、意味交渉とはブレイクダウンが起こった時にこそ発生するものであるし,私の試行錯誤で彼らにとってのcomprehensible inputを提供できるか否かが決まるわけなので,プロとしてその技を常に磨きたい。
さてあと残り12回しかない授業がどうなるか。毎週火曜はネムレナイ
なにをゆう たむらゆう。
おしまい。
Kobe引退
「有終の美を飾る」とはまさにこのこと。僕はどちらかというとAllen Iversonのファンだったけれど。中学時代にNBAをよく観ていた時よりスピードやキレは衰えているけれど,ペネトレイトやジャンパーが本当にうまいね。タイミングをずらすのがうまい。彼みたいなプレーをしたいと思って色々真似したこともあったなぁ。
机のない教室
非常勤の勤務先が新しくなり、今日が初めての授業だった。学生に色々動いてもらうことが多いので、机のない椅子だけの教室を使わせてもらうことになった。机と椅子が一体型で、さらにキャスター移動できるもの。人数も20人くらいでとてもやりやすいのだが、机のない教室で授業をやった感想などを書いておこうと思う。
講義用で3・4人が一緒に座る固定式の机のだと、ペアやグループで学生を動かすのが難しいというのはよく聞く話。固定式の長机はとくに英語の授業のように、時にワイワイやる授業向きではない。小中高のように、1人に1つ机と椅子がある教室だとそれは回避できる。昨年度まではそういう教室で授業をやっていたし、特に不満はなかった。
机が椅子にくっついているものは、机のスペースが狭く、それはそれで嫌いという人も結構いるかと思う。私が授業をやった教室にあったものは通常の木版の机と比べると8割程度の机の面積といったところだろうか。そこまで書くスペースが狭くて作業しづらいということもなさそうな感じだった。
教師の視点で、1番やりやすいなと感じたのは、机間巡視のしやすさ。もちろん教室の広さと机の数の問題ではあるのだが、それぞれの学生の周りをスイスイと移動できて楽だった。3コマ目となると自分も疲れてくる。そんな時には余った椅子に座ったままで机間巡視したりもできるという素晴らしさだ。若いヤツが何言っとると言われるかもしれないが。しかし、座ったままの移動はもうひとつ良いところがある。それは、学生と常に同じ目線で話ができることだ。立っていると、少し腰を折ったり中腰になっても、座った学生と同じ目線の高さで喋るにはスクワット状態になる必要があるのできつい。そしてしゃがむと立つのがつらい。私は椎間板ヘルニア持ちで、20代前半でベッドから起き上がることすらできないほど悪化して入院した経験が2度もあるので腰も労わりたい(言い訳)。座りながらスイスイ移動する机間巡視オススメです。
また、教科書をまだ買っていない学生などがいて移動してもらう場合にも、立ったりせずに座ったまま、前に、横に、後ろに、さらにはナナメ移動なんかもできた。今回はなかったが、4人グループにする際も机の向きを変えたりせずに向かい合って座りつつ、目の前には机もある状態が作りやすい。さすが、グループ学習用というだけはある。行列をまたいだ移動も、周りが少しずれれば簡単にできる。早く終わった学生に、まだ終わっていない学生をヘルプしてもらうときなども、スイスイと移動してもらえる。
今のところ、私としてはとても授業がやりやすかったという感想しかない。学生がどう思ったかはわからないが。
私は基本的に前で話す時間を極力短くしたいし、できればサポートが必要な子の近くで気にかけつつ話したい。もちろん、全体を見るには前にいる方がいいのだが、前にいて気づいてそこに行くよりもグルグル回っていた方が気づけることが多いというのが個人的な経験則(未熟者の証し?)。
ただし、今年度は教科書付属のCDを使う必要があるので(使わなくても自分がやればいいのだが)、どうしてもその操作で前に行かなくてはならない時間ができてしまった。しかし、そういう聞き取りやディクテーションの時こそ学生を近くで見ていたいのだ。教室にある音響設備ではそれができない。そこで、中学で教えていた時に重宝していたBluetoothのスピーカー(今は部屋でたまに音楽を聴くときに使っている)を教室に持ち込もうかと思案中(運ぶのがしんどいが)。スライドをめくるのはプレゼンマウスがあればよいし、音源をiPhoneに入れればもう私は自由の身である。
ということで、もはや自分の定番になりつつある英語しか話せないフリをして1時間弱授業をやった。私自身の自己紹介をインプットタスク風にやったあと、それを真似していくつかの質問に答えながら自分の自己紹介を書いてもらうというもの。
最初は「まじかよ」「うーわ」みたいな反応があるが、最終的にはみんな一生懸命にやってくれたのでこちらも助かった。「ネタバラシ」をしたときの学生の様々な反応はどのクラスでも面白い。目をキョトンとさせたり、やられたぁ〜という表情を見せたり。
今年はインプットだけでなくいかにインタラクションできるかを目標にやっていこうと思っているし、いつも以上にゆっくり、意識的にパラフレーズをふんだんに使って話すことを心がけてやっていく予定。またどこかで実践報告できればと思います。
なにをゆう たむらゆう。
おしまい。


