カテゴリー別アーカイブ: 英語教育

タスクにおける”sub-goal”という概念

はじめに

下記の本を月例の研究会で1章ずつ読んでいます。

Recent Perspectives on Task-Based Language Learning and Teaching

Ed. by Ahmadian, Mohammad / García Mayo, María del Pilar

この本全体については,Cognitive-Interactionist, Sociocultural Theory, Complexity Theory, Pedagogic and Educationalという4つのperspectivesからなる12章の本で,個人的には通読するよりも気になった章だけつまみ食いするという読み方がいいかなと思います。正直言ってあまりおもしろくない(質があまり高くない)チャプターも結構ありますので。

 

第7章がおすすめ

この本の第7章は,Martin Bygateが書いた”Dynamic Systems Theory and the Issue of Predictability in Task-Based Language: Some Implications for Research Practice in TBLT”という論文です。タイトルにDynamic Systemsと書いてありますが,そこまでDSTを推しているということではなく,「タスクってさ,何かやらせてみてもどんなことが起こるかわからないしリアクティブに教えるのがいいっていうけどやっぱそういうの不安だもん」みたいな言説について,predictabilityが一応ありますよっていうことを言うための理論的基盤としてDSTを持ってきているという印象です。それをベースにして,ケーススタディ的にデータを見てみるというようなのがこの論文の流れです。

この章を読むまでは,「この本は失敗だったかもしれない」と思うほどがっかりさせられるようなものが多かったのですが,この第7章は面白いなと久しぶりにワクワクしました。もちろん,ちょっとそれはどうなのと思うところもあるにはありました。ただ,それを差し引いても面白かったです。

 

何がそんなに面白かったか

一言で言えば,この記事のタイトルにもしている”sub-goal”という概念を導入している点が個人的にはこの論文で一番inspringだと思ったところです。示しているデータはおそらく過去の研究のものでしたし,特に分析をしっかりしているということではないのですが,それでもこの”sub-goal”というものはTBLTの研究でいろんなことができそうだなと思えた,そう思わせてくれるような内容でした。もちろん,実践においても示唆があることだと思いました。

sub-goalとはなにか

TBLTをご存知の方には馴染みのあることだと思いますが,タスクにはゴールがあります。spot-the-difference taskなら2つの絵の間にある違いをすべて見つけ出すことがゴールですし,picture description taskなら絵(または写真)を見ずに口頭で描写し,もとの絵(や写真)にできるだけ近いものを完成させるというのがゴールになります。この章で例として用いられているタスクは,6コマ漫画を6人で分割して1人が1コマずつ持ち,見せ合わずに正しい順番に並び替えるというものです。この場合,「正しい順番に並び替える」というのがゴールになります(注1)。

Bygateが言っているのは,このゴールに向かう前の段階にいくつかのphaseがあるということです。どんなphaseかというのを説明する際にBygateは,pragmaticとかdiscourseとかいう言葉を説明の際に使っています。少し長いですが,このphaseについて説明している箇所を本文から引用します。

A phase was defined in terms of the pragmatic coherence of a stretch of discourse which while not in itself achieving the overall task goal, likely contributed to achieving a useful enabling sub-goal. For instance, descriptions of the individual pictures in random order would contribute to the sub-goal of sharing information about the pictures, but would not themselves achieve the overall goal of sorting out the sequence and telling the story (even if by chance the students did actually provide the descriptions in the exact sequence of the narrative). Similarly, discourse during which students exchanged information about what they thought was going on in their respective pictures could not be interpreted as ‘telling the story’ either. Where students spent time suggesting potential sequencing of the pictures (still without seeing them), possibly accompanied by brief justifications, this kind of talk too contributes to a potentially useful subgoal, but still does not constitute the ‘telling of the story’. Hence the macro-purposes of the different discourse phases were inferred in relation to the pragmatic criterion: what are the speakers jointly trying to do at this point? Identification of phases enabled an assessment of the trajectories that the groups followed (p.155).

上の引用中では,”(sorting out the sequence and) telling a story”というのがタスクの最終的なゴールで,そこに到達するために有効なやりとりや言語行為をphaseとしています。複数コマ漫画の並び替えならば,まずは個々人の持っている写真を描写することからスタートすると予測されるので,それが一つのphaseになるというわけです。そして,自分の写真とグループメンバーの写真についての情報を全員が持った状態で,それぞれの写真に描かれている情報の違いを見つけることになります。そして,「いったいどんなストーリーなのだろうか」という話をしながら前後関係を特定していくことになると予想されます。これらの段階もすべてphaseであると。そして学習者はこういった複数のphaseを経て,最終的なゴールに辿り着くというわけです。

Bygateは,複数コマ漫画並び替えタスクでは次の5つのphaseがあるとしています。

  1. Description
  2. Comparison
  3. Interpreting gist
  4. Sequencing
  5. Narrative

ちょっとなんでだろうなと思ったことは,タスクの特性などから予測してこのphaseを導出したのではなく,実際の発話の書き起こしを分類してそれぞれのラベルを貼ったという点です。その後に,結果の解釈として,「複数のグループでタスクをやらせたけど,ほとんどのグループのタスク遂行中の発話に5つのphaseが見られた」みたいな議論に持っていっているのです。そして,このことから学習者たちのやりとりは予測可能なtrajectoryを通ってゴールに向かうという話につなげています。もともと発話データから導出した概念なのだから,導出に用いたものと同じ発話データにphaseが見られるのは,複数グループで見てみたとはいえある程度当たり前なのでは…という話です。さらに,もし仮にそこに違いがあり,違うグループでphaseの種類や用いられた数が異なっていたとすれば,最初に設定した5つのphase自体がそもそも分析に役に立たない枠組みだということになりますよね。この点については謎です。

また,個人的に気になったのは,最終的にタスクを達成できたかどうかと,用いられたphaseの数自体には関連が見られなかったという点です。例えば,分析している5つのグループのうちで3のgetting gistが見られなかったグループが1つ,5のnarratingが見られなかったグループが1つ,2のcomparisonと4のsequencingが見られなかったグループが1つという記述がありますが,この3つのグループはいずれも最終的なゴールである並び替えには成功しているというのです。この部分については,例えばcomparisonがなかったグループはもしかするとズルして絵を見せあっていたのかもしれないというような考察がなされています(このグループは終わるのも早かったらしいです)。しかし,もし仮にタスクの最終的な達成と何も関連がないのであるとすれば,このsub-goalという考え方自体がそんなに大事なものなのか?という疑問も湧いてきます。

さらに,言語使用面についてはphaseによって特徴的な部分が見られなかったと考察しています。つまり,同じphaseなら同じような言語表現が用いられるというようなことはなく,同じcomparisonというphaseでもグループごとに様々な表現を用いて行っていたと書かれています。ただし,”linguistic domains“については予測が可能かもしれないとしています。このdomainの例として,下記のようなものがあがっています。

the language for expressing impressions, inferences and approximations; the language of description and for identifying similarities and differences; the language for expressing motivations and consequences; the language for sequencing; and the language used for checking understandings (p. 160).

素人考えでちょっと微妙だなと思うのは,このdomainというのはほとんどphaseのラベルと同じようなものなのではということです。会話分析みたいなことに明るいわけではないのですが,ここまで抽象度があがってしまうと,それが予測できたことで何に活かされるだろうかということは疑問です。

 

sub-goalという考えのなにがそんなに大事?

さて,なんか,sub-goalってなんか別にそんな大事じゃないじゃんと思っておられる方もいるでしょう。私もここまでは批判的に書いてきています。ここからは,「そうはいっても結構色々なところに通じる概念じゃないかな」ということを書きたいと思います。

