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

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

Nguyên lý ngôn ngữ lập trình 3回目

2019年9月16日、Nguyên lý ngôn ngữ lập trìnhの2回目授業が実施された。
前回の授業でいきなり小テストが行われたので、今回は授業開始2時間前に乗り込んだ。
この時間帯だと渋滞もない。できれば毎回この時間に行きたいぐらいだ。
さて、授業開始30分前にはサイトには何の変化もなかったが、開始10分前になって突然「Lexer Quiz 2 (1609)」の表示が。てっきり今回の内容の小テストと思っていたが、まさか前回と同じ範囲とは。
しかし、小テストにはパスワードがかかっており、教員が来るまではログインできない仕組みだ。
そして18:00ちょうどになって教員登場。すぐさま黒板にパスワードが書かれた。
小テストの制限時間は12分、終了時刻は6:17 PMとなっており、5分ぐらいの遅刻なら12分まるまる使えるということになる。
今回は遅刻がなかったので、18:01にはログインできたと思われ、ロスはなかった。
気になる問題はこれだ。
Câu hỏi 1
Chính xác
Điểm 1,00 của 1,00
Không được bật cờCờ câu hỏi
Nội dung câu hỏi
Given the regular expression for a decimal integer literal in C language:

0|[1-9][0-9]*

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



Chọn một hoặc nhiều hơn:
a. 0 Chính xác
b. 00
c. 102 Chính xác
d. -12
Thông tin phản hồi
Câu trả lời của bạn là chính xác.
Câu trả lời đúng là: 102, 0
Câu hỏi 2
Chính xác
Điểm 1,00 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: 3.14159

-255.34

128e5

1.9e10

123,340.00

SKIP SET: 720

4.e5

Chọn một hoặc nhiều hơn:
a. -?([0-9,])+(\.[0-9]*)?(e[0-9]+)?
b. [+-]?[0-9]+(\.[0-9]+)?(e[0-9]+)?
c. [+-]?[0-9]([0-9][0-9]?)?(,[0-9][0-9][0-9])*( \.[0-9]*([eE][+-]?[0-9]+)? | [eE][+-]?[0-9]+)
d. -?[0-9,]+(\.[0-9]+(e[0-9]+)? | e[0-9]+) Chính xác
e. [+-]?[0-9]([0-9][0-9]?)?(,[0-9][0-9][0-9])*(\.[0-9]+([eE][+-]?[0-9]+)?)?
Thông tin phản hồi
Câu trả lời của bạn là chính xác.
Câu trả lời đúng là: -?[0-9,]+(\.[0-9]+(e[0-9]+)? | e[0-9]+)
Câu hỏi 3
Chính xác
Điểm 1,00 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 expressions that describe the following comparison operators in C language: >=, >, <, <= ?

Chọn một hoặc nhiều hơn:
a. ((< | >)*=)*
b. > | >= | < | <= Chính xác
c. (< | >)=? Chính xác
d. (<)(=)* | (>)(=)*
Thông tin phản hồi
Câu trả lời của bạn là chính xác.
Câu trả lời đúng là: (< | >)=?, > | >= | < | <=
Câu hỏi 4
Chính xác
Điểm 1,00 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-z][a-zA-Z0-9]*

?

Chọn một:
a.
kAM2

b.
ma09

c. A Chính xác
d.
Aa9#

Thông tin phản hồi
Câu trả lời của bạn là chính xác.
Câu trả lời đúng là: A
Câu hỏi 5
Đúng một phần
Điểm 0,67 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(s) describes an integer literal in Pascal language? Remind that an integer literal in Pascal language is a non-empty sequence of digits.

Chọn một hoặc nhiều hơn:
a. (+|-)?[0-9]+
b. 0 | [1-9][0-9]* Không chính xác
c. [0-9]*
d. [0-9]+ 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à: [0-9]+
Câu hỏi 6
Chính xác
Điểm 1,00 của 1,00
Không được bật cờCờ câu hỏi
Nội dung câu hỏi
Which RE describes all non-empty strings on {a,b} including only one appearance of aa ?


