これがベトナム大学院の実態だ!

Trường Đại Học Bách Khoa Thành Phố Hồ Chí Minhの大学院修士課程に社会人入学

Nguyên lý ngôn ngữ lập trình 2回目 いよいよ教員発狂

2019年9月9日、Nguyên lý ngôn ngữ lập trìnhの2回目授業が実施された。
全くの空腹では授業に耐えられないのでコンビニのパンを食べてから入室したので15分ほど遅刻した。
が、その瞬間やられた!なんと小テストが始まっていたのだ。
1回目は全体の紹介のようなものなので小テストなどやりようがないのだが、ひとまず黒板に書かれたパスワードを持参したPCに入力する。
実は廊下の一画にある休憩スペースでこの授業の教員とは確かに目があって会釈をしたのだが、小テストのことは一言も言わなかった。
しかしそれを言ってもどうしようもないので、ひとまず問題に取り掛かることにした。問題は全部で12問。前回より2問増えている。
が、なぜかあと1分のような表示がされる。1問当たりの回答時間に制限が設けられたか?とおもったが、実は小テスト自体が終了。
そう、小テストのサイトを開いた瞬間にカウントダウンが始まるのではなく、決まった時間にカウントダウンが開始するという仕組みに変わったのだ。
つまり遅れてくると小テストの持ち時間が減る。さらに言えば20分以上遅刻した場合は小テスト自体が受けられないというか、小テストがあったということ自体知らされないということになる。
なんだか騙し討ちみたいで気持ち悪いし卑怯だ。
しかも前回の授業では開始前に入室しても15分ぐらい遅れて授業が開始したのに、生徒側が15分遅れた場合はのうのうと小テストを行う神経が分からない。
もっとも客観的には規定通りに授業が開始され、しかも小テスト開始は18:04なので仮に3分遅刻しても影響はなく、今回ばかりは5分以上遅刻した側の自己責任ということになる。
現実的な話をすればひとまず授業には一目散に入室し(遅刻は5分以内)、小テストがあればひとまず15分間は我慢して問題に集中し、終わったら速攻で教室を出てパンを食べ、トイレを済ませてから落ち着いて教室に戻るのが正しいということになる。

ただ、なんだか様子がおかしい。
模範解答を見ても理解できない生徒が質問をしたのだが、教員がまともに答えない。むしろ、「なぜその答えが正しい(誤り)だと思うのか?」と質問に質問で返しており、話が進まない。
2年前の時点でこの教員は質問にまともに答えないことがあったが、それは生徒がトルコ人であり、英語での質問にうまく英語で答えられなかった(=この教員の英語力不足)と思っていた。
しかし今回質問した生徒はベトナム人、当然ベトナム語での質問だ。
小テストの実施の仕方も意地悪であり、質問に回答しない意地悪という険悪なスタートとなった。

なお、参考までに今回の問題を張っておこう。
Đã bắt đầu vào lúc Monday, 9 September 2019, 6:16 PM
Tình trạng Đã hoàn thành
Hoàn thành vào lúc Monday, 9 September 2019, 6:19 PM
Thời gian thực hiện 3 phút 5 giây
Điểm 0,50/12,00
Điểm 0,42 của 10,00 (4%)
Câu hỏi 1
Đúng một phần
Điểm 0,50 của 1,00
Không được bật cờCờ câu hỏi
Nội dung câu hỏi
Which regular expression describes all strings on {a,b} containing an even number (>0) of a's?

Chọn một hoặc nhiều hơn:
a. (b*ab*a)+b* Chính xác
b. b*a*b*a*b*
c. b*(ab*ab*)+ Chính xác
d. b*(ab*a)+b* Không chính xác
Thông tin phản hồi
Câu trả lời của bạn là đúng một phần.
Bạn đã chọn quá nhiều tùy chọn.
Câu trả lời đúng là: (b*ab*a)+b*, b*(ab*ab*)+
Câu hỏi 2
Không trả lời
Chấm điểm của 1,00
Không được bật cờCờ câu hỏi
Nội dung câu hỏi
How many tokens are there returned by the lexical analysis for the following input written in C language:

p += q[12 * a] + -24 * b++;

Trả lời:
Không chính xác
Thông tin phản hồi
Câu trả lời đúng là: 16
Câu hỏi 3
Không trả lời
Chấm điểm của 1,00
Không được bật cờCờ câu hỏi
Nội dung câu hỏi
Which regular expression is equivalent to the RE: b*(ab | b)*(a | b)


Chọn một:
a.
b*[abb]*[ab]

b.
b*[ab | b]*[a | b]

c.
b*[ab]*(a | b)

d.
b*(a?b)*[ab]

Thông tin phản hồi
Câu trả lời của bạn không chính xác.
Câu trả lời đúng là:
b*(a?b)*[ab]

Câu hỏi 4
Không trả lời
Chấm điểm của 1,00
Không được bật cờCờ câu hỏi
Nội dung câu hỏi
How many tokens are there returned by the lexical analysis for the following input written in C language:

/* Day la doan ma */

if (!a[foo(-2)]) return x[m*foo(3)];

Trả lời:
Không chính xác
Thông tin phản hồi
Câu trả lời đúng là: 23
Câu hỏi 5
Không trả lời
Chấm điểm của 1,00
Không được bật cờCờ câu hỏi
Nội dung câu hỏi
Given the following regular expression:

a[^abc]*c

Select the strings that can be expressed by the above regular expression?

Chọn một hoặc nhiều hơn:
a. ac
b. abc
c. aabc
d. anc
Thông tin phản hồi
Câu trả lời của bạn không chính xác.
Câu trả lời đúng là: anc, ac
Câu hỏi 6
Không trả lời
Chấm điểm của 1,00
Không được bật cờCờ câu hỏi
Nội dung câu hỏi
Select the regular expression that is equivalent to the following DFA:

que5

Chọn một:
a. a*ba*ba*(ba*ba*ba*)*
b. a+ba+ba+(ba+ba+ba+)+
c. (ba*ba*ba*)+
d. bb(bbb)*
Thông tin phản hồi
Câu trả lời của bạn không chính xác.
Câu trả lời đúng là: a*ba*ba*(ba*ba*ba*)*
Câu hỏi 7
Không trả lời
Chấm điểm của 1,00
Không được bật cờCờ câu hỏi
Nội dung câu hỏi
Which string belongs to the language described by RE: (a | b)*ab*a

?

Chọn một:
a.
bbbbbba

b.


aaaaaaaaaab

c.


bbbbabbbbaa

d.


abbbbbab

Thông tin phản hồi
Câu trả lời của bạn không chính xác.
Câu trả lời đúng là:


bbbbabbbbaa

Câu hỏi 8
Không trả lời
Chấm điểm của 1,00
Không được bật cờCờ câu hỏi
Nội dung câu hỏi
Select the regular expression such that it can match the strings in MATCH set but NOT in SKIP set:

MATCH SET: Chung

Cha

Chon

Chuoi

Chinh

SKIP SET: chung

Con

chi

Che

Chọn một hoặc nhiều hơn:
a. Ch[aiuo][a-z]*
b. C[a-z]+
c. [a-zA-Z]+
d. Ch[a-z]+
Thông tin phản hồi
Câu trả lời của bạn không chính xác.
Câu trả lời đúng là: Ch[aiuo][a-z]*
Câu hỏi 9
Không trả lời
Chấm điểm của 1,00
Không được bật cờCờ câu hỏi
Nội dung câu hỏi
Given the following regular expression:

(aa)*(ab)?(bb)*

Select the strings that can be expressed by the above regular expression?

Chọn một hoặc nhiều hơn:
a. ∈

b. a
c. abbb
d. aab
Thông tin phản hồi
Câu trả lời của bạn không chính xác.
Câu trả lời đúng là: ∈

, abbb
Câu hỏi 10
Không trả lời
Chấm điểm của 1,00
Không được bật cờCờ câu hỏi
Nội dung câu hỏi
Select the strings that can be expressed by the following DFA:

que5-1

Chọn một hoặc nhiều hơn:
a. baaababa
b. ba
c. aababbaa
d. aaabaabba
Thông tin phản hồi
Câu trả lời của bạn không chính xác.
Câu trả lời đúng là: baaababa, ba
Câu hỏi 11
Không trả lời
Chấm điểm của 1,00
Không được bật cờCờ câu hỏi
Nội dung câu hỏi
Which regular expression describes all non-empty strings on {a,b} NOT including two consecutive a's ?

Chọn một hoặc nhiều hơn:
a.
(a | b)*

b.
b*(ab | b)*(a | b)

c.
b*(abb*)*

d.
(abb*)+

Thông tin phản hồi
Câu trả lời của bạn không chính xác.
Câu trả lời đúng là:
b*(ab | b)*(a | b)

Câu hỏi 12
Không trả lời
Chấm điểm của 1,00
Không được bật cờCờ câu hỏi
Nội dung câu hỏi
Select the CORRECT roles of the lexical analysis?

Chọn một hoặc nhiều hơn:
a. Check some constraints like variable declaration before the variable usage
b. Extract the substrings corresponding to tokens
c. Ignore substrings considered as whitespace (such as blank, tab, comment,...)
d. Determine if the structure of the sequence of tokens is valid or not
Thông tin phản hồi
Câu trả lời của bạn không chính xác.
Câu trả lời đúng là: Extract the substrings corresponding to tokens, Ignore substrings considered as whitespace (such as blank, tab, comment,...)