先ほど,「タスクの達成とは関係ない」という議論がされていると書きましたが,もし仮にそれがそうだったとしても,教室場面での教育介入を考えた際にはsub-goalという概念は大事だと思います。まずは,授業の準備段階でsub-goalは役に立ちます。

 

タスクの作成・計画段階で有益

これはタスクに限ったことではないのですが,どのような言語活動を仕組むにせよ,教師は活動を考え,その手順を構想し,最終的にどこに辿り着くことを目指すのかを思案しますよね。その際に,活動に取り組ませたときにどのようなことが想定されるかを全く考えない教師はいないと思うのです。「きっとこんなことが起こるだろうな」とか,「こういうことになったらどうしようか」などと考えながら,事前に準備しておいたほうがよいことについては仕込んでおき,指示の与え方や順序を工夫したほうがよさそうならそのように対策を打っておくはずです。このとき,例えば事前にタスクのsub-goalがわかっていれば,学習者が起こす行動の予測がつきやすくなるといえます。冒頭にも書きましたが,タスクは(特にやりなれていないものをやる場合は)出たとこ勝負の部分もあり,何が起こるかわからないから事前にあれこれ教えてこちらの想定内でやってほしいという教師の思いも理解はできます。しかし,今後sub-goalという枠組みで様々なタスク遂行中に発生するsub-goalsが明らかになってくれば,「このタスクをやる際にはおおよそA, B, C, Dのような4つのphaseを通過すると考えられます」みたいな提案ができますよね。これが事前にわかっていれば,自分の教えている学習者との兼ね合いで準備が必要な部分や,そのタスクに取り組む前にやらせたほうが良いことを前時にやっておくというようなことができるのではないでしょうか。もっと言えば,sub-goalが目標になるような”sub tasks” を用意して,それらのタスクに取り組ませた後のもっと大きなチャレンジとしてsub-tasksが複合的に必要となるような別のタスクを用意するというようなことも考えられます。このように,タスクを構想したり,授業の計画を立てたりする際に,sub goalsが明確になっているということは大事だと思っています。

 

タスク遂行中の介入指導で有益

次は,実際に教室場面での指導において,sub-goalがわかっているということが役に立つ場面を考えたいと思います。あるタスクを与えて,学習者がそれに取り組んでいるとき,なかなかうまく言っていないことに教師が気づいたとします。例えば,複数コマ漫画の並び替えタスクで沈黙してしまっているグループがあったとしましょう。このとき,どのように促せばタスクのゴールに向かえるでしょうか。このときも,sub-goalはヒントになり得ると思います。例えば,5つあるphaseの序盤でつまづいているようならば,「まずは全員の持っている絵について描写して,自分の持っているものと他のメンバーの持っている絵の違いがどこにあるかを特定してみよう」という指示ができると思います。つまり,descriptionとcomparisonというsub goalを明示するということです。その先の,みんなの持っている絵の違いはわかったけど,そこから先に進めないというグループがいたら,「全員の絵の情報を統合して,ストーリーを考えてみよう」という指示も可能でしょう。もちろん,phaseは順番にこなさなければいけないということではありませんが,指針としてその場で与える分には問題ないでしょう。

そんなめんどくさいことしなくても,「じゃあ最初から,『まずは描写,そして比較,あらすじの解釈,並び替え,ストーリーの完成』というphaseをすべて提示してそのとおりにやらせればいいではないか」という意見もあるかと思います。学習者のレベルによってはそうした道筋を示すことも必要になってくるかと思いますが,Bygateは,phaseに完全な順序があることや,まったくoverlappingがないということを否定しています。

it is important to note that the phases do not imply total predictability. For one thing, the phases sometimes occur more than once in a single transcript, with students going backwards and forwards between, say, finding the gist and trying out a sequence (p.160).

また,「たとえsub goalsが明示されなくとも学習者たちは多かれ少なかれphaseを経てゴールに到達する(=予測可能性がある)」ということを言っています。つまり,phaseは与えられなくてもある意味でタスク達成に向かう試行錯誤の中で創発するということですね。それを手助けしてやることはあったとしても,最初からこの通りにやりなさいというのはtoo much interventionかなと個人的には思います。「正しい手順」や「理想的な手順」のようなものがあると学習者が思ってしまい,それに囚われすぎてしまう可能性があるからです。例えば,2. comparisonからいきなり4. sequencingに入ることも十分にありえることです。「まって,私の絵ではりんごは食べかけで,Aくんの絵ではりんごは丸々1つあるから,きっと私の絵はAくんの絵よりあとにくると思う」のような発話が起こることは歓迎されるべきで,「まって順番考えるより先にストーリーをつかもうよ」となってしまっては学習者の自由な発想が抑制されてしまうかもしれません。よって,sub goalを与えてそれに沿ってタスクを行わせることは有効な手立てとは言えません。

つまり,事前に教えてそのとおりにやらせることができるから役に立つというわけではありません。そうではなく,リアクティブな指導がやりやすくなるということです。教師自身がsub goalsを把握した上でタスクを用いれば,そのグループの状況に沿って,またはぶつかっている困難点に合わせてリアクティブに介入を行うことができると個人的には思っています。

事後のフィードバックで有益

sub goalという考えは,事後のフィードバックにとっても有効かもしれません。もしも,時間内にうまく課題を達成できなかったグループがあったとして,そのタスクにおいてsub goalsをいくつ達成できたかという点で見てみると彼らの課題が見つかるかもしれないからです。Bygateの示したデータでは,すべてのグループがタスクを達成したため,「phaseとタスク達成の関係」は完全には明らかになっていません。タスクを達成できなかったグループがいたとして,そのグループがもし仮にすべてのphaseを通過したのにできなかったとすれば,phaseはirrelevantということになります。しかしもしかすると,どこかでつまずいたことが原因でタスクを達成できなかったという学習者がいるかもしれません。絵の微細な点について,描写しなかった(またはできなかった)けれども実はその点が他の絵との違いで,その情報を全員で共有していればタスクが達成できたかもしれないということはありえます。別のケースで,sequencingでつまづいて終了してしまったとします。このときに,follow, precede, come before, come after, first, next, then, before, afterのような前後関係を表す表現がうまく使えなかったので並び替えができなったということがわかれば,その学習者たちに必要なのはこうした前後関係を表現する言語リソースが足りていないということになり,そこがteaching pointになるでしょう。言語面については,varietyが大きすぎて一貫性は見られなかったというのがBygateの結論でしたが,具体的な場面での話に限定すれば指導のヒントにはなるでしょう。

研究への示唆

研究という視点では,このBygateの論文からもう少し発展させた研究が必要だと思います。例えば,他のタスク(意思決定タスクなど)でも同じようにphaseの共通性は高いのかどうかや,同一タスクでタスクの諸条件(複数コマ漫画並び替えタスクにおけるコマの数やグループの人数の組み合わせ)が変わってもphaseに変化はないのか,などが気になっています。

また,Bygateは会話の書き起こしからphaseを導出していますが,そうではなく,教える側があるタスク中に発生すると考えられるphaseを予測し,それがどの程度実際の会話で起こるのかといったこともpracticalな意味で関心があります。

あとは,少し非現実的かもしれませんが,実験的な操作を加えて群間比較するというデザインも思いつきます。たとえば,複数のphaseの中で特定の1つを禁止するような指示を与えてみて,そのグループがどれだけタスク達成に困難を抱えるかを比較することで,タスク達成に寄与しやすい(または必須かもしれない)phaseを特定するというようなこともできるかもしれません。

おわりに

以上,Bygateが提案した,taskのsub-goalという点について,批判的に検討し,その後に,意義があると思われる点についていくつか述べました。やはり,タスクの中身,つまりタスク遂行中に何が起こっているのか,そうしたことを,sub-goalという概念で整理することを試みたことにこの論文の意義があると思います。DSTの枠組みにうまくfitしているかという点についてもやや疑問があったのですが,あまり詳しく批判できるほどの知識を持ち合わせていなかったのでそのあたりはまた別の機会にということにしようと思います。ということで,今回は久しぶりにTBLTに関するお話でした。