Chọn một:
a.
[aab]+

b.
[ab]*aa[ab]* Chính xác

c.
(aa | b)+

d.
[ab]+

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

Câu hỏi 7
Chính xác
Điểm 1,00 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. aaabaabba
b. aababbaa
c. ba Chính xác
d. baaababa Chính xác
Thông tin phản hồi
Câu trả lời của bạn là chính xác.
Câu trả lời đúng là: baaababa, ba
Câu hỏi 8
Chính xác
Điểm 1,00 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-1

Chọn một:
a. a+ba*(ba+ba*)*
b. a*ba*(ba*ba*)*
c. a*ba+(ba*ba+)+
d. a*ba(aa|ba*b)* Chính xác
Thông tin phản hồi
Câu trả lời của bạn là chính xác.
Câu trả lời đúng là: a*ba(aa|ba*b)*
Câu hỏi 9
Không chính xác
Điểm 0,00 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] + -24 * (10.3e5 - 32);

Trả lời:
21
Không chính xác
Thông tin phản hồi
Câu trả lời đúng là: 17
Câu hỏi 10
Chính xác
Điểm 1,00 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: a (a | b)* ?


Chọn một:
a.
aa|b*

b.
a(a*b*)* Chính xác

c.
a (a | b)(a | b)*

d.
(a | b)*

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

これでなんと87%の正解率を得た。
前回の範囲とはいえ、かなりいい出来だ。
その後受験者24名のの点数分布図を見させられたところ、上位3名にランクインしていた。
実はこの試験後トイレ兼給水休憩を取ったのだが、実は小テストは2個ぶっ続けで行われていた。
幸い食事ではないので数分で戻れたため何の実害もなかったが、前回同様だまし討ち、卑怯なやり方だ。
2個目の小テストは今回の範囲、と言っても結論からいうと結局この日は前回の範囲の問題を継続しているうちに授業時間は終わってしまったが。
あいにくと2個目の小テストは点数が出るだけで、どの問題を間違ったかを含め、問題を見ることができない。これまた卑怯なやり方だ。
その後、例によって「番号!」「1!」「2!」と点呼が行われて席替え。
どうやら13で割った余りの座席につくようだ。この方式だと誰とコンビを組むかわからず、普段仲の良い学生と一緒に作業するということができない。まあ誰と組んでもそんなに変わらないが。
前回のチュートリアルファイルのQ3とQ4の解説がメインで行われ、この日は終了となった。
本来この日行われるはずであった内容のチュートリアルファイル(2年前と同じもの)を前もって予習というか事前に問題をやっておき速攻で提出するという手筈であったが、今年になって授業の進度がゆっくりになったようだ。
この分だと全20回でコード生成まではいかないかもしれない。内容が少なくなり、その分じっくり取り組むのであればいいことだ。
100の内容をやろうとして結局20しか理解できないぐらいであれば、はじめから60の内容だけを扱い、その代わり55ぐらいは理解できるとかの方がよっぽど有意義だ。

Mạng máy tính 3回目

2019年9月13日、Mạng máy tínhの授業3回目が実施された。
学部長が来るようになってからはまだ2回目なのだが、もう何度もこの授業を受けているような錯覚に陥る。
ここで残念なお知らせ。実は初回に日本語ネイティブレベルの学生がいたのだが、2回目から彼が来なくなった。1回ぐらいなら単なる用事か体調不良で済ませられるが、2回連続欠席なので気になって受講者名簿を見たら、彼の名前がなくなっていた。おそらくは多忙による受講取り消しだろう。今期6科目も登録したと言っていたので。
さて、今回も特に出席を取るわけでもなく、宿題の指示があるわけでもなかった。
気になって休憩中に聞いてみたら、次回宿題の指示をするという。
なお、この日は2章のスライド53ページまでで進んだ。

Nguyên lý ngôn ngữ lập trình 小テスト対策(2回目)

