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

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

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

2019年9月23日、Nguyên lý ngôn ngữ lập trìnhの4回目授業が実施された。
実はこの日は異常なまでの頭痛がしており、自力での運転も難しいので授業を欠席するか悩んだ末にタクシーで行くことにした。
内容としては9月29日提出の宿題のほぼ答えに当たる内容をやっており、体調不良を押して出席した甲斐はあったといえる。f:id:k4h8:20191001101220j:plain

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

2019年9月20日、Mạng máy tínhの授業4回目が実施された。
この日の授業もいつも通りただスライドを読み上げるだけの単調なもので出席も取らなかったが、授業の最後になって、Bai tap lon so 1の指示が行われた。
Javaでチャットアプリを作るというもの。締め切りは4週間後なので2019年10月18日までだ。
ただ、3人一組で行うというのがネックだ。
言葉の問題ももちろん、他のメンバーとの相談の時間を取るのが難しいので、できれば自分一人でやりたいと先生に申し出た。
先生からは、"Tot nhat la 3 nguoi."という返事ではあった。
3名でやることを強制してはいないが、強く推奨している。
このとき教室には6名の学生がいたが、実はうち1名がモグリであったことを自らカミングアウトした。
残り5名のうち3名はすでにチームを組んだようで、残り1名と自分が組むような雰囲気となった。
この1名の学生に対しても、自分は一人でやりたいということを言ったが、その学生も「チームでやった方が成功確率が高くなるのでその方がいい」ということを言った。
正直、相談の時間を取るのが難しいのは事実なので断ろうかとも思ったが、ここでこの学生とつながっておけばこの宿題のみならず、以後の授業で情報が入手しやすくなるので、この彼と組むことにした。
さらに不登校であった学生がおり、その学生を加えて3名となった。

もし大学院事務局の不手際がなかったら?

完全なたらればであり、歴史にもしもはないと言われるが、専門必修が偏りすぎていることから、もし大学院事務局の不手際がなかったらどうなっていたかを考察したい。

1/2017
Mạng máy tính(4単位)通いやすい土曜日に受講
Phân tích thiết kế giải thuật(3単位)永久に平日15回のままなので早めに受講
当期計7単位 累計7単位

2/2017
Triết học(3単位)土日両日開講で短期完了
選択科目その1(3単位)できれば土日どっちか
当期計6単位 累計13単位

1/2018
Nguyên lý ngôn ngữ lập trình(4単位)平日20回だがPythonに移行したので単位取得なったか
Phương pháp nghiên cứu khoa học nâng cao(3単位)土曜日かつ短期集中
当期計7単位 累計20単位

2/2018
Xử lý ngôn ngữ tự nhiên(3単位)通いやすい土曜日に受講
選択科目その2(3単位)できれば土日どっちか
当期計6単位 累計26単位

1/2019
Cấu trúc dữ liệu và giải thuật(4単位)通いやすい土曜日かつ回数が15回に負担減少
当期計4単位 累計30単位

と、1セメスターあたり2科目、6単位または7単位で取っていく。
ただ、Phân tích thiết kế giải thuậtとNguyên lý ngôn ngữ lập trìnhは平日通わざるを得ない。
それでも結局は2年間での講義科目完了とはならず、1/2019まで持ち越すことには変わりない。
とはいえ2/2018と1/2019で平日通うリスクがなくなることと、1/2019からは修士論文が並行して取り組めるのは有利かな。
今のままだと修士論文は2/2019から始めることになるので。

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

2019年9月17日、Phân tích thiết kế giải thuậtの4回目授業が実施された。
前回と違い出発前に大便をすることがなく、裏門到着が17:53であった。
時間に余裕があったので校門付近の歩道を不法占拠している豚肉屋で食事をすることにした。
このため結局は5分ぐらいの遅刻となった。
この日は肛門で時間は取られなかったが校門で時間を取られたわけだ。

入室すると、第1章の問4をやる時間のようだった。

j:= 1;
while j <= n do
begin
	call A;
	j := j*b
end

幸いここは事前に予習しておいた内容だ。
問題の量が多すぎるのでこの科目の問題用に特別にノートを1冊用意しておいたのだ。
答えを書いたページを先生に見せると、板書してよいというジェスチャーが返ってきた。
すかさず黒板前に躍り出て答えを書く。
答えはlog_{b}{n}回だ。
しかし、正解はこれに1回が加算されるようで、log_{b}{n}+1回であった。
とはいえ計算量は1が無視できるのでO(log_{b}{n})となる。
ということで、ぴったりの正解ではなかったが、当たらずとも遠からずだったわけだ。
これが、計算量n^{2}とかだったら箸にも棒にも引っかからないが、最終的な答えには1含まれないことと、考え方の大筋はあっていたので板書が認められたということだろう。
逆に、ぴったり正解してしまっては先生の解説する出番がなくなってしまう。
そういった意味では100%の正解ではなく、95%ぐらいまでは自力で解けたけど、最後の後1歩が詰められなかったというのは先生にとってもいい講義の場であり、さらにほかの学生にとってもいい勉強の場になったと思われる。
改めて、この日は15分以上の遅刻をしなくてよかったと思うとともに、逆に食べるのを我慢して時間通りに入っても退屈な時間を過ごしたと思うので、5分遅れで入室というのは絶妙なタイミングであった。

なお、この日は2章を終え、3章の8ページまで進んだ。

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インチディスプレイを準備したのでこれを授業用に持ち込もうかと画策してたりする。