なにをゆう たむらゆう。

おしまい。

注1. もちろん,仮にオリジナルのストーリーとは違う順番であったとしても,こちらの想定を超えたイマジネーションで別の順序でも筋の通った物語になるということがあれば,そしてそれを説明できれば,「正しい」順番ではなかったとしてもタスクのゴールを達成したと評価することもできると思います。

 

広告

[R] 同じディレクトリ内でファイルを複製する

はじめに

ライティングの授業で(またそれかよ),次のようなことを考えました。

テンプレートのファイルを作って,学生の人数分だけコピーし,さらにそれぞれのファイルに学生の名前をつけたい!

まず思いつくのは,雛形ファイルを作り,Ctrl+CとCtrl+Vを駆使して学生の人数分のファイルを用意し,1つずつファイルをリネームするといういわゆる土方作業ですが,そんなことやってられませんよね。というわけで,Rで簡単にファイル複製とリネームをやってしまおうということです。別に特別なことはしておらず,自分用のメモです。もっと簡単な方法があれば教えてください。

ワーキングディレクトリを変更

まず,ワーキングディレクトリを,テンプレファイルが置いてある場所に変更しましょう。

setwd("C:/Users/Yu/Desktop/test")

getwd()

## [1] "C:/Users/Yu/Desktop/test"

必要な情報を取得

ファイルをコピーする際にフルパスを使うので,その情報をあらかじめ変数に入れておきます。そして,list.files()関数で,ワーキングディレクトリ内にあるファイルの情報を取得します(別に1つしかないので手入力でもOKです)。そして,originalという変数に,テンプレファイルのフルパスを入れておきます。

dirnow<-getwd()

file<-list.files()
original<-file.path(dirnow,file)


ファイル名の準備

ファイルにつける名前の準備です。ここでは例としてアルファベットを使っていますが,学生の名前を使う場合は学生の名前をコピペする等してname変数に入れてください。その後,テンプレファイルの前に名前をつけてfilenameという変数に入れています。sep=”_”は区切り文字をアンダーバーで指定しているということなので,ここは任意の文字に変えられます。

name<-LETTERS[1:26]
filename<-paste(name,"test.docx",sep="_")

print(filename)

##  [1] "A_test.docx" "B_test.docx" "C_test.docx" "D_test.docx" "E_test.docx"
##  [6] "F_test.docx" "G_test.docx" "H_test.docx" "I_test.docx" "J_test.docx"
## [11] "K_test.docx" "L_test.docx" "M_test.docx" "N_test.docx" "O_test.docx"
## [16] "P_test.docx" "Q_test.docx" "R_test.docx" "S_test.docx" "T_test.docx"
## [21] "U_test.docx" "V_test.docx" "W_test.docx" "X_test.docx" "Y_test.docx"
## [26] "Z_test.docx"

ファイルのコピーとリネーム

それでは,ここで,ファイルのコピーとファイルの名前変更をfor関数で一気に行います。file.copy()関数は,fromでコピー元,toでコピー先を指定します。この時,fromではもとファイルのフルパスであるoriginalを使います。そして,toのところで,「ワーキングディレクトリ+名前変更後のファイル名」を指定してあげると,コピーされたファイル名に名前がつくことになります。paste()関数は,文字列結合の関数です。ファイルの一覧の中にblog.htmlとblog.Rmdというファイルが入っていますが,この2つはこのブログのために作ったファイルですので関係ないです。

for (i in 1:length(filename)){
file.copy(from=original,to=paste(dirnow,filename[i],sep="/"))
}

list.files()

##  [1] "A_test.docx"     "B_test.docx"     "blog.html"      
##  [4] "blog.Rmd"        "C_test.docx"     "D_test.docx"    
##  [7] "E_test.docx"     "F_test.docx"     "G_test.docx"    
## [10] "H_test.docx"     "I_test.docx"     "J_test.docx"    
## [13] "K_test.docx"     "L_test.docx"     "M_test.docx"    
## [16] "N_test.docx"     "O_test.docx"     "P_test.docx"    
## [19] "Q_test.docx"     "R_test.docx"     "S_test.docx"    
## [22] "T_test.docx"     "test.docx"       "test.Rproj"     
## [25] "U_test.docx"     "V_test.docx"     "W_test.docx"    
## [28] "X_test.docx"     "Y_test.docx"     "Z_test.docx"

こんな感じでファイル複製とリネームができます。Google Classroomを使っていると、教材ファイルをコピーして配布という機能があり、それを使うと自動的に学生の名前のついたファイルができるのですが,それなしでやろうとすると,こうなるかなという感じです。

これを使って何をするかという記事はまた改めてポストしようと思います。

なにをゆう たむらゆう。

おしまい。

Word Onlineを活用したライティング活動

はじめに

最近ライティングの事ばっかり記事にしていていますが,他の授業もちゃんとやっています。ただ考えた事はとりあえずまとめておこうと思うので,今回はコンピュータ上でライティングさせながら”即時”フィードバックを出してみるというお話です。

前期は普通の教室で,紙ベースでライティングをさせていたのですが,後期は情報処理演習室で授業をやっています。学生の数は20人弱で,多分25を超えるようになってくると,一人一人にできるコメントは限定的になってしまうかなと思います。ただ,これも書く時間をどれくらい設けるか次第ですね。書く時間を学生数で割ったのが単純に一人の学生に費やすことができる時間なので,書く時間が長ければそれだけたくさんの時間を学生の書いたものを読んでコメントを出す時間に使えます。パソコンでやろうが紙でやろうが,人数が多いと厳しいですが,同じ人数で比較した場合には私が以下で説明する方法の方がはるかに効率がいいと思います。つまり,授業外で添削にかける時間をできるだけ減らしながら,授業内で学生にフィードバックを出す時間を最大化できるということです。しかも,授業運営ソフトウエアのようなものが整備されていないパソコン室(学生の画面を監視できない部屋)や,学生が個人のパソコンを持ち込んで行うような形態でもできるというのも重要な点だと思います。

背景

パソコンでライティングさせることにしたのは,パソコンで書かせる方が課題の提出,管理,フィードバックがやりやすいなとなんとなく思っていたということが大きいです。そういう思いで,授業にもだいぶ慣れてきた後期から教室を変えてもらうことにしました。

いわゆるパソコン室での授業で,授業運営ソフトウエアが入っているので,学生一人一人の画面を巡回して回ったり,こちら側から操作をしたりということもある程度は可能です。つまり,学生一人一人がMS Wordを使ってオフラインで書いて,それを提出ということもできます。

ただし,それを提出させたり,というところで色々めんどくさいことが起こりそうだなと感じました。また,授業管理ソフトウエアはライティング活動を念頭に置いてデザインされていないため,ライティングのフィードバックにはあまり向いていない(痒いところに手が届かない)というのも,オンライン上で全部一括管理してしまおうという発想に至った理由の一つです。

環境としては大学がOffice 365の契約を結んでいるので,各学生は自分のアカウントでOne DriveやOffice製品を使うことができるという感じです。そうでない場合には,下に挙げた論文でも使用されているGoogle Docsでも同じような事は可能だと思います。

どちらもやっている事は同じで、オンライン上でドキュメントファイルを教員と学生が共有して,授業の時にコメント欄を使ってフィードバックを出すということです。こうしたオンライン上でのライティング活動でフィードバックを出すという話は,以下の論文からヒントを得ました。

Shintani, N., & Aubrey, S. (2016). The effectiveness of synchronous and asynchronous written corrective feedback on grammatical accuracy in a computer‐mediated environment. The Modern Language Journal100, 296-319.