さて、この小テストが終わり、2年前同様に教員が各自の机にチョークで数字を書いていく。
おそらく2年前同様二人一組となり持参したPCを使って何かやるのだろう。
が、ここでもおかしな雰囲気となった。
生徒に1から順に番号を言わせ、全体の人数を把握しようとした。
が、自分はベトナム語の数字の順番がよく分かっておらず、Bay(7)と言ったが、しばらくたってから教員が「人数がおかしい」と言い始め、ぎゅく参したところ、自分が本来言うべき数字は10だと他の生徒が言った。
つまり自分の前の人がSau(6)と言ったように思われたが、実際にはTam(8)と言ったのだろう。
まあどっちでもいいけどねwwww
いずれにしても自分がどこの席に座るかよくわからない。これはベトナム語がどうこうという問題ではなく、ベトナム人の学生でも指示をよくわかっていない者もいた。さすがにモッハイバーは間違えなかったとは思うが。
このグダグダした席替えで20分は時間を無駄にしただろうか。
この間教員は非常に高圧的で、「お前は何番なんだ!」ということを頻りに言っていた。その表情や動きはなんだか薬物中毒患者のようであった。
ただ、学生の中にはどうしても3人掛けをしたい者もおり、それを注意されるのはやむを得ないところだろう。二人一組なんだから。
とはいえ2年前はそこまでガチガチではなく、なんとなく二人一組っぽくなって座っていればよく、さらにはあぶれてしまって一人で作業をしている学生もいたが、別にどうってことなかった。

結局のところ、この日は(この日も)授業らしい授業はなく、持参したPCでプログラムを作成するとなった。
つまり、一切の解説や講義がない中で事前に小テストの範囲を自分で勝手に勉強し、プログラムの仕様を勝手に理解してかなければ「授業」についていけない。
予習を前提とした授業と言えばそれまでであるが、教育の効率を考えれば小テストは前回習った範囲を行うのが普通だし、少なくとも2年前はそうであった。
教員は教える側だから多少偉そうになるのはやむを得ないが、それは専門的な質問が出てもパッと答えられるという高い能力があるから許された部分もある。
しかし今回の授業で質問にろくに答えない(答えられない)というのは教育者として問題である。
実際、プログラム作成も授業中に提出するやり方になったのだが、提出した学生のコードをプロジェクタで写し、「これは誰だ?」みたいに言うので該当の学生は挙手する。
が、コード内容に対して罵倒するのみで、指導とか助言とかがない。提出の意味がない。
これでは学生は委縮してしまい提出をしない者もいたのではないか。
本来、こんなものは間違って当然であり、そこでこの学生はどこを間違えたのか、なぜ間違えたのか、どうすれば正しい答えになるのか、を学ぶことが授業であろう。
それが単に罵倒の嵐では馬鹿らしい。
事実、授業中に席を立って帰ってしまった学生もいた。
この場合は二人ともPCを持っておらず、携帯電話しかなったのでJavapythonを動かすことができなかったというのもあるが。
それでも2名のうちどっちか片方がPCを持っていればいいので、ペアを適宜交換するとかの配慮があっても良かったはずだ。
つまりノートPCを持っていない人間はこの授業を受けられない。なんとか小テストはできるかもしれないが、プログラミング言語は使えない。
ベトナムは30年前の日本と言われる。30年前の日本で自分専用のノートPCを持っており、気軽に学校に持ってこれる学生はどのぐらいいただろうか?
30年前というとまだ小学生、当然自分専用のPCどころか家にもなかった。ましてノート型は値段が高い。車が買えるぐらいだ。
ということは車通学ができるのとノートPCを持ち込めることが同義となる。これはすごいことだ。
Đại Học Bách Khoa Thành Phố Hồ Chí Minhは国家大学といい、国立大学の中でも特に国からの補助が多い、つまり授業料は安いので家が金持ちではなくても入学できるのが売りだ。
物価を考えても日本の国立大学より安い。年間授業料が1か月の家賃より安いほどだ。
日本の国立大学最寄りの賃貸住宅の家賃より年間授業料のほうが安いというのは、防衛大学校などの特殊なところを除きありえない。
しかし実際には高価なノートPCの持ち込みを余儀なくされる。
これを回避するためには確実にノートPCを持ってきている学生とペアを組むしかない。

さて、今回の授業を受けて分かったことだが、明らかに教員の言動がおかしい。
学生にケンカを売っているとしか思えない。
小テストと席替え、コード提出後にその兆候が明確になった。
他の授業の先生のような笑顔、明るさ、親切にわかるまで教えるみたなところがひとかけらもない。
(これまでも高圧的な教員はいたが、一応質問には答えてはいた。自分はその授業は単位取得できなかったが。)
おそらく学校側から、この授業をもって契約終了みたいなことを言われているのか。
そこで、「どうせ自分が首になるのなら学生を道連れにしてやろう」みたいな発想になったのか。
学生側からすれば、こんな出来損ない教員との心中はまっぴらごめんである。
本当にこの教員が今期で首なら、今期は本科目を辞退し、翌年で履修という手もあるが。
しかし来年もこの教員であった場合は詰むことになるので現時点では今期本科目で高得点を取るようにした方がいいかもしれない。
金曜日には学部長の授業があるので、同科目について、というかこの教員についての相談をした方がいいかもしれない。
学校側としても薬物中毒教員とかだったら早めにリプレイスしたほうがいい案件だし。