= 学生企画
テーマ:「プロジェクトを通した技術交流や意見交換」
近年,産学連携や境界領域の研究が盛んに行われているため,
企業の人や異なる分野の研究者たちと連携して推進する
プロジェクトが多くなってきました.
我々にも将来このようなプロジェクトに参加する機会があるでしょう.
しかし,このような機会に恵まれている学生は少ないと考えられます.
IEEE リーダーシップ・トレーニング・ワークショップは
様々な分野で研究する学生が集まります.
そのため,異なる知識や技術力を持つ人と協力して
プロジェクトを進める練習が可能な良い機会であると考えます.
そこで今回の学生企画では,プロジェクトを通して
技術交流や意見交換を行いたいと考えております.
当日の作業の流れとしては
まず去年同様 6人程度のチームに分かれて頂き,
「技術的な課題」に取り組んで頂きます.
そして,最後に課題に対する成果やそのために用いた技術,
プロジェクト推進に関する課題や工夫したことなどについて
簡単な発表を行って頂き,それらについて議論します.
「技術的な課題」についてですが,
ワークショップの参加者全員が取り組めると考えられる
ソフトウェアシステムの構築を考えております.
そこで,参加者皆様のプログラミング経験についてお尋ね致します.
なお,京大で貸し出せるノートパソコンは数がものすごく少ないため
出来るだけご持参するようお願い致します.
== プロジェクトの内容
* 五目並べアルゴリズムの実装
最後に,各チームのアルゴリズムを対戦させます.
=== 仕様概要
* 「五目並べサーバ」からの入力は盤面にある白黒それぞれの石の位置(座標)情報
* 置きたい石の位置(座標)情報を「五目並べサーバ」に送信
* 解答時間は 1 手につき 1 秒以内 (遅れた場合はサーバがランダムに置く)
ここで「五目並べサーバ」とは,五目並べの盤面情報の保持,
勝敗とノーゲームの判定,ルールの判定などをするプログラムです.
クライアントはサーバから渡される盤面情報を基に,次の石の位置情報を返します.
また,五目並べサーバのプログラム及びクライアント側のサンプルコードは
こちらで用意しておきます (追加実装しなくても対戦はできる状態) ので,
当日はクライアント側のサンプルコードの改良をすることになります.
なお,サンプルコード詳細については当日説明します.
=== 五目並べのルール
* 2人のプレイヤーが碁盤の上に黒,白の石を 1つずつ交互に置く
* 置く場所は自由
* いったん置いた石は除かれない
* 先に自らの色の石を5個直線 (縦,横,若しくは45度の斜め) に並べた方が勝ち
* 「三三」は禁止
== 当日配布資料
* 仕様詳細
* チーム,メンバ一覧
== 当日配布ソースコード
* 五目クライアント
* C (Makefile 修正版)
* Ruby
== その他ソースコード
* 五目サーバ
* Rubyによる実装
* なでしこによる実装
|