この論文では文法のフィードバックを出す際に,Google Docsを使って即時フィードバックを出す場合と,書き終わってから提出されたものにフィードバックを出す場合で比較を行っています。私の場合,どちらかというとフィードバックはorganizationに関わるものがメインです。「はじめに」でも書きましたが,オンラインでやる方が,私個人としてはライティングの授業における教員の負担がはるかに減ると思っていますので,むしろそちらのメリットを重視してこのやり方を採用としています。

授業前の準備

授業が始まる前にやるのは,学生と共有するファイルの準備です。これをせずに,学生にファイルを作らせて教員と共有するようにすることも可能です。その方が準備の手間が省けますが,ファイル共有の手順でつまづくケースがあって貴重な授業時間を浪費してしまいがちです(実際そうなりました)。そういったことを未然に防ぐ意味で、こちらで準備したものを共有する方がいいでしょう。

また,その他にもファイルを準備するメリットは2つあります。一つ目は,学生から共有されたものはフォルダ等にまとめて管理したりしづらいからです。私が使いこなせていないだけかもしれませんが,共有された側は複数のファイルをフォルダにまとめることができません。できることなら,クラスごと,そして課題ごとにフォルダ分けして管理しておきたいので,こちら側でフォルダ分けを行い,そこにファイルを用意するようにしています。二つ目のメリットは,フォルダ分けして学生のファイルがまとめて入ったフォルダごと共有することで,ピアフィードバック活動に簡単につなげることもできるからです。これについては記事の後半でもう少し詳しく紹介します。

というわけで,One Drive上でフォルダを作ったら,そこにファイルを人数分だけ用意します。何も書き込まれていないドキュメントファイルを人数分作って名前つけるみたいな作業は,ルーティン操作なのでシェルスクリプトとかでやると簡単かもしれません(参考:ファイルの連続コピーについて)。Rでもできますので私はRでやっています(過去記事)。

これでフォルダの中に学生の名前のついたファイルを人数分用意できたので,このフォルダごとOne Driveの共有機能で共有します。共有の方法はメールで送ってもいいですし,LMSなどに貼り付けてもいいでしょうし,いろいろなやり方が考えられるかなと思います。

授業でどう利用するか

学生にフィードバックを出す

授業では,One Driveフォルダの共有リンクを使ってフォルダにアクセスし,自分の名前のついたファイルを開くように指示します。フォルダ内のファイルが全員に共有された状態だと,「誰が誰のファイルを開いているかや編集しているのかがわからないのでは?」と思われるかもしれませんが,その心配はいりません。ファイルを開いた人の記録も,誰が編集したかの記録も残るので,そのことを学生に伝えれば問題ありません(少なくとも私の環境では)。他の人のファイルを開くこと自体は禁じられるべきことでもなく,色々な人の書いた作文から学ぶこともあると思いますし。ただ,「誰が開いたか,誰が編集したかはわかるので,くれぐれも他人のファイルでいたずらをしたり,書かれたものを勝手に消したりしないように」と忠告しておけばいいと思います。場合によっては,ファイルにアクセスした人の一覧を見せれば説得力も増すかもしれません。

学生は自分のファイルを開いたら,指示された課題をファイルに書き込んでいくことになります。具体的に何を書くかやどう書くかは,ライティングの授業で扱う課題の種類や授業の目標によって変わってくるでしょう。

教員は,学生全員分のファイルをブラウザ上でタブ表示にします。つまり,20人の学生がいれば,20個のタブを同じウインドウで開いておくということです。もちろん全部違うウィンドウで開いててAlt+Shift等でウィンドウ切り替えの方が楽だという方はそれでいいと思います。私は,Shift+Tabでタブ切り替えしています。学生が書いている間は,教師は教師用のパソコンで,Shift+Tabキーを使いながら書く学生の書いているファイルを”巡回指導”します。

何かコメントしたいことのある学生がいれば,コメント機能でコメントを書いていきます。文法の間違いなど,場所が特定される場合にはその場所を選択して「正しい形だけ」コメントしています。あとは構成や文と文のつながりなどについて,日本語で書き込んだり,いいなと思う箇所があれば,「この部分はみんなにも真似してもらいたいからあとで全体に紹介するね」みたいなことも書いています。

このやり方が、いわゆる「机間巡視」をしながら出すフィードバックより良いなと思うのは,「学生のライティングを邪魔することなくコメントができる」ということです。つまり、オーラルでのやりとりでは学生が今まさに書いている部分以外にコメントを出す場合、学生は当然教師の指摘を「聞く」ことが求められます。一方でオンライン上では,学生は自分のタイミングでコメントを確認することになります。この、「注意を同時に向ける」ことこそがフィードバックの意義なのかもしれませんが,逆にコメントしづらいなと思うこともしばしばあるので,オンラインで即時フィードバックの方がいいなと思っています。

書いて残るという点でも、口頭でフィードバックするよりも良いなと思います。学生からも、そして教師から見ても、「どんなやりとりがあったか」が記録されるわけなので。学生からしても、先生を呼びやすい人と、あまり自分から呼びづらい人がいると思うので,そういう場合はコメント欄でやりとりすれば良いかなと思います。もちろん,上述したように誰でもファイルを開ける状態ですから,コミュニケーションの記録が残るということはそのやりとりを誰かに見られる可能性があるということではあるのですが(誰かどんなコメントされているかをいちいち見て回るほど暇な人はいないでしょうけど)。

また,1人の学生から次の学生に移動するのも,タブの切り替えは1秒以下で済み,文字の視認性も手書きよりはるかに高いので,瞬時に読んでコメントが出せます。これが紙ベースだと,机と机の移動も時間がかかりますし,さらには書いている学生の紙を覗き込むように見る必要があり,場合によっては視認性の低い手書き文字の場合もあって読んでコメントを出すまでに若干の時間がかかります。このロスを20人分積み重ねれば、20分のライティング中に5分くらいは多く学生にコメントを出せる時間が確保できると思います。

ピアフィードバック活動に使う

教師-学生のやりとりだけではなく,学生-学生のやりとりもオンラインでやることができます。例えば,紙ベースでやっていたときには,過去記事で書いたようなピアフィードバックをやっていましたが,同じようなことはオンラインでもできるわけです。ただ,2人1組で第3者の書いたプロダクトにコメントするようなことはPC教室の性質上若干やりづらいというのはあるかもしれません(実際,私は後期はこの形はやらなくなりました)。

上述したように,個々のファイルではなくフォルダごと共有しているので,学生はクラスメイトのファイルを自由に閲覧することができます。この環境を生かして,「隣の人+◯人のエッセイを読んでコメントをつけましょう」というようなピアフィードバック活動をしています。隣の人を指定しているのは,SlackのDonutというボットでペアで席に座るように指定していて,その他にもペアの活動とかを多く取り入れているからその延長線上くらいの意味合いしかありません。

コメントは,「ここは冠詞のaが入るのでは?」とか「andでつないでいるものの形が揃っていないよ」のような文法的なものもありますし,「これはキーワードだと思うので,1文付け足して少し説明したほうがわかりやすくなると思う」のような内容(あるいは構造)に関するコメントもあります。前期はパラグラフ,後期はエッセイをやっているので,後期はとくにイントロの構成であったり,各パラグラフ同士のつながりであったり,ということに注意して読むように指示することが多いです。

ピアフィードバックのあとには,特に出来が良いものを全体で共有して,「この部分がうまく書けているよね。」というようにモデルの提示をするようにしています。もちろん書く前にサンプルのエッセイはいつも提示していますが,やはり「自分のクラスメイトがよくできている」ということのほうが「参考になった」と感じることが多いのかなというのが私が見ていて思うことです。

現時点での課題