たとえ少しでも遅刻したらいろんな意味で終わっている、さらにいえば遅刻しなかったとしてもわずか15分で12問をやらなくてはいけない。
つまり以前履修したときの模範解答を丸写しするしかない。


Hãy sử dụng dạng BNF...stmtlist

stmt SEMI stmtlist | empty


a = b + c > d ^ e ?
最下段がc dとなる画像
f:id:k4h8:20190912195236p:plain


Hãy sử dụng dạng BNF...idlist

ID COMMA idlist | ID


S → B A
A → a A | a
B → b | c
caaaa

S => BA => cA => caA => caaA => caaaA => caaaa


B → yBz | t | xB

S → SS | a | b
A → AcA | b


aabb
最下段がϵ  bとなる画像
f:id:k4h8:20190912195254p:plain


Dùng dạng EBNF...paramlist

(param (SEMI param)*)?


Hãy chọn các vai trò của bộ phân tích cú pháp?

Xác định trật tự của chuỗi tokens có phù hợp với qui định của ngôn ngữ không
Xây dựng cây phân tích cú pháp cho chuỗi tokens


S → A B
A → a A | \epsilon
B → b | c
Hãy chọn các chuỗi nhập thuộc ngôn ngữ L(G)?

ab
aaab


123 - 32 / 4 / 2 + 4 * 3 - 10 ?

73

Phân tích thiết kế giải thuật 3回目

2019年9月10日、Phân tích thiết kế giải thuậtの3回目授業が実施された。
前日の授業で15分遅刻したので、今日は科目違いとは言え早めに出発することにした。
しかし残念ながら出発する段になって大便が出そうになり、さすがに渋滞にはまったら大変なことになるため、大便をしてからの出発となった。
このため、何も食べていないにも拘わらずやはり15分の遅刻となった。
さすがにのっけから小テストはないと思うが、昨日の今日だからパンは買わずに食べずに教室に行った。
が、それで正解。なんと、授業のはじめに問題を解かせる時間を設けていたのだ。
ここで模範解答とかも出るので、いてよかった。
f:id:k4h8:20190912191710j:plain
これは1章問7の回答である。
残念ながら問6を撮影し損ねたが、解答は2N^2-Nであった。

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を持ってきている学生とペアを組むしかない。

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

Nguyên lý ngôn ngữ lập trình動画アドレス

Lexical Analysis (week 2)
https://youtu.be/vUmKTL5C3hA
https://youtu.be/tU_b9aCaEuo
https://youtu.be/8TbkSMoO9dQ
https://youtu.be/ADOq4BFxvfQ
https://youtu.be/zXnmAAvI3kU
https://youtu.be/HlSgaLcp4FA
https://youtu.be/9PzrXzQfxTE
https://youtu.be/9c8uK955OKg

Syntax Analysis (week 3,4)
https://youtu.be/3bbKfqrO3YI
https://youtu.be/j9oy145si_0
https://youtu.be/BkP5R1Gj3hs
https://youtu.be/ewYfY6F4H0o
https://youtu.be/bK1vIT9zWQY
https://youtu.be/eZUTQO4BNLI
https://youtu.be/6K6W1IlZsaQ
https://youtu.be/3ROLBNifYYk
https://youtu.be/euXndqLg3cA
https://youtu.be/UKm-N-AznAg
https://youtu.be/zalDjGQ2ssg
https://youtu.be/0ZptOPjUI8U
https://youtu.be/ID1em5HDEsU
https://youtu.be/1Dj-4B_ATv8
https://youtu.be/Lpl3v5CVH20
https://youtu.be/YykA2aVq4Qs
https://youtu.be/BgbBPpl976g

Cấu trúc dữ liệu và giải thuật 2回目

