ノート・プリント・参考書などは持ち込み可である。
携帯電話などの通信機能を持つものは持ち込み不可である。
ネットワークに接続して WWW を閲覧しても良いが、掲示板、チャット、 メールなどで生身の人間と通信することは禁じる。 また、人間と区別のつかないもの(対話型の AI など)と通信することも禁じる。
テストの配点は 50 点である。 合格はレポートの得点を加点して、100 点満点中 60 点以上とする。
以下の問に答えよ。
Ⅰ. (記述問題)
(必須)語句: | (13 × 2 点) |
プログラミング言語(やその処理系)で用いられる次の 6 つの語句のう 2 つを選択し説明せよ。その際、実際に動作するソースコードなど、 具体的な例を挙げよ。ただし、講義プリントにのっている例 やネットで見つかる例そのままではなくオリジナルの例を考えること。
抽象構文 (abstract syntax)
動的束縛 (dynamic binding)
高階関数 (higher-order function)
参照透明性 (referential transparency)
CPS (continuation passing style)
コルーチン (coroutine)
(ボーナス問題)自由記述: | (最高 20点) |
最近、人工知能 (AI) の発展が目覚ましく、外国語の翻訳は 10 年前に比べて格段に性能が上がり、実用に耐えるようになった。 囲碁や将棋では AI がプロ棋士より強くなってしまい、プロ棋士が AI を師匠として勉強するのが普通になっている。 プログラミングについても、たとえマイナーなプログラミング言語であっても、少なくとも初級のプログラミングの問題ならば正解できることは珍しくなくなっている。
このような AI の発展に伴って、今後、プログラミングやプログラミングの教育はどのように変わっていくか(あるいは変わらないか)、大胆に予測してみよ。
問 Ⅱ はペーパー(紙)問題(ラムダ計算)となっている。
PC を閉じるかシャットダウンし、挙手などをして問題用紙・解答用紙を受け取ること。
なお、ペーパー問題の解答用紙を提出してから、PC をふたたび起動し、問 Ⅰ の解答を続けてもよい。