もう秋学期も終わりに近づいていますが,半期をOneDriveとMS Word Onlineを使ったライティング活動でやってきて思うことは,ドラフト作りに対するエフォートが減ったかなということです。もちろん,大学1年生の春学期と秋学期を比べれば,出席率や課題の提出率など,割と一般的にどちらも下がると言っていいくらい普遍的な現象のような気もするので,私の授業スタイル変更が影響を与えただけとは言い切れません。ただ,紙の場合は「授業中になんとか終わらせて出す」という感じで一生懸命やっていた学生も,オンラインだと「今終わらなくても宿題でいいや」,「スマホでいつでもできるし」のようになっているのかなと思うことがよくあります。そして,結局後回しになっても,授業期間以外にファイルを開いて書き込むということをやっている学生の割合が低く,「いつでもできる」と思うからこそ逆に取り組みづらくなってしまっているかもしれないなと思っています。一応こちらからも声掛けをするようにはしているのですが,この点についてはなかなか解決策が見つかっていないので,来年度春学期以降の課題かなと思っています。

おわりに

紙には紙の良さもあって,オンラインにはオンラインの良さもあるとはいえ,今回は紙,今回はオンラインのように分けて使うのも混乱の原因になるので,オンラインの良さを活かした上で,欠点を補いながら授業を作っていければいいなと私自身は思っています。やはり,授業外で添削にかかる時間は膨大なので,それを少しでも減らして授業の中でフィードバックを多く出すというのがオンラインでライティングをすることの一番大きな利点でしょう。この利点はライティングを教える側としてのsustainabilityとかquality of lifeにも関わるので,より良い形でオンラインフィードバックを活用した授業を模索していきたいと思っています。

なにをゆう たむらゆう。

おしまい。

Slackを用いた授業外ライティング活動の便利ワザ[Google Spreadsheet編②]

はじめに

下記の前回の記事の続きです。

Slackを用いた授業外ライティング活動の便利ワザ [Google Spreadsheet編①]

前回の記事では,Google Apps Script (GAS)を利用して,Slackに書き込まれた内容をGoogle Spreadsheetに記録し,その記録をもとに語数を数えるという話でした。この記事では,それをもう少し便利にするために,「ある特定の期間で区切って語数をカウントする」というお話です。例えば,1日ごと,1週間ごとみたいな。月ごとの場合は,前回の記事で紹介した方法は月ごとに新しいspreadsheetのファイルができるので楽なんですが,「同じファイル内のシートの中で一定の期間の間ごとに区切りたい」となると,少しだけ工夫がいります。といっても,spreadsheet内で関数を書くだけなのでそんなに大変なことではありません。一度雛形ができればあとはコピペして少し書き換えるだけですみます。

前回のおさらい

少しだけ前回の記事に書いた内容に触れておきます。GASを使ってspreadsheetに取り込まれた状態は,下記画像のようになっています。

Screen Shot 2018-09-24 at 22.50.58

A列が日付,B列が名前,C列が書き込まれたテキスト,D列がもとのJSON形式の情報です。このシートが,チャンネルの数だけ一つのファイルにある状態です。前回は,GASで更新されるこのシートの情報を以下のような手順に沿って使いました。

  1. importrange関数を使って別のファイルにエクスポート
  2. そのシートに語数をカウントするE列を挿入
  3. sumproduct関数で名前列を参照してE列の合計を求める

すると,下記画像のようなまとめシートができます。

sumproduct-example

今回は,そこに「日付の情報も参照する」という情報も付け加えていくことになります。

同じ月内で1週間ごとに語数を数える

では,実際に私がやっている実践に即して,1週間ごとに語数を数えるという作業をやる方法です。先程説明したように,前提は一ヶ月で一つのファイルができ,そのファイルの中にチャンネルの数だけシートがあるという状態です。同じ月内であれば一つのシートの情報で,以下のような作業をspreadsheetにやってもらいます(注1)。

  1. まとめシートのA列にあるセルの名前に当てはまるものだけをフィルタリング
  2. 参照元シートのB列にある日付の情報を参照し,指定した1週間のものだけをフィルタリング
  3. 1と2で絞り込まれたデータのE列の語数を合計して計算する

注意点は,参照するデータのシートでは名前がB列,日付がA列なのに,まとめシートでは名前はA列になっているという点です。どの列にどのデータがあり,どこの列を参照するのかを考えないと混乱するかもしれません。さて,前回はsumproduct関数使ったんですが,今回使うsumifs関数でも同じことが可能だと思うので,全部sumifs関数でやってもいいかもしれません。

先にあとで説明する作業が完了した状態のシートの画像を見てください。1つ前の画像の状態から,下記の画像の状態にすることが今回の目標です(注2)。

Screen Shot 2018-10-12 at 14.12.11

私がこのSlackライティング活動を採用しているのは金曜日の授業で,金曜日から次の週の木曜日までを1週間としています。日付で区切っていて時間で区切っているわけではないので,今回は日付で絞り込みにしています(午後5時までとかそういう切り方だと時間も指定する必要があります)。

では,上の画像のB2の列にはどのような式が入力されているのか見てみましょう。

Screen Shot 2018-10-12 at 14.12.38

画像中の式で最後に”-5″しているのは,最初は必ず”@XXX has joined the channel. “という5語の文が記録されているので,それを排除するためです。

sumifs関数の基本的な引数はsumifs(合計範囲, 条件範囲1, 条件1, 条件範囲2, 条件2, …)のようになっています。合計範囲とは,合計を計算したい範囲のことですので,今回の場合はE列の語数の列を選択します。”Friday2_201809″というのが,金曜2限クラスの9月分のデータがエクスポートされたシートになります。このまとめシートはimportrangeで自動的にデータがエクスポートされるように設定しているspreadsheetファイルの中に作っているので,”Friday2_201809!$E$1:$E$1000″で,「9月分のデータのE列(語数列)」を合計範囲として指定していることになります。コピーしたときに範囲が変わることを防ぐために,絶対参照にしています。

2つ目の引数は,同じ”Friday2_201809″のA列を1つ目の条件範囲にしています。A列は日付の入っている列ですから,日付列を条件範囲としていることになります。そして,3つめの引数で日付の条件指定を行います。最初の1週間は,もともとデータ記録の一番最初(2018年9月21日)が1週間の1日目でしたので,7日目(終わりの日)だけを指定しています。これには等号・不等号の使い方でいろいろなやり方が考えられますので,この例は一例です。

“<“&”2018-09-28”

等号・不等号は必ずそれのみをクォーテーションマークでくくり,クォーテーションマークでくくった日付と&でつなぐようにします。上の式が意味しているのは,「2018年9月28日より前(つまり27日以前)」です。これで,9月28日0時00分以降の書き込みが排除されます。

4つ目の引数は条件範囲2です。”Friday2_201809″のB列を参照しています。B列は名前の入った列ですので,名前の絞り込みをしようというわけです。最後の引数は$A2です。「条件範囲2(元データの名前列)の中で,まとめシートのA2セルの名前に当てはまるものだけをフィルタリングしてね」ということです。指定する順番自体は前後していますが,上にも挙げた以下の3つの作業が1つの関数で実現されたことになります。

  1. まとめシートのA列にあるセルの名前に当てはまるものだけをフィルタリング
  2. 元ファイルのB列にある日付の情報を参照し,指定した1週間のものだけをフィルタリング
  3. 1と2で絞り込まれたデータのE列の語数を合計して計算する

これであとは,列を横に足して,別の日付指定をすれば,あとはその条件に当てはまるものだけが自動的に記録されていくことになります。合計範囲指定は固定ですが、条件範囲と条件の指定は名前が先で日付が後でも構いません。

1週間のはじめとおわりを指定する場合