2019年9月7日、Cấu trúc dữ liệu và giải thuậtの2回目授業が実施された。
前回もそうだが、同科目においては休憩なしの2時間半ぶっ通しなので、自主的に適宜トイレに行った方がいい。
トイレ休憩中に問題を解かせる時間になったらどうしようと思っていたが何もないままに3章に入ったので、さすがに章のはじめに問題はないだろうと思いトイレに行った。
結局、今回は残念ながら問題を当てて答えさせる場面はなかった。
一応最後の最後、もう学生が席を立った後になって出席を取った。
すでに退出してしまった学生はいなかったようには思えた。

Phân tích thiết kế giải thuật 2回目

2019年9月3日、Phân tích thiết kế giải thuậtの2回目授業が実施された。
この日はすでに時間に間に合わないことが明確で、どう考えても20分は遅刻する。
どうせ遅れるならと道中レストランに入り食事をし、かつ教室に入る前にトイレや水汲みを行ってから入室。
その時点で50分ほどの遅刻だが、授業時間は2時間半もあるのでどうってことない。
授業終了30分前に1章がほぼ終わり、excisesのスライドが上映された。見た目はカラーだが内容は以前配布されたワードのモノクロ記述と同じもの。
「この問題わかる人!」に生徒が答える形式だ。
ここで、とある生徒が躍り出た。
続いて戦友もこれに挑む。
さらにもう1名か2名が板書をし、勇気のある生徒は名前を聞かれていたから、これが平常点に加算されるのではないかと思われる。
今回は答えがよくわからなかったのでそもそも板書をするに至らなかったが、次回から参加したい。
これが去年まで、少なくとも2年前であったらたとえ答えが分かっていても絶対に板書には行けなかっただろう。
今は気後れや気恥ずかしさはない。

その後1章の残りを終わらせ、2章のスライドの2ページ目をもって今回は終了。
最後に出席を取ったので、毎回出席は中盤か最後に取るのだろう。
もっとも出席点がどの程度成績に考慮されるかはわからないが。

4単位科目の授業料は?

3単位科目の再履修ではない場合の値段が2,280,000であった。
また、4単位科目で26回開催の値段は4,125,000であった。
そこから1回あたりの単価を割り出し、それに20をかけると、3,040,000~3,173,000のどこかということになる。
f:id:k4h8:20190904110928p:plain
端数は切り上げや切り捨てがされるだろうし、大体の目安として3,100,000(14,200円)ぐらいを見ておけばいいだろうか。
するとHọc kỳ 1/2019-2020で支払うべき授業料はどうなるか。
4単位ではあるが15回開催の科目は本来の3単位に準じることを期待したい。
するとこうなる。
f:id:k4h8:20190904111432p:plain
なお、この画像はファイル読み込みではなくctrl + V で張り付けている。これは便利だ。
結果、9,940,000(46,000円)ぐらいということだろうか。
全部の科目に合格し、単位を完全に取得できればの話だが。

Cấu trúc dữ liệu và giải thuật 1回目

2年に一度しか開講せず、かつ201年度は大学院事務局の不手際により受講できなかったので実質3年に一度の開講になる、Cấu trúc dữ liệu và giải thuậtが今期になってやっと開講した!実はこの時のために半年以上前から参考資料の入手などを試みていたのだ。
しかし、またも大学院事務局の不手際により登録がされず、結局手書き登録とインターネット登録の両方をぎりぎりになってさせられる羽目になった。
挙句の果てに2週目開講となり、すでにほかの科目には2回目まで進んでいるのもあるというのに初回授業に至らず、2019年8月31日になりやっと初回が開講された。
受講人数は多いはずだが、先生より早く来たのは2名しかいなかった。先生が時間よりも早く入室したというのもあるが。
なお、今回は先生が若かったので一瞬学生かと思ったがそのまま講師席に行ったので先生と判明。
結局この日来たのは10名ちょっとではなかろうか。
前日の授業で顔見知りになった学生も来ていた。彼は昨年度まで一緒の授業だった角刈り君に似たキャラのように見えたが、角刈り君のようにみんなを巻き込んで迷惑をかけるような悪いところがないように思える。
さて、同科目ではeラーニングサイトから資料を入手するのだが、これまた大学院事務局の不手際により同科目が登録されていない。
幸い角刈らない君のほかにも秀才君とも知り合い連絡先を交換していたため、ひとまず両者に資料を送ってもらえるよう頼んだところ秀才君がいち早く返事をくれて、資料をもらうことができてほっとしている。

