第3話 基礎プログラミング実習

涼太はさんざん迷って、真緒とサイゼリアで食事した数日後に仮想通貨をショートした。もう少し上がってからでも良かったと思ったが、真緒のマイニングがしづらくなった発言が気になっていた、本来マイニングしづらいのであれば価値は上がるはずなんだが、なんとなくイヤな予感がした。一般的にはこういう迷ったときはときはポジションを立てるべきではないのだが、涼太はまだまだこの分野では勘に頼る若造であった。


「というわけで、これから見せる問題について、まずは解法の考え方をテキストに書いて、それをコミットしたら実際にプログラムを書いてください。私がテキストを確認する前にプログラムを書いて構いません。いつものように質問はZoomのチャットでください。マイクのミュートは私が許可したときだけ外すように」


 Zoomの画面で基礎プログラミング実習担当の佐々木講師が授業の段取りを説明している。他の学生の映像は見えないが、講師には全員見えているらしい。Zoomでの説明を聞いたあと、プログラムは学校が用意する工大ベンチと呼ばれる環境にブラウザでログインし、それぞれの学生はその上でプログラムを記述して実行までできる。


「では、本日のお題は、これです」


 佐々木講師はなぜかニヤリとした後に大きな文字を表示した。


『大学沿線の私鉄、東急線の全駅名をしりとりでつなげて、一番長くなる組み合わせを見つけるプログラムを作成する』


「「「おいいいい」」」

 チャット欄に一斉にツッコミが入った。最近、東急に乗った人なら見覚えのある問題である。系列のIT会社がこういう問題を解ける人材を募集しています、としてしばらく車内広告に掲載してたやつだ。


「君たちの言いたいことはよくわかります」


 佐々木講師学生のツッコミを抑えて話を進めた。


「電車の中で見かけまして、いつか使いたいなあって思ってたんですよね。パクっちゃいました」


 いいんか、それ。と学生全員の思いは一致した。


「駅名の漢字とひらがなをセットにしたデータのソースは、共有に上げているんで使ってください。日本語得意ではない人のために、ローマ字のデータもセットにしてあります」


 優等生のリーさんは日本語得意だけど、ベトナムから来たレさんとか、ポーランドのドンさんはちょっと不自由なところがあるから、そこは配慮してあるようだ。英語だと逆に涼太がダメだ。


「あと、共有にテストコードも上げてあるのでプログラムはそれと結合して、回答を返却するようにしてコミットしてください」


 ようするに、工大ベンチの環境にテスト用のプログラムが既に用意されてあるので、学生は与えられたデータと自分の作ったプログラムがテスト用プログラムから呼び出されて動作されるようにしろ、ということだ。学生は自分の画面で動作確認を行い、大丈夫だと思ったらコミット、つまり提出し作ったプログラムが講師から見えるようにする。

 学生がプログラムをコミットしたら自動的に動作確認を行うプログラムが作動し、OKかNGかの判定を行う。どちらの場合も講師は学生のプログラムのソースコードをレビュー、つまり目で見て論評を行う。なんらかの方法で一番長いしりとりの組み合わせを入手して、その文字列だけを返すというアホみたいなプログラムを書く学生がいるかもしれないからだ。ただし、入学早々のセキュリティ講習で全新入生をビビらせたように、ここはそんな甘い考えが通用するところではない。


 涼太は駅名ごとに、末尾の字とつながる駅名を1階層だけ探して記録し、それをデータ構造にして一番長い組み合わせを探索する方法を考えた。『しぶや』という駅名を例に取ると『や』で始まる『やぐちのわたし』などの駅名をすべて探し『しぶや』に紐づけて記録する。これを全部の駅名に対して行い、そのあと一番長くなるつながりを探索する。注意すべき点はしりとりの中で1度登場した駅名が2度と登場しないようにするところ。駅名プールから1個ずつ抜き出しで、と、テキストを書き込んで提出したあたりで、リーさんはプログラムの提出を終えたようだ。早い、早すぎる。


「んー樫井くんの方法は悪くはないですねえ、しりとり自体のマッチングは1度で済んでるところはいいです」


 プログラムの動作確認をしてコミットしたあと、佐々木講師より論評を頂いた。涼太が思っているよりは高評価だった。


「まあ、みなさんよくできたほうですかね。僕、お昼までは時間開いてるので、プログラムに関する疑問があれば何でも受け付けます。講座のSlackチャンネルにどうぞ」


 全員の論評が終わり、再提出を食らった学生のやりなおしもどうやら講義時間内に終わった。佐々木講師はまだ若く年齢的には兄貴的ポジションだが、准教授一歩手前のバリバリの研究者だ。涼太みたいな学部2年の素人がこの分野の専門家に何でも聞いていいというチャンスはそうあるものではない。あと、聞きたい問題には真緒の方が関りが深いはずだ。


「ちょっと佐々木先生に質問するからツラ貸せや」


 と、良太はSlackで真緒にDMを送った。SlackのDM(ダイレクトメッセージ)はtwitterとほぼ同じで宛先の人にだけ送信される。涼太は真緒の返事を待たず、意を決して講座のSlackチャンネルに書き込んだ。


「佐々木先生、このあと少し質問よろしいでしょうか?」

  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る