さて,上のやり方は,1週間の終わりだけの指定でしたが,それが使えるのは最初の1度だけで,次からは1週間のはじめの日も指定する必要があります。「○月○日から○月○日まで」としたいわけです。これをやるには,sumifs関数の条件範囲と条件を1つずつ追加すればいいだけです。画像上では順番が前後しますが,下の画像のD列(10/5-10/11)の1週間を指定した場合を見てみましょう。

Screen Shot 2018-10-12 at 14.13.34

1つ目の引数は同じですが,2番目と3番目の引数で始まりの日付の指定,4番目と5番目の引数で終わりの日付の範囲の指定を行っています。

“>=”&”2018-10-05”

という指定は,「2018年10月5日以降」という指定になります。1週間の始まりですね。

“>”&”2018-10-04”

としても同じです。続いて,終わりの日付は,同じように日付列を条件範囲とし,

“<“&”2018-10-12”

を条件にしています。つまり,「2018年10月12日より前」ですので,2018年10月11日の23時59分までのデータが条件に当てはまることになります。

“<=”&”2018-10-11”

でも同じです(むしろこっちのほうがわかりやすいかも)。これで,始まりの日付から終わりの日付までの間の合計語数が計算されます。ここを任意の幅に設定すれば,1週間ではなくとも3日でも4日でも10日でも同じようにできます。

月をまたいだ1週間の語数

同じ月内でのやり方は上の2つのやり方の組み合わせで対応できます。では,月をまたいでしまうときはどうすればよいでしょう。上述したように,月ごとにシートが異なるわけなので,別々のシートに記録された情報を統合する必要が出てきます。ただ,難しいことはなく単純に足し算すればよいだけです。

Screen Shot 2018-10-12 at 14.13.15

この例では,Friday2_201809というシートに9月分,Friday2_201810というシートに,importrange関数でデータを同期させています。9月分のデータで,9月の終わりの数日間(この例では9月28日~9月30日),10月のデータで10月1日からの数日間(この例では10月1日~10月4日)の語数を計算し,合算するという作業です。

つまり,それぞれの月でsumifs関数を使った式を作り,2つのsumifs関数式を+記号でつないであげれば,月をまたいだ場合の語数が計算できます。不等号のみと,不等号+等号の意味の違いは,上で説明したとおりです。

おわりに

ということで,前回の記事で紹介したGASでデータを引っ張る作業,importrange関数でデータを別ファイルにエクスポートする作業と,今回の記事で紹介したsumifs関数で日付指定する3つのパターンを使えば,一定期間の間の語数記録は簡単にできてしまいます。

エクセルが得意な方はすでにお気づきかもしれませんが,実は,1行目に指定する日付を終わりの日付にし,そのセルを日付の範囲指定に利用することもできます。つまり,上の画像で言えば,B1セルに”2018-09-27″,C1セルに”2018-10-04″,D1セルに”2018-10-11″のようにするということです。ただ,見たときに1週間の範囲がわかるほうがいいかなという理由で,そういうやり方はしていません。

ということで,下処理問題は解決されていませんが,だいたいの語数を記録して,学生がいつでも見れるようにするということについては,前回と今回の記事の内容でだいたいカバーできるのではないかなと思います。今の所第三段は予定していませんが,今後もしも「こういう事が必要だなぁ」という事が出てきたら更新するかもしれません。

なにをゆう たむらゆう。

おしまい。

注1. おそらくExcelのピボットテーブルなら,同じ列に当てはまる複数の条件でのフィルタリング可能だと思うので,Excelならピボットテーブルだけでいけると思います。

注2. 画像で一目瞭然ですが,毎週書き続けられている学生と,すでに脱落してしまっている学生が分かれてしまっているのは問題で,これについては何かしらの介入が必要だと思っています。

Slackを用いた授業外ライティング活動の便利ワザ [Google Spreadsheet編①]

はじめに

便利ワザと言えるのかわかりませんが,とりあえず自分はこんな感じでやっていますというお話です。以下の話の発展です。

授業外でライティングする機会を確保するためのSlack

前提として,どのようにSlackを利用しているのかというお話です。google spreadsheetに書き出したデータの扱いについてにご興味がおありの方はこのセクションは飛ばしていただいてかまいません。私がslackを使おうと思ったのは以下のような考えからです。

授業外で,英語ライティングする機会を与えたい。できるだけ自由に書き込みができ,教員もそれを監視・管理しやすい。

やろうやろうと思っていたのですが,なかなかSlackの使い方もよくわかっていませんでした。共同研究の話等でもSlackを使い始めるようになり(サイボウズのサービス終了のため),自分もSlackに慣れてきたのでこの秋学期から導入することにしました。ここでも何回か記事を書いている外国語学部1回生向けのライティングの授業でのことです。

授業外でのライティングは,前記はLMSにある掲示板機能を使い,そこに私が毎週話題をポストしてそれについて各自意見を書き,お互いにコメントし合うというものでした。以下のリンクでそのことにも触れています。

https://tam07pb915.wordpress.com/2018/04/26/writing-class/

後期は,slackをclosed SNSのようにして使い,自由に英語でやりとりをするということを掲示板でのフォーラムライティングの代わりにすることにしました。前期のフォーラムライティングでは,「1人必ず○人にコメント」などとしたりして交流が生まれるようにしてみましたが,コメントが「テンプレ」化してしまったりしていたので,より自由にライティングのコミュニケーションができていったらいいなと思っています。