さて、授業そのものだが、再帰アルゴリズムや複雑さの計算など、Phân tích thiết kế giải thuậtと同じ題材を扱っている。ただし同科目のほうが実際にc++のコードを考えるところがより実用的である。しかし授業中にPCを持ち込んで行うというよりノートや黒板にコードを書くというアナログな方式である。

また授業開始時に点呼による出席を取り、かつ出席者の中からランダムで問題を当てて答えされ、それをもって平常点10%とするようだ。
また、宿題30%で、内訳は15%が二つずつ。
最後に試験が60%だが、おそらく中間試験なしの期末試験一発勝負。Mạng máy tínhも同じく試験が60%であり、これは気が抜けない。

以上をもって今期受講科目の4科目すべてが開始した。
結局PC持ち込みが義務付けられているのはNguyên lý ngôn ngữ lập trìnhの1科目のみなので、ノートPCをリュックサックに入れて運ぶというリスクのある行動はあと19回だけで済む。欲を言えば15回の科目がPC持ち込みで、20回の科目が理論だけだとよかったが。
一応市販のPCでは一番衝撃に強いx1の、それも軽さが劇的になった2017年以降モデルを使っているが、長年使いたいので極力持ち運びは避けたいところ。
実はRaspberry Pi と7インチディスプレイを準備したのでこれを授業用に持ち込もうかと画策してたりする。

Mạng máy tính 2回目

2019年8月30日、Mạng máy tínhの授業2回目が実施された。
実は20分ほど遅刻してしまったが、窓の外から学部長の顔が見えてほっとする。
が、入室した瞬間やられた!前回の臨時教師と違い、学部長はベトナム語で授業をするではないか!
唯一の救いは従来の20回から15回に減ったことか。
また、前回の授業で不明点となっていたA5ビルの自習室みたいな話は立ち消え、宿題はすべて自宅で作業をすることになるのだそうだ。
また、成績のつけ方も正式にというか改めて発表があった。
宿題30%(1回あたり15% × 2回)
期末試験60%
宿題についての説明はまだなかった。
また、中間試験がなく、ほぼ期末試験一発勝負というのは今までになく、今から戦々恐々としている。
昨年度も人数が一桁であり、再履修者もいなさそうなので難しい試験ではないことを期待しているが、何があるかわからないので、保険をかける意味でも宿題で点数を確保しておきたい。

Phân tích thiết kế giải thuật 1回目

2019年8月27日、Phân tích thiết kế giải thuậtの初回授業が実施された。
ちょうど1年前、Học kỳ 1/2018-2019のNhận dạng mẫu và học máyと同じ先生だ。
なので授業のやり方やテスト問題の出し方など勝手がわかってやりやすい。
しかも授業のスライドと練習問題は友達からもらってある。
その友達も前日のNguyên lý ngôn ngữ lập trìnhどうよう近隣に座ることで随時情報交換できる体制を作っている。
この彼はもはや戦友と呼ぶべきだろう。
この戦友から攻略本の存在を教えてもらった。
市販はされていないようで平日の昼間に学校に来る必要があるが、同科目の先生が自分で書いている教科書なので試験での高得点は間違いない。
なぜか?参考図書としての紹介は一切なく、むしろこの本の存在を知っていれば授業に1回も来なくても誰でも満点なので教えたくはないのだろう。知っちゃったけど。
http://www.bgt.hcmut.edu.vn/images/stories/virtuemart/product/phan_tich_va_thiet_ke_giai_thuat.jpg

なお、同科目は宿題やレポート等一切なしの試験のみでの評価とわかった。
割合は中間試験40%、期末試験60%だ。
ひとまず初回は第1章の8割ぐらいまで進んだ。
Nhận dạng mẫu và học máyと同じく一応出席を取ったが、出席点は一切ないので欠席してもどうってことない。

Nguyên lý ngôn ngữ lập trình 1回目

悪名高いの枕詞でおなじみの同科目が2019年8月26日にいよいよ開講した。
実は1分ほど遅刻で教室に入ったが、学生は6名ぐらいしかいない。
何かの間違いかと思ったが、その後先生も来て、最終的には学生は30名ぐらいになったと思う。
2年前は授業開始前から20名ぐらいの学生がいたと記憶しているが、今回はみんなのんびりだ。
なお、今回同科目の履修は2期目。つまり再履修だ。
さらに、再々履修や再々々履修もおり、実に全学生の半分が2度目以降の履修。つまり初回受講者は残りの半分しかいない。
そんなこともあり、教室の雰囲気はもはや授業という感じではなく、さながら戦争のようだった。学生からは憎しみのオーラがにじみ出ている。
また、同日の日中にはeラーニングサイトには何の情報もなかったが、授業開始とともにすべてのスライド、初回課題などが一斉にアップされた。
もはや授業など誰も聞いておらず、すかさず課題内容の閲覧となる。
今までさんざん苦しめられたscalaはなくなり、多少まともな言語であるpythonを使うようだ。
対象は相変わらずMC(micro CというC言語の機能を少なくした独自言語)であった。
また、今回はfacebookのグループもあるようだ。名前はppl 2019などという名前のようだが、それで検索しても該当と思われるものはなかった。
成績のつけ方も説明があった。おそらく今までと同じだが、今はその意味がよくわかる。授業中の作業が全体の10%しかない。それ以外は全部宿題や試験だ。つまり無理に出席する必要はないということだ。もっと言えば出席点はないので、ただ教室にいるだけでは意味がない。教室に来るなら授業中の小テストで満点を取るつもりで。授業中の小テストができなさそうなら来るだけ無駄なので、休んだ方がいい。渋滞もきついし。
唯一の救いは2年前からこの学校の授業を受けてきて、かつ連絡先をお互いに知っている人も受講しており、隣の席を素早く陣取ったことだ。
この彼は翌日開講となるPhân tích thiết kế giải thuậtの資料を送ってくれた非常にありがたい存在だ。
ひとまずは次回実施の小テスト、および初回宿題の準備をし、取りこぼしを0に近づけることが大切だ。

Mạng máy tính 1回目

2019年8月23日、Mạng máy tínhの初回授業が実施された。
担当は学部長なのだが、実際に教室に入ってきた先生は違っていた。
どうやら今回限りの代理の先生のようだが、本当の担当が学部長であること、また、初回という大事な回に代理をよこすという時点で、今後もこの代理の先生が頻繁に来るであろうことが予期できる。
また、この代理の先生は本学初となる英語での授業を実施した。これで授業が何を言っているか分かるので大変ありがたい。
なお、事前にインターネット上から入手した教科書は古いもののようで、内容の更新が入っていた。最新版は誰もが自由に取れるところではなく、eラーニングサイトからのダウンロードになるようだ。
成績のつけ方も更新されており、さらに一部本当の先生でないと分からない箇所もあるため、次回以降に成績のつけ方について本人に確認したい。

Học kỳ 1/2019-2020いよいよ開講!

2019年8月19日からHọc kỳ 1/2019-2020が開始した。
ただし多くの科目は2週目もしくは3週目開講なので、実質的には2019年8月23日が初日だ。
なお、受講科目はこの4科目。
(054011) - Mạng máy tính
(054012) - Nguyên lý ngôn ngữ lập trình
(054013) - Phân tích thiết kế giải thuật
(054017) - Cấu trúc dữ liệu và giải thuật
この学校に通うのもこれで3年目。修士課程の標準在籍期間は2年間だから、もう卒業(日本式に言えば修了)した者もいるかもしれない。