使い方のルールとしては以下のようにしています。

  • 一般的なルール
    • 自分のスマートフォンに必ずslackアプリをインストールすること
    • 書き込む情報については,既存のSNSに関するルールと同様,誹謗中傷や公序良俗に反する書き込み以外であれば,何について書き込んでも構わない(写真の投稿も可能)
    • 日本語での書き込みは一切禁止
    • 使い方等についての質問がある場合は,#generalに英語で書き込むこと
    • 他のクラスの人にも話題を共有したい場合には#randomに書き込むこと
    • 誰かの書き込みに返信(いわゆるリプ)をしたい場合は,”Start a thread”を使うこと
    • “Start a thread”機能を使うときは,”Also send to #channel-name”にチェックを入れること(こうすることで,メインのタイムラインでも返信が見れます)
    • 誰かに直接話しかけたいときは,@をつけること
    • 成績に算入するのは,自分のクラスのチャンネルに書き込んだもののみ(#generalや#randomや他のクラスのチャンネルに書き込んだものは語数に数えない)

評価方法は,毎週300語を学期の最終授業日まで続け,平均達成度(%)×5点を最終的な評定に加えるというものです。共通シラバスのため,授業外の課題に割ける評価の割合がもともと15点くらいしかないのでこのようにしています。そのために300語って結構えげつないなと思われる方もいるかもしれませんが,私もそう思っています。今学期の様子をとりあえず見てみて,ハードルが高すぎるために「コスパが悪い」と思われて取り組みが悪くなるということがあれば今後語数の基準を下げるかもしれません。

Slackデータのエクスポート

さて,上述のような形でslackを運用しているわけですが,私の扱い方だと「毎週300語」という設定にしているので,学生の立場からすれば「自分が今何語書き込んでいるのか」がいつでもわかるようになっていてほしいというのは当然でしょう。そのために教員がわざわざデータをチェックしてそれぞれの学生の書き込んだ語数を分析してまとめて報告するというのは無理でしょう。というかやってられません。そこで,エクスポート->語数の記録->まとめ,という一連の作業を自動化して,いつでも学生が見れるようにする必要があります。そこで,上に上げたスライドで浦野先生が紹介しているGoogle Apps Scriptを使うというわけです。浦野先生も紹介していますが,SlackのログをGoogle Spreadsheetに保存するという作業自体は以下の記事を参考にすればすぐにできます。

Slack のログを自動で Google Spreadsheet に保存する

問題は,その先で,語数の記録とそのまとめという部分になります。私自身がGoogle Apps Scriptをいじれないので,とりあえずは上記のリンクを参考にGoogle Spreadsheetにログを保存し,そのあとにGoogle Spreadsheetで頑張るということになります。Rでもログを取ってきてまとめて可視化みたいなことはできますが,自動化の部分が少し難ありです。Rのコードもそのうちここに投稿しようと思います。

Google SpreadsheetでSlackのログをいじる

Google Apps Script(GAS)は,自分で決めたトリガーで定期的に更新できるので,その頻度を好みに設定しておくだけで,定期的にデータを最新のものにするという作業はできます。最初は,ログのspreadsheetファイルにある各チャンネルのシートに列を追加して各行の書き込みの語数を記録し,それを別ファイルにピポットテーブルで吐き出すということを考えました。ちなみに,ログのデータは下の画像のような感じでチャンネルごとにシート1枚で記録されます。

A列が日付,B列が名前,C列が書き込まれた内容,D列はもとのJSON形式のデータです(注1)。最初は,このシートのE列に語数カウントの関数を入れていたわけです(excelで語数のカウント方法についてはググればすぐに見つかります)。ただ,それだとシートが更新されるとうまくいきませんでした。このチャンネルのシートをそのまま別シートで参照し,その参照したコピーのデータを使って…ということもやりましたがこれもうまくいかず。ということで,GASが作るスプレッドシートとは別のスプレッドシートファイルを作り,そこからもともとのスプレッドシートの中の特定のシートの情報を参照するという方法を取ることにしました。で,これexcelにもある関数のなのかは知らないんですが,Googleスプレッドシートには,importrangeという関数があり,これを使うことで別ファイルから参照ができます。以下のサイトなどが参考になりました。

【超便利】スプレッドシートで別シートから参照したり集計したりする方法まとめ

引数の基本は,importrange(“参照元ファイルURL”, “参照元シート名!特定セルor範囲)で,このimportrange関数は特定のセルのみを参照する場合と,範囲を指定する場合があるのですが,私は上の画像でいうA〜D列まですべてもってきたいので,範囲を指定することになります。とりあえず,1000行までを1シートに出すという設定だったような気がするので,A1:D1000を指定します。friday2というのは,金曜2限のチャンネルで,後ろのぼかしはslack上のチャンネルIDです。

このimportrange関数をA1セルに入力すると,シートにAからD列までのデータが取得され,参照元のシートがGASによって更新されれば,こちらのシートも更新されます。E列は手動で以下の画像のような関数を入れると,C列のセルの語数がE列のセルに記録されます。あとは,このE列の語数をB列の名前ごとに合計してくれれば,目的達成です。私は金曜の1限と2限に同じライティング科目の別クラスを持っているので,このログシートが2枚あり,そのまとめのシートも2枚あります。

まとめのシートで合計語数の表示

上画像のシート上でやってもいいんですが,見栄えもあるので別シートにまとめだけを作ります。これは,sumproduct関数をつかいます。sumproduct関数は,sumproduct(参照列=名前, 合計を数える列)のような形で使います。下記画像は,”Friday1_import”というシートに,importrange関数で参照元ファイルのデータをインポートしている場合の例です。A列に名前の一覧(注2),B2にこのsumproduct関数をいれます。あとはB2を下にコピーすれば,人数分の合計語数が表示されるというわけです。”Friday1_import”のシートには自動的にデータが追加されていくので,とりあえず1000行を超えないデータであればこれでなんとかなります。

棒グラフでも出したいということなら,範囲選択して棒グラフ挿入でOKです。あとは,このスプレッドシートのファイルを「閲覧可」の権限で共有してSlackに貼り付ければ,学生は自分の好きなタイミングで語数を確認できることになります。私の場合は「毎週300語」という課題なので,週ごとにデータを扱える必要があります。これはもう少し別の手続きが必要になるので,また次回ということに。今日はここまで。

なにをゆう たむらゆう。

おしまい。

注1: そもそも,ちゃんとした「下処理」をしないと,「@XXXXX has joined the channel」とかも記録されますし,絵文字1つが1語みたいになるので,ここでの語数は「アバウトな」語数ということになります。

注2: 私は試行錯誤しているときにピポットテーブルを使ったので名前の一覧はコピペでしたが,そうでない方はログデータの”@XXXX has joined the channel”の列だけソートして名前の一覧をゲットするなどの方法が必要です。

ピアフィードバックの話(ライティング)

今年度ライティングの授業を持っているという話を以前書きました(https://tam07pb915.wordpress.com/2018/04/26/writing-class/)。その授業では,基本的に4週を一単元として,異なるタイプのライティングをしていくという構成になっています。最初はnarrative,次はdescriptive,今はopinion writingをやっています。授業の基本的な構成は以下のようにしています。

 

1限目

  • 書き方についての枠組みの提示
  • ブレスト・プランニング
  • rough draftの執筆

2限目

  • 構成や言語面についての全体へのフィードバック
  • first draftの執筆
  • ピアフィードバック

3限目

  • first draftを見ての全体へのフィードバック
  • first draft(教員の赤入りのもの)へのピアフィードバック
  • second draftの執筆

4限目

  • second draftを見ての全体へのフィードバック
  • second draft(教員の赤入りのもの)へのピアフィードバック
  • フィードバックを受けたものを見てWritten Languaging

Final draftはLMSで電子的に提出させていますが,それ以前の授業内のライティングについてはすべてハンドライティングです。理由はパソコン室でやっていないというだけで,パソコン室使えるなら全部タイプさせてたと思います(よくわかってなかったので依頼書とか出しそびれた)。

上記の授業内容をご覧いただくとおわかりのように,ほとんどの授業のときにピアフィードバックを入れています。これが意味あるか無いかという話はとりあえず置いておきます。私がピアフィードバックを入れている目的は大きく分けて2つあって,1つ目は,他の人のを読むという行為を通じて自分が書くことへの刺激を得てほしいということです。クラス分けされているとはいえすらすらと分量を書けたり,語彙が豊かであったり,あるいは構造の複雑さも高かったりする学生がいる一方で,そうではない学生もいます。他の人のを読むことでライティングに苦手意識があるような学生には「良い部分は真似してほしい」という思いがあります。もちろん,単なる言語面に限らず「ロジック」とか,「文と文のつながり」という点にも意識は向けさせているので,そういうところにも注意しながら読んでもらえるようにしようとしています。

2つ目の目的は,いろんなケースについて,私の赤やコメントを見ることで,どこをどうすればよくなるのかのヒントを得てほしいというねらいです。私のフィードバックは基本indirectあるいはimplicitなので,誤りが含まれていたりおかしいと思うところに赤線や^をいれるだけで,特に正しいものを提示することはないです(たまにdirect feedbackしますが,説明はしません)。また,コメントは9割くらい日本語で(たまにめんどくさいときに英語で書きます),

こういうトピックセンテンスになっているのにボディがそれをサポートしてない

こっちのアイデアについては情報がたくさんあるのにもう一方については具体例も殆ど出てこない

こことここは本当に原因と結果の関係になっている?

なんかこの結論て最初に言ってたことと違う話になってない?

みたいな,構成に関わるものがほとんどです。そういう赤やコメントを見ながら読むことで,良いものとあまり良くないものの例を積み上げていってもらい,それを自分自身が書くときに生かしてほしいということです(注1)。もちろん,かなりできる学生は私が見逃していたような綴りの間違いや形態素の脱落なんかに気づいたりすることもあるので,ピアフィードバックをすることで形式に注意を向ける機会は得られているのかなと思います(ただしこれが自分が書くときの正確さの向上につながっているかは不明)。

ピアフィードバックをするときには,基本的にはドラフト用紙にコメント欄を設けて記名式でコメントとアドバイス(後者は書き手がreviseするときに必ず参考になるようもの)を出すようにということでやっています。

さて,ここまでが前置きなのですが,そのピアフィードバックをどうやるかという話です。最初の頃は,基本的には個人個人でもくもくとコメントを書くような時間を作っていました。20人弱×2クラスあるので,それを全部まぜこぜにしてランダムに配り,20分~30分という時間の中で最低○人のドラフトを読んでコメントをするという指示を出します。自分のペースでコメントをし終わったら前に戻して別の人のドラフトを持っていき,それにコメントして戻してはまた次の人のを取っていくというスタイルです。こういうふうにすると,自分のコメントに責任を持つことが必要になってくる一方で,なかなか「具体的なアドバイスができない」というケースが発生してしまうということが問題でした。また,個人個人の活動なのであまり盛り上がらないということもあります。実はみんなが静かに読んでコメントしている最中にもそこには「沈黙のインタラクション」があるわけなのですが,それは表面化しませんし,クラス全体の雰囲気もだらっとしてしまったり眠くなってしまったりするということもなくはなかったです。もちろん,1年生にしてはかなりレベルの高い学生なので,個人個人でやらせてもそれなりに読めてコメントも的確に出せるのですが。そんなときに,ある友人から,「ペアでピアフィードバックやらせるとめちゃくちゃLRE(Language Related Episode)出てくるよ」というアドバイスをもらいました。そこで,最近は少し形を変えてペアでやらせるようにしました。ただ,ペアでやらせると言ってもやり方はいろいろあると思います。私が今の所引き出しとして持っているのは次の2つのやり方です。

  1.  教室内でペアを作り,お互いのドラフトを交換して読み,口頭でコメントをし合う
  2.  教室内でペアを作り,2人で1枚のドラフトを読んで一緒にコメントを書く

1の方法をもう少し詳しく説明します。この方法は,他のペア活動をするときと同様にペアリングをし,5分間などの時間を設定した上でその制限時間内にパートナーのドラフトを読んで,口頭でアドバイスを送るというものです。この方法のメリットは,著者に直接コメントができるので,著者にしかわからない微妙なニュアンスや,ワードチョイスなどについて直接質問できたり,意味がわからなかった部分について「これってどういうこと?」などと聞ける点です。質問される側は,わからなかったと言われたところは書き直しが必要かもしれないと考えるでしょうし(この前提は甘い?),難しい単語はパラフレーズしたり説明を加えたりという工夫をしようとするケースもあります。また,自分に自信がなくても,「これってさ,ofじゃなくてinじゃないっけ?」という形で聞くことで,「あれ,どっちやったかな。ちょっと調べてみよか」みたいな感じで共同学習がスタートしたりもしているようでした。

2の方法は,前述のように,1枚持っていって読んでコメントするというのを繰り返すパターンを2人でやるものです。これのメリットは,1クラスしかなくても実施が可能な点がpracticalな点としてはあると思います。20人のクラスでもペアにすれば10ペアなので,1ペアにつき1枚ドラフトが渡っても常に10枚はストックが前にある状態なので,読み終わって手持ち無沙汰になるということがなくなります。フィードバックを出すという点については,ペアの相手と一緒にコメントを考えることで,「自分には見えていなかったところに相手が気づいている」というケースが割と出てくるようで,「他の人の書いた原稿」と「他の人のコメント」の両方から発見があるようです。ひとりで黙々とコメント書くパターンでも,自分の前にコメントした人のコメントは読めるようにはなっていますが,二人でコメントを考えるという作業のほうが自分の視点と他人の視点が対照されやすいのかなという印象です。ただし,この方法の問題点の1つは,ペアリングを工夫しないとふたりともなかなか意見が出てこずに沈黙になってしまうということです。私が観察している限りの印象では,熟達度が低い同士で問題が起こるというよりはパートナーとの相性というか,性格の問題が大きいように思います。クラスサイズが小さいですし,他の授業でも一緒というケースも多いので,割とクラスみんなそれなりに仲良しで誰とでも話せるような雰囲気はありますが,そうはいっても全員がそうというわけではないので,たまにこちらがうまく介入してあげないとなかなかアドバイスを出せないということになってしまうようです。1の方法ではあまりこの問題点は顕著ではないように感じるので,reciprocalな関係性がペアの中にあるということがカギなのかもしれません。

ということで,今回はピアフィードバックの3つの方法について記事を書きました。どれがより良いというよりは,クラスの雰囲気,授業の形態や授業のねらい,学生の様子など,いろいろな要因を考慮しながら使い分けていくのがよいのかなと思いますが,ペアでやる2つの方式は割とうまく機能しているかなという手応えがあるので,これからはそちらを中心にやっていこうかなと思います。むしろ最初はペアでやって,ある程度なれてきたらindividual workに移行するのがいいかもしれません。

久しぶりの更新でした。

注1. 授業内で書いたものを直後にフィードバックさせる場合にはこの部分はないです

なにをゆう たむらゆう。

おしまい。

ライティングの授業

外国語学部向けのライティングの授業で,授業内の学習とは別に毎週2編のライティング課題を出すことになっています。そのうちの1つではナラティブ・ライティングを書くことにして,掲示板に学生がそれぞれ書き込んでコメントし合うようにしています。最初の1つとか2つはこれまでに扱ったことのあるトピックでよかったのですが,毎週となるとなかなか考えるのもめんどくさい。ということで,ナラティブ・ライティング向けのトピック集がないかなとググったらちょうど良さそうなものがあったのでこちらから選んで毎週書いてもらっています。

500 Prompts for Narrative and Personal Writing – The New York Times

色々なカテゴリはありますし,トピックの選び方によってはある程度頻出しそうな文法項目を狙うこともできそうですが,あまりそういう考え方では選んでいません。文法の話は授業で書いているもののフィードバックとしてしていますし,(a) 英語を書くことに慣れることと,(b) クラスメイトと英語でコミュニケーションすること,(c) 色んな意見に触れる機会を作るということ,の三点をこの課題の主眼にしようと決めたからです。

フォーラムでは匿名にしていて,私だけが全員の名前を見れるようにしています。個人的な話などは名前を明かしてしづらいかもしれませんし,逆に誰が書いたかわからないほうが色々な人とコミュニケーションする環境になるかなと思ったからです。今のところ,匿名性があることによるネガティブな影響は見られていません(教員には見られているので下手なことはできないということもあるかもしれません)。

1つ困っていることは,やっぱり書きっぱなし状態というのはなんだかなあということです。フィードバックしたらその効果があるとは限りませんが,やっぱり読んでいると「ここはちょっとなあ」というのも出てきます。それを見ないふりするのもはばかられますが,かといって授業以外で毎週2編書かせてフィードバックなんてやってたらえらいことになってしまいます(一応簡単なコメントはしますけど)。ちなみに,2編のうちのもう1編はTED TALKの紹介文を書くということにしています。こちらは特にコメントし合うことは義務付けていませんが,そうした方が良かったかなとも思っています。

フォーラム上で書かせると,LMSの特性上個人として書いたものを蓄積し,それを振り返ることが難しくなってしまいます。そこで,フォーラム上で書いたものをcsv形式でダウンロードし,そこからコメントだけ除外してもとのエッセイのみを抽出してWordに差し込み印刷して返すということにしています。そうすれば,10数編の自分の書いたプロダクトが手元に残ることになるので,あとから振り返ることもできます。

というわけで,今まで特定のスキルに特化した授業を持ったことがなかったのと,今まで自分が教えたレベルよりもかなり高いレベルの学生を教えているので,試行錯誤の毎日です。学生に助けられながらなんとかやっています。

なにをゆう たむらゆう。

おしまい。