(57)【特許請求の範囲】
【請求項１】
複数の授業の履修を希望する複数の希望者の中から前記各授業の履修者を選出する希望者抽選システムにおいて、
科目コード、授業コード、定員上限および現在の定員が対応付けられた定員テーブルと、
履修仮決定フィールドおよび削除フィールドが設けられた履修希望テーブルと、
科目コード、授業コードおよび曜日・講時が対応付けられた授業テーブルと、
前記複数の希望者のうちどの希望者が、前記複数の授業のうちどの授業の履修をどれだけの優先順位で希望しているかを示す履修希望データを入力する入力手段と、
前記入力手段により入力された履修希望データのうち、同一の授業の履修を同一の優先順位で希望しているものを抽出する抽出手段と、
前記定員テーブルを検索することにより、履修希望データで履修が希望されている前記科目コードおよび前記授業コードに基づいて、授業の空き定員数を取得し、前記抽出手段により抽出された履修希望データの個数が、当該履修希望データで履修が希望されている授業の空き定員数以下であるか否かを判定する判定手段と、
前記判定手段により前記履修希望データの個数が前記空き定員数以下でないと判定された場合に、前記各履修希望データについて乱数を発生するとともに、当該乱数の小さいものの順に前記空き定員数または前記新たな空き定員数の個数分だけの履修希望データを選出することにより、前記抽出手段により抽出された履修希望データの中から前記空き定員数の個数分だけの履修希望データを選出する選出手段と、
前記履修希望テーブルの前記履修仮決定フィールドに、履修仮決定済みの事実を示す所定の値を書き込むことにより、前記選出手段により選出された履修希望データで履修を希望している希望者を当該履修希望データで履修が希望されている授業の履修者として決定する決定手段と、
前記授業テーブルを検索することにより、前記希望者ごとに、前記決定手段により履修者として決定された複数の授業の中に同一コマのものがないかどうかを判定するエラー判定手段と、
前記エラー判定手段により前記複数の授業の中に同一コマのものがあると判定された場合に、前記履修希望テーブルに格納された優先順位が最高のものを除く残りのレコードの前記削除フィールドに、履修の仮決定が取り消されたことを示す所定の値を書き込むことにより、当該複数の授業のうち一つを除く残りの授業について、前記決定手段によりなされた履修者としての決定を取り消す取消手段と、
前記取消手段により履修者としての決定が取り消された結果新たな空き定員が発生した授業について、前記各履修希望データについて乱数を発生するとともに、当該乱数の小さいものの順に前記空き定員数または前記新たな空き定員数の個数分だけの履修希望データを選出することにより、当該授業の履修を希望する履修希望データのうち前記選出手段により選出されなかったものの中から、前記新たな空き定員数の個数分だけの履修希望データを選出する第２の選出手段と、
前記履修希望テーブルの前記履修仮決定フィールドに、履修仮決定済みの事実を示す所定の値を書き込むことにより、前記第２の選出手段により選出された履修希望データで履修を希望している希望者を当該履修希望データで履修が希望されている授業の履修者として決定する第２の決定手段と、
を備えたことを特徴とする希望者抽選システム。
【請求項２】
前記優先順位の衝突を発見した場合には、優先順位修正画面を作成し、当該画面のデータを前記希望者へ送信するエラーチェック手段と、
を備えたことを特徴とする前記請求項１に記載の希望者抽選システム。
【請求項３】
複数の授業の履修を希望する複数の希望者の中から前記各授業の履修者を選出する、科目コード、授業コード、定員上限および現在の定員が対応付けられた定員テーブルと、履修仮決定フィールドおよび削除フィールドが設けられた履修希望テーブルと、科目コード、授業コードおよび曜日・講時が対応付けられた授業テーブルと、入力手段と、抽出手段と、判定手段と、選出手段と、決定手段と、エラー判定手段と、取消手段と、第２の選出手段と、第２の決定手段と、を備えたコンピュータを用いた希望者抽選方法において、
前記入力手段が、前記複数の希望者のうちどの希望者が、前記複数の授業のうちどの授業の履修をどれだけの優先順位で希望しているかを示す履修希望データを入力する入力工程と、
抽出手段が、前記入力工程で入力された履修希望データのうち、同一の授業の履修を同一の優先順位で希望しているものを抽出する抽出工程と、
前記判定手段が、前記定員テーブルを検索することにより、履修希望データで履修が希望されている前記科目コードおよび前記授業コードに基づいて、授業の空き定員数を取得し、前記抽出工程で抽出された履修希望データの個数が、当該履修希望データで履修が希望されている授業の空き定員数以下であるか否かを判定する判定工程と、
前記選出手段が、前記判定工程で前記履修希望データの個数が前記空き定員数以下でないと判定された場合に、前記各履修希望データについて乱数を発生するとともに、当該乱数の小さいものの順に前記空き定員数または前記新たな空き定員数の個数分だけの履修希望データを選出することにより、前記抽出工程で抽出された履修希望データの中から前記空き定員数の個数分だけの履修希望データを選出する選出工程と、
前記決定手段が、前記履修希望テーブルの前記履修仮決定フィールドに、履修仮決定済みの事実を示す所定の値を書き込むことにより、前記選出工程で選出された履修希望データで履修を希望している希望者を当該履修希望データで履修が希望されている授業の履修者として決定する決定工程と、
前記エラー判定手段が、授業テーブルを検索することにより、前記希望者ごとに、前記決定工程で履修者として決定された複数の授業の中に同一コマのものがないかどうかを判定するエラー判定工程と、
前記取消手段が、前記エラー判定工程で前記複数の授業の中に同一コマのものがあると判定された場合に、前記履修希望テーブルに格納された優先順位が最高のものを除く残りのレコードの前記削除フィールドに、履修の仮決定が取り消されたことを示す所定の値を書き込むことにより、当該複数の授業のうち一つを除く残りの授業について、前記決定工程でなされた履修者としての決定を取り消す取消工程と、
前記第２の選出手段が、前記取消工程で履修者としての決定が取り消された結果新たな空き定員が発生した授業について、前記各履修希望データについて乱数を発生するとともに、当該乱数の小さいものの順に前記空き定員数または前記新たな空き定員数の個数分だけの履修希望データを選出することにより、当該授業の履修を希望する履修希望データのうち前記選出工程で選出されなかったものの中から、前記新たな空き定員数の個数分だけの履修希望データを選出する第２の選出工程と、
前記前記第２の決定手段が、履修希望テーブルの前記履修仮決定フィールドに、履修仮決定済みの事実を示す所定の値を書き込むことにより、前記第２の選出工程で選出された履修希望データで履修を希望している希望者を当該履修希望データで履修が希望されている授業の履修者として決定する第２の決定工程と、
を前記コンピュータに実行させることを特徴とする希望者抽選方法。
【請求項４】
前記優先順位の衝突を発見した場合には、優先順位修正画面を作成し、当該画面のデータを前記希望者へ送信するエラーチェック工程を、
を前記コンピュータに実行させることを特徴とする前記請求項３に記載の希望者抽選方法。
【請求項５】
前記請求項３または４に記載された方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、複数の授業の履修を希望する複数の希望者の中から各授業の履修者を選出する希望者抽選システム、希望者抽選方法およびその方法をコンピュータに実行させるプログラムに関する。
【０００２】
【従来の技術】
大学で開講されている種々の授業は、履修を義務づけられた必修科目の授業を除き、基本的には学生個人の意思にもとづいて自由に聴講できるものである。ただし、教室の座席数や実験器具の個数などといったリソースの観点から、現実に履修できる学生の数は自ずから制限される。
【０００３】
図２２に示すように、大学で開講される科目には「英語Ｉ」「経済概論」など複数のものがあり、一つの科目には異なる曜日・異なる講時に複数の授業（クラス）が用意されている。たとえば、「英語Ｉ」については鈴木教官が担当する月曜１コマ目のクラス、田中教官が担当する月曜２コマ目のクラス、佐藤教官が担当する月曜１コマ目のクラスの、計３つの授業が開講されている。
【０００４】
そして従来は、履修希望者が定員を超える授業については、（１）当該授業の第１回目に、出席した学生全員でその場で抽選をしたり、あるいは（２）特定の抽選日に全校生徒（あるいは同一学年の全生徒）を一同に集め、その場の抽選により各学生の順番を決めるとともに、その順番の早い学生から順に履修する授業を選択させたりしていた。
【０００５】
【発明が解決しようとする課題】
しかしながら上記（１）の場合には、最初の授業時の担当教官の負担が大きくなってしまう。また学生としても、同じ曜日・同じ講時（以下「同一コマ」という）に他にも興味のある授業があったとしても、当該授業の抽選には参加することさえできない。たとえば、図２２の例では月曜１コマ目に、鈴木教官の「英語Ｉ」の抽選に参加すると、佐藤教官の「英語Ｉ」や山本教官の「経済概論」の抽選は諦めざるを得ないことになる。
【０００６】
さらに、卒業単位として認定されるのは一科目につき一授業であるため、たとえば月曜１コマ目の鈴木教官の「英語Ｉ」と月曜２コマ目の田中教官の「英語Ｉ」というように、学生が誤って同一科目の複数の授業を希望し当選した場合には、一つを残して残りをキャンセルしなければならない。そして、これにより発生した空きを利用して、抽選に漏れた学生の間で再度抽選をおこなうのが望ましいが、実際には作業が煩雑であるために実施されていない。
【０００７】
一方、上記（２）の場合には、若い番号を引き当てた学生はどの授業もほぼ希望通りに取ることができるが、順番が後になるほど希望の授業はほとんど埋まってしまい、学生間の満足度のばらつきが大きくなってしまう（不公平感が強くなる）という問題点があった。
【０００８】
さらに、上記（１）（２）のいずれにも共通する問題として、どの授業に何人程度の履修希望者があったか、競争率はどの程度であったか、どの授業が定員を上回り、どの授業が定員を下回ったか、などといったデータが取れないため、次期の授業編成にあたっても全学生の希望に沿うようなプランニングができず、教室や教員といったリソースを有効に活用することができなかった。
【０００９】
なお、各学生に事前に履修届などのようなものを提出させることも考えられるが、現場の実態として、学生向けの説明会（履修に関するオリエンテーション）から実際の開講まで数日間しかないため、紙で提出された大量の履修届の内容をコンピュータ・システムに入力しきれないという問題点があった。また、学生自身により作成された書類には、二重登録（同一コマの複数の授業など、物理的に履修不可能な組み合わせで履修希望を登録してしまうこと）などのミスがしばしば存在する。
【００１０】
この発明は上記従来技術による問題を解決するため、各学生の各授業に対する履修希望の熱意に応じて、各授業の履修者を多数の希望者の中から公平かつ効率的に決定してゆくことが可能な希望者抽選システム、希望者抽選方法およびその方法をコンピュータに実行させるプログラムを提供することを目的とする。
【００１１】
【課題を解決するための手段】
上述した課題を解決し、目的を達成するため、この発明にかかる希望者抽選システムは、複数の授業の履修を希望する複数の希望者の中から前記各授業の履修者を選出する希望者抽選システムにおいて、前記複数の希望者のうちどの希望者が、前記複数の授業のうちどの授業の履修をどれだけの優先順位で希望しているかを示す履修希望データを入力する入力手段と、前記入力手段により入力された履修希望データのうち、同一の授業の履修を同一の優先順位で希望しているものを抽出する抽出手段と、前記抽出手段により抽出された履修希望データの個数が、当該履修希望データで履修が希望されている授業の空き定員数以下であるか否かを判定する判定手段と、前記判定手段により前記履修希望データの個数が前記空き定員数以下でないと判定された場合に、前記抽出手段により抽出された履修希望データの中から前記空き定員数の個数分だけの履修希望データを選出する選出手段と、前記選出手段により選出された履修希望データで履修を希望している希望者を当該履修希望データで履修が希望されている授業の履修者として決定する決定手段と、を備えたことを特徴とする。
【００１２】
この発明によれば、ある授業についてその定員を上回る履修希望があった場合は、当該授業の履修を希望する度合いの相対的に高い希望者が、また当該度合いが同一の希望者間では抽選により無作為に選出された希望者が、当該授業の履修者として順次充当される。
【００１３】
また、この発明にかかる希望者抽選システムは、上記の発明において、さらに、前記希望者ごとに、前記決定手段により履修者として決定された複数の授業の中に同一コマのものがないかどうかを判定するエラー判定手段と、前記エラー判定手段により前記複数の授業の中に同一コマのものがあると判定された場合に、当該複数の授業のうち一つを除く残りの授業について、前記決定手段によりなされた履修者としての決定を取り消す取消手段と、を備えたことを特徴とする。
【００１４】
この発明によれば、ある希望者が現実的に履修不可能な授業に当選する一方で、他の希望者が抽選に漏れて当該授業を履修できないといった無駄が発生しない。
【００１５】
また、この発明にかかる希望者抽選システムは、上記の発明において、さらに、前記取消手段により履修者としての決定が取り消された結果新たな空き定員が発生した授業について、当該授業の履修を希望する履修希望データのうち前記選出手段により選出されなかったものの中から、前記新たな空き定員数の個数分だけの履修希望データを選出する第２の選出手段と、前記第２の選出手段により選出された履修希望データで履修を希望している希望者を当該履修希望データで履修が希望されている授業の履修者として決定する第２の決定手段と、を備えたことを特徴とする。
【００１６】
この発明によれば、履修不可能な授業の当選取消により発生した新たな空きを利用して、前回の抽選に漏れた希望者を対象に履修者の再抽選が実施される。
【００１７】
また、この発明にかかる希望者抽選システムは、上記の発明において、前記選出手段および／または第２の選出手段が、前記各履修希望データについて乱数を発生するとともに、当該乱数の小さいものの順に前記空き定員数または前記新たな空き定員数の個数分だけの履修希望データを選出することを特徴とする。
【００１８】
この発明によれば、ある授業についてその定員を上回る履修希望があった場合は、当該授業の履修を希望する度合いの相対的に高い希望者が、また当該度合いが同一の希望者間では乱数を用いた抽選により無作為に選出された希望者が、当該授業の履修者として順次充当される。
【００１９】
また、この発明にかかる希望者抽選方法は、複数の授業の履修を希望する複数の希望者の中から前記各授業の履修者を選出する希望者抽選方法において、前記複数の希望者のうちどの希望者が、前記複数の授業のうちどの授業の履修をどれだけの優先順位で希望しているかを示す履修希望データを入力する入力工程と、前記入力工程で入力された履修希望データのうち、同一の授業の履修を同一の優先順位で希望しているものを抽出する抽出工程と、前記抽出工程で抽出された履修希望データの個数が、当該履修希望データで履修が希望されている授業の空き定員数以下であるか否かを判定する判定工程と、前記判定工程で前記履修希望データの個数が前記空き定員数以下でないと判定された場合に、前記抽出工程で抽出された履修希望データの中から前記空き定員数の個数分だけの履修希望データを選出する選出工程と、前記選出工程で選出された履修希望データで履修を希望している希望者を当該履修希望データで履修が希望されている授業の履修者として決定する決定工程と、を含んだことを特徴とする。
【００２０】
この発明によれば、ある授業についてその定員を上回る履修希望があった場合は、当該授業の履修を希望する度合いの相対的に高い希望者が、また当該度合いが同一の希望者間では抽選により無作為に選出された希望者が、当該授業の履修者として順次充当される。
【００２１】
また、この発明にかかる希望者抽選方法は、上記の発明において、さらに、前記希望者ごとに、前記決定工程で履修者として決定された複数の授業の中に同一コマのものがないかどうかを判定するエラー判定工程と、前記エラー判定工程で前記複数の授業の中に同一コマのものがあると判定された場合に、当該複数の授業のうち一つを除く残りの授業について、前記決定工程でなされた履修者としての決定を取り消す取消工程と、を含んだことを特徴とする。
【００２２】
この発明によれば、ある希望者が現実的に履修不可能な授業に当選する一方で、他の希望者が抽選に漏れて当該授業を履修できないといった無駄が発生しない。
【００２３】
また、この発明にかかる希望者抽選方法は、上記の発明において、さらに、前記取消工程で履修者としての決定が取り消された結果新たな空き定員が発生した授業について、当該授業の履修を希望する履修希望データのうち前記選出工程で選出されなかったものの中から、前記新たな空き定員数の個数分だけの履修希望データを選出する第２の選出工程と、前記第２の選出工程で選出された履修希望データで履修を希望している希望者を当該履修希望データで履修が希望されている授業の履修者として決定する第２の決定工程と、を含んだことを特徴とする。
【００２４】
この発明によれば、履修不可能な授業の当選取消により発生した新たな空きを利用して、前回の抽選に漏れた希望者を対象に履修者の再抽選が実施される。
【００２５】
また、この発明にかかる希望者抽選方法は、上記の発明において、前記選出工程および／または第２の選出工程では、前記各履修希望データについて乱数を発生するとともに、当該乱数の小さいものの順に前記空き定員数または前記新たな空き定員数の個数分だけの履修希望データを選出することを特徴とする。
【００２６】
この発明によれば、ある授業についてその定員を上回る履修希望があった場合は、当該授業の履修を希望する度合いの相対的に高い希望者が、また当該度合いが同一の希望者間では乱数を用いた抽選により無作為に選出された希望者が、当該授業の履修者として順次充当される。
【００２７】
また、この発明にかかるプログラムによれば、上記のいずれか一つに記載された方法がコンピュータによって実行される。
【００２８】
【発明の実施の形態】
以下に添付図面を参照して、この発明による希望者抽選システム、希望者抽選方法およびその方法をコンピュータに実行させるプログラムの好適な実施の形態を詳細に説明する。
【００２９】
（システム構成）
図１は、この発明の実施の形態による希望者抽選システムのシステム構成を示す説明図である。まず１００は、後述するＷｅｂサーバ１０１のクライアントであり、具体的には各学生が自宅などに保持するパーソナル・コンピュータである。クライアント１００は図示しないＩＳＰなどを介してインターネットに接続され、Ｗｅｂサーバ１０１が保持するＷｅｂページを読み込むとともに、当該ページ上のフォームに対する操作者からの入力を受け付けて、入力内容をＷｅｂサーバ１０１に送信する。
【００３０】
１０１はインターネットに接続されたＷｅｂサーバであり、後述するような履修希望登録のための各種のＷｅｂページを保持するとともに、当該ページを要求してきたクライアント１００にそのデータを送信する。また、Ｗｅｂサーバ１０１はクライアント１００から送信されてきた、上記Ｗｅｂページに対する各学生の入力内容（履修希望データ）を、後述する抽選用ＰＣ１０２に転送する。
【００３１】
１０２は抽選用ＰＣであり、各学生の履修希望を授業ごとに集計して、希望者が定員を超過する授業については後述する手順により履修者の抽選をおこなうとともに、抽選結果をファイルに出力したりプリンタに出力したりする。なお、Ｗｅｂサーバ１０１と抽選用ＰＣ１０２とは大学構内のＬＡＮにより接続されている。
【００３２】
（システムのハードウエア構成）
つぎに、上記システムの構成要素であるクライアント１００、Ｗｅｂサーバ１０１および抽選用ＰＣ１０２のハードウエア構成について説明する。説明の便宜上、これらのコンピュータはいずれも同一の構成を有するものとするが、必ずしも３者が同一の構成である必要はない。また、以下に説明する構成は一例であって、これ以外の構成であってもよい。
【００３３】
図２はクライアント１００、Ｗｅｂサーバ１０１または抽選用ＰＣ１０２のハードウエア構成の一例を示す説明図である。同図において、２０１は装置全体を制御するＣＰＵを、２０２は基本入出力プログラムを記憶したＲＯＭを、２０３はＣＰＵ２０１のワークエリアとして使用されるＲＡＭを、それぞれ示している。
【００３４】
また、２０４はＣＰＵ２０１の制御にしたがってＨＤ（ハードディスク）２０５に対するデータのリード／ライトを制御するＨＤＤ（ハードディスクドライブ）を、２０５はＨＤＤ２０４の制御にしたがって書き込まれたデータを記憶するＨＤを、それぞれ示している。また、２０６はＣＰＵ２０１の制御にしたがってＦＤ（フレキシブルディスク）２０７に対するデータのリード／ライトを制御するＦＤＤ（フレキシブルディスクドライブ）を、２０７はＦＤＤ２０６の制御にしたがって書き込まれたデータを記憶する着脱自在のＦＤを、それぞれ示している。
【００３５】
また、２０８はカーソル、メニュー、ウィンドウ、あるいは文字や画像などの各種データを表示するディスプレイを、２０９は通信ケーブル２１０を介してＬＡＮやＷＡＮなどのネットワークに接続され、当該ネットワークとＣＰＵ２０１とのインターフェースとして機能するネットワークＩ／Ｆを、それぞれ示している。
【００３６】
また、２１１は文字、数値、各種指示などの入力のための複数のキーを備えたキーボードを、２１２は各種指示の選択や実行、処理対象の選択、マウスポインタの移動などをおこなうマウスを、それぞれ示している。また、２１３は着脱可能な記録媒体であるＣＤ−ＲＷを、２１４はＣＤ−ＲＷ２１３に対するデータのリード／ライトを制御するＣＤ−ＲＷドライブを、２００は上記各部を接続するためのバスまたはケーブルを、それぞれ示している。
【００３７】
（システムの機能的構成）
つぎに、図３はこの発明の実施の形態による希望者抽選システムの構成を機能的に示す説明図である。図中、３００ｘはクライアント１００、３０１ｘはＷｅｂサーバ１０１、３０２ｘは抽選用ＰＣ１０２の機能部である。各部の機能の詳細は主に後述するフローチャートで説明することとし、ここではその概略を述べるにとどめる。
【００３８】
クライアント１００の通信部３００ａは、Ｗｅｂサーバ１０１（の後述する通信部３０１ａ）との間のデータの送受信を制御する機能部である。入力部３００ｂは、クライアント１００の操作者から各種のコマンドやデータの入力を受け付ける機能部である。表示部３００ｃは、通信部３００ａで受信したデータや入力部３００ｂで受け付けたデータなどを表示画面に表示する機能部である。
【００３９】
Ｗｅｂサーバ１０１の通信部３０１ａは、クライアント１００（の通信部３００ａ）や抽選用ＰＣ１０２（の後述する通信部３０２ａ）との間のデータの送受信を制御する機能部である。Ｗｅｂページ管理部３０１ｂは、あらかじめ保持しているＷｅｂページのデータに、必要に応じて後述する各種テーブル内のデータをはめ込むことで、後述する履修科目選択画面、履修授業選択画面などの各種のＷｅｂページを作成する機能部である。エラーチェック部３０１ｃは、クライアント１００で選択された複数の授業の中に、同一コマで同一優先順位（優先順位については後述）のものが含まれていないかどうかをチェックする機能部である。
【００４０】
科目テーブル３０１ｄは図４に示すように、開講される各科目の科目コードと科目名称とを対応づけて保持するテーブルである。授業テーブル３０１ｅは図５に示すように、個々の科目のもとで開講される個々の授業について、その科目コードや授業コード、授業名称、教室コード、曜日・講時などの詳細情報を保持するテーブルである。教室テーブル３０１ｆは図６に示すように、各教室の教室コードと定員とを対応づけて保持するテーブルである。学籍テーブル３０１ｇは図７に示すように、各学生の学生番号、所属学部、学年、氏名などの個人情報を保持するテーブルである。
【００４１】
図３に戻り、つぎに抽選用ＰＣ１０２の通信部３０２ａは、Ｗｅｂサーバ１０１（の通信部３０１ａ）との間のデータの送受信を制御する機能部である。履修者決定部３０２ｂは、後述する履修希望テーブル３０２ｅと定員テーブル３０２ｆとを参照して、個々の授業における個々の学生の履修可否を決定する機能部である。抽選部３０２ｃは、ある授業にその定員以上の履修希望者があった場合に、抽選により履修者を選択する機能部である。エラーチェック部３０２ｄは履修者決定部３０２ｂによる決定内容に、授業の重複や衝突などのエラーがないかどうかをチェックする機能部である。
【００４２】
履修希望テーブル３０２ｅは図８に示すように、履修希望者の学生番号、当該希望者が履修を希望する科目と授業、希望の優先順位（優先順位については後述）、当該授業が開講される曜日・講時など、個々の履修希望の詳細情報を保持するテーブルである。このテーブルには履修者決定部３０２ｂによる作業結果を書き込むための「履修仮決定」フィールドと「削除」フィールドが設けられているが、初期状態ではいずれも空欄である。
【００４３】
定員テーブル３０２ｆは図９に示すように、各科目の各授業について、その科目コード、授業コード、授業名称、定員上限などを対応づけて保持するテーブルである。なお、科目コード、授業コードおよび授業名称は、Ｗｅｂサーバ１０１が保持している図５の授業テーブル３０１ｅから引き写してきたものであり、定員上限はさらに図６の教室テーブル３０１ｆを参照して求められたものである。なお、定員テーブル３０２ｆには履修者決定部３０２ｂによる作業結果を書き込むための「現在の定員」フィールドが設けられているが、初期状態ではいずれのレコードにも初期値「０」がセットされている。
【００４４】
なお、上述した３００ａ〜３００ｃ、３０１ａ〜３０１ｃ、３０２ａ〜３０２ｄの各機能部は、それぞれＨＤ２０５などからＲＡＭ２０３に読み出されたプログラムの命令にしたがってＣＰＵ２０１が命令処理を実行することにより実現されるものである。このプログラムはＨＤ２０５のほか、ＦＤ２０７、ＣＤ−ＲＯＭあるいはＭＯなどの各種記録媒体に格納して配布することができ、あるいはネットワークを介して配布することもできる。また、３０１ｄ〜３０１ｇ、３０２ｅ・３０２ｆの各テーブルは、具体的にはＨＤ２０５に保持されている。
【００４５】
（履修希望登録処理）
つぎに、図１０はこの発明の実施の形態による希望者抽選システムにおける、各学生の履修希望の登録処理の手順を示すフローチャートである。
【００４６】
クライアント１００は、その入力部３００ｂにより履修希望登録の開始指示、具体的にはＷｅｂサーバ１０１上の所定のＷｅｂページ（後述する履修科目選択画面）の読み込み指示を受け付けると、つぎにその通信部３００ａから、Ｗｅｂサーバ１０１に対して上記Ｗｅｂページのデータを送信するよう要求する（ステップＳ１００１）。
【００４７】
これをその通信部３０１ａで受けたＷｅｂサーバ１０１は、Ｗｅｂページ管理部３０１ｂに保持している上記ページのデータを、同じく通信部３０１ａからクライアント１００に返信する（ステップＳ１００２）。上記データをその通信部３００ａで受信したクライアント１００は、つぎにその表示部３００ｃにより、図１１に示すような履修科目選択画面（履修希望登録のトップ画面）を表示する（ステップＳ１００３）。
【００４８】
図１１の画面で、操作者が「登録」ボタン１１００を押下したことを入力部３００ｂが検知すると、つぎにクライアント１００はその通信部３００ａから、上記ボタンの押下時点で選択されているすべての科目名（すなわち、そのチェックボックスにチェックが入っている全科目名）をＷｅｂサーバ１０１に送信する（ステップＳ１００４）。ここでは、操作者が履修を希望する科目として「スポーツ」「英語Ｉ」「経済概論」の３つが選択されたものとする。
【００４９】
なお、各科目には配当対象年次があるため（２年生以上でなければ履修できない、など）、Ｗｅｂサーバ１０１はクライアント１００の操作者の学生番号から、学籍テーブル３０１ｇを参照してその学年を特定するとともに、複数保持している履修科目選択画面のうち、当該学年の学生が履修可能な科目のみからなるものを一つ選んで返信する。もっとも、全学年につき同一の履修科目選択画面を返し、当該画面中で配当対象年次を明記するようにしてもよい。
【００５０】
上記で提出された科目名を通信部３０１ａで受信したＷｅｂサーバ１０１は、つぎにそのＷｅｂページ管理部３０１ｂにより図４の科目テーブル３０１ｄを参照して、上記各科目の科目コードを取得する。さらに、当該科目コードにより図５の授業テーブル３０１ｅを検索して、上記各科目につき開講される各授業の詳細、たとえばその指導教官や開講曜日・講時などを取り出す。そして、あらかじめ保持しているＷｅｂページ内のリストボックスにこれらの詳細情報をセットすることで、後述する履修授業選択画面を作成する（ステップＳ１００５）。
【００５１】
この後、Ｗｅｂサーバ１０１はＷｅｂページ管理部３０１ｂで作成した上記ページのデータを、その通信部３０１ａからクライアント１００に送信する（ステップＳ１００６）。上記データをその通信部３００ａで受信したクライアント１００は、つぎにその表示部３００ｃにより、図１２に示すような履修授業選択画面を表示する（ステップＳ１００７）。
【００５２】
図１２の画面では、図１１の画面で選択した個々の科目について、開講される複数の授業のうちどの授業を履修したいかを選択する。たとえば「英語Ｉ」の「第１希望」欄にある下矢印ボタン１２００を押下すると、図１３に示すようなリストボックス１３００が現れ、「英語Ｉ」について開講される３つの授業の中からいずれか一つを第１希望として選択できる。ただし、図１２中「スポーツ」のように、もともと一科目につき一授業しか開講されない科目については、当該唯一の授業が第１希望としてあらかじめ選択された状態である。
【００５３】
ここでは、図１４に示すような組み合わせで各授業の履修希望が入力されたものとする。そして、図示する画面で操作者が「確認」ボタン１４００を押下したことを入力部３００ｂが検知すると、上記入力データ（どの学生がどの科目につきどの授業をどんな順序で希望したかを示すデータ）は通信部３００ａ・３０１ａを経て、Ｗｅｂサーバ１０１のエラーチェック部３０１ｃに引き渡される（ステップＳ１００８）。
【００５４】
これを受けたエラーチェック部３０１ｃでは、上記データ中で、同一のコマに同一の優先順位で複数の授業が選択されていないかどうかをチェックする。ここで優先順位とは、希望者にとっての優先順位であり、たとえば第１希望として選択された授業の優先順位は数値「１０」で表現される。同様に、第２希望の授業の優先順位は「２０」、第３希望の授業の優先順位は「３０」・・・というように、第ｘ希望の授業の優先順位は１０の位がｘ、１の位が０の２桁の値で表される。
【００５５】
図１５（ａ）は図１４に示した選択例において、ステップＳ１００８でクライアント１００からＷｅｂサーバ１０１に提出される履修希望データ（後述する優先順位の修正前の初期データ）の一例である。このデータに同図（ｂ）に示すように、図５の授業テーブル３０１ｅから読み出した曜日・講時のフィールドを付加し、さらに（ｃ）に示すように、この曜日・講時で並び替えをおこなうと、たとえば月曜１コマについて、鈴木教授担当の「英語Ｉ」と山本教授担当の「経済概論」とが、いずれも第１希望（優先順位＝１０）で選択されていることが分かる。
【００５６】
そして、エラーチェック部３０１ｃでこのような優先順位の衝突（エラー）を発見した場合には（ステップＳ１００９：Ｙｅｓ）、Ｗｅｂサーバ１０１はＷｅｂページ管理部３０１ｂにより、後述する優先順位修正画面を作成するとともに（ステップＳ１０１０）、当該Ｗｅｂページのデータを通信部３０１ａからクライアント１００に送信する（ステップＳ１０１１）。
【００５７】
上記データをその通信部３００ａで受信したクライアント１００は、つぎにその表示部３００ｃにより、図１６に示すような優先順位修正画面を表示する（ステップＳ１０１２）。そして操作者が、同一コマ・同一優先順位の複数の授業のうち、たとえば「英語Ｉ」の優先順位を１１以上１９以下のいずれかの値（いわば第１希望と第２希望との中間を意味する値）に修正して、「確認」ボタン１６００を押下すると、この操作を受け付けた入力部３００ｂから通信部３００ａ・３０１ａを経て、この修正後の優先順位がＷｅｂサーバ１０１のエラーチェック部３０１ｃに送信される（ステップ１０１３）。
【００５８】
Ｗｅｂサーバ１０１では、エラーチェック部３０１ｃによる上記と同様のエラーチェックの結果、もし優先順位の衝突が解消されている、すなわち同一コマの中で選択された各授業の優先順位がそれぞれ異なっていれば（ステップＳ１００９：Ｎｏ）、ステップＳ１００８で受信した履修希望データを、ステップＳ１０１３で受信した修正後の優先順位で修正の上、通信部３０１ａから抽選用ＰＣ１０２に送信する（ステップＳ１０１４）。
【００５９】
これをその通信部３０２ａで受信した抽選用ＰＣ１０２は、上記データをその履修希望テーブル３０２ｅに格納する。図１５（ｄ）は、月曜１コマで山本教授の「経済概論」と衝突する鈴木教授の「英語Ｉ」の優先順位を、操作者が１０から１５に修正した場合の履修希望データを示している。この修正後のデータが順次蓄積されることで、図８に示した履修希望テーブル３０２ｅが完成する。
【００６０】
また、Ｗｅｂサーバ１０１は抽選用ＰＣ１０２へのデータ転送（ステップＳ１０１４）と平行して、そのＷｅｂページ管理部３０１ｂにより、修正後の履修希望データにもとづいて後述する履修希望一覧画面を作成する（ステップＳ１０１５）。そして、当該Ｗｅｂページのデータは通信部３０１ａ・３００ａを介してクライアント１００の表示部３００ｃに引き渡され（ステップＳ１０１６）、図１７に示すように画面表示される（ステップＳ１０１７）。図中、複数の授業が選択されているコマ（たとえば月曜１コマ）については、画面下部の備考欄１７００に選択されている全授業が表示される。
【００６１】
（履修者決定処理）
つぎに、図１８および図１９はこの発明の実施の形態による希望者抽選システムにおける、各授業の履修者の決定処理の手順を示すフローチャートである。この処理は、あらかじめ通告された履修希望登録の期限が過ぎて、履修希望テーブル３０２ｅ内に全学生分の履修希望データが蓄積された時点で実行される。
【００６２】
まず、抽選用ＰＣ１０２の履修者決定部３０２ｂは、図８に示した履修希望テーブル３０２ｅの「履修仮決定」フィールドと「削除」フィールド、および図９に示した定員テーブル３０２ｆの「現在の定員」フィールドをそれぞれ初期化する（図１８ステップＳ１８０１）。その後、図１９に示す手順により個々の授業について履修者の仮決定をおこなう（ステップＳ１８０２）。
【００６３】
まず、ある一つの科目のある一つの授業を選択するとともに（図１９ステップＳ１９０１）、履修希望テーブル３０２ｅから、当該授業に対するすべての履修希望を作業用の一時テーブルに取り出す（ステップＳ１９０２）。さらに、上記一時テーブルに取り出したレコードを優先順位の値の昇順で並べ替え（ステップＳ１９０３）、上から順に同一優先順位のレコードの集合を一つ取り出す（ステップＳ１９０４）。
【００６４】
そして、当該集合内のレコード数、すなわち上記授業の履修を同じ優先順位で希望している学生の数が、定員テーブル３０２ｆから把握される当該授業の残り定員（＝「定員上限」−「現在の定員」）以下であれば（ステップＳ１９０５：Ｙｅｓ）、ステップＳ１９０４で取り出した各レコードの「履修仮決定」フィールドに履修仮決定済みの事実を示す所定の値をセットして、履修希望テーブル３０２ｅに書き戻す（ステップＳ１９０６）。
【００６５】
さらに、履修が仮決定された希望者の人数、すなわちステップＳ１９０６で書き戻したレコードの個数を定員テーブル３０２ｆの「現在の定員」フィールドに加算する（ステップＳ１９０７）。
【００６６】
その後、上記授業につき未処理の希望者がまだ残っている、すなわちステップＳ１９０２で一時テーブルに取り出したレコードのうちまだ履修希望テーブル３０２ｅに書き戻していないものがあれば（ステップＳ１９０８：Ｙｅｓ）、再度同一優先順位のレコードの集合を取り出して（ステップＳ１９０４）、上記授業の定員が埋まるまで履修者の仮決定を繰り返す（ステップＳ１９０５）。
【００６７】
そして、定員超過となる前に上記一時テーブル内のレコードがなくなれば、上記授業の履修希望者は全員希望通りに当該授業を履修できることになるが、レコードがなくなるまでのいずれかの時点で定員超過となった場合、すなわち注目している同一優先順位のレコードの集合に、定員テーブル３０２ｆから把握される残り定員以上のレコードが含まれていた場合は（ステップＳ１９０５：Ｎｏ）、抽選用ＰＣ１０２はつぎにその抽選部３０２ｃにより、同一優先順位の希望者の間で履修者の抽選をおこなう（ステップＳ１９０９）。
【００６８】
具体的には、たとえば同一優先順位の希望者ごと（同一優先順位のレコードごと）に乱数を生成し、この乱数の値の小さい学生から順に、定員に達するまで上記授業に充当してゆくものとする。ただし、このとき最終年次の学生をそれ以外の年次の学生より有利に扱うものとする。すなわち、第１〜３年次の学生については乱数生成は１回であるが、第４年次の学生については各人につき５回ずつ乱数を生成し、その最小値を当該学生の保持する乱数とする。そして、乱数の小さい順に残り定員分だけのレコードを選択すると、抽選部３０２ｃはこの選択結果（抽選結果）を履修者決定部３０２ｂに通知する。
【００６９】
これを受けた履修者決定部３０２ｂでは、上記で選択されたレコード、すなわち定員内にいわば滑り込んだ学生のレコードの「履修仮決定」フィールドに、履修仮決定済みの事実を示す所定の値をセットして、履修希望テーブル３０２ｅに書き戻す。一方、同一優先順位でも乱数の値が大きかったために定員内に入れなかった学生のレコード、および上述の一時テーブルにまだ残っている、より低い優先順位で上記授業を希望している学生のレコードは、そのまま履修希望テーブル３０２ｅに書き戻す（ステップＳ１９１０）。なお、定員テーブル３０２ｆの「現在の定員」フィールドには、履修が仮決定された希望者の人数のみを加算する（ステップＳ１９１１）。
【００７０】
そして、ある授業につき希望者の全部、あるいは抽選によりその一部を履修仮決定した後は、それ以外の別の授業について上記と同様の処理を繰り返し（ステップＳ１９０１に戻る）、すべての科目のすべての授業につき上記処理を終えた時点で（ステップＳ１９１２：Ｎｏ）、本フローチャートによる履修者仮処理を終了して、図１８のステップＳ１８０３に戻る。
【００７１】
つぎに、抽選用ＰＣ１０２はそのエラーチェック部３０２ｄにより、履修希望テーブル３０２ｅを参照して、履修者決定部３０２ｂによる仮決定結果に衝突・矛盾などのエラーがないかどうかを学生ごとにチェックする。ここでチェックされるエラーには、具体的には下記の２種類がある。
【００７２】
（１）同一コマに複数の授業の履修が仮決定されている
同一曜日・同一講時に複数の授業を履修することは物理的に不可能である。
（２）同一科目について複数の授業の履修が仮決定されている
卒業に必要な単位として認定されるのは一科目につき一授業である。
【００７３】
いずれのケースでも、複数の授業のうちいずれか一つを除いて、いったんされた履修の仮決定を取り消さなければならない（もっとも、上記（２）については他の希望者がない限りで許容する方針としてもよい。卒業単位にならないとしても、個人の意思で履修することは何ら差し支えないからである）。そして、ここでは優先順位の最も高い授業のみを残し、それ以外の授業をキャンセルとして扱うものとする。
【００７４】
エラーチェック部３０２ｄは、学生ごとに上記エラーの有無をチェックして、エラーを発見した場合は（ステップＳ１８０３：Ｙｅｓ）、衝突する複数のレコードのうち優先順位が最高（その値が最小）のものを除く、残りのレコードの「削除」フィールドに、履修の仮決定が取り消されたことを示す所定の値を書き込む（ステップＳ１８０４）。
【００７５】
そして上記チェックを終えると、エラーチェック部３０２ｄは上記で更新後の履修希望テーブル３０２ｅを参照して、各科目の各授業ごとに現在の定員（履修が仮決定されている希望者の人数）を集計し、定員テーブル３０２ｆの「現在の定員」フィールドにそれぞれ書き込む（ステップＳ１８０５）。
【００７６】
この時点で、履修希望テーブル３０２ｅ中、
（１）「履修仮決定」フィールドのみにマークが入っている（所定の値がセットされている）レコードは、そのまま受理された履修希望
（２）「履修仮決定」フィールドと「削除」フィールドの双方にマークが入っているレコードは、それ自体は受理されなかったものの、代わりに同一科目の別の授業や同一コマの別の授業が受理された履修希望
（３）「履修仮決定」フィールドにも「削除」フィールドにもマークが入っていないレコードは、抽選に漏れ、しかも同一科目の別の授業や同一コマの別の授業も取れていない履修希望
である。
【００７７】
上記のうち、（１）（２）については学生の希望が完全に、あるいは別の形で満たされているので、履修希望テーブル３０２ｅ内のすべてのレコードが（１）または（２）の類型であれば（ステップＳ１８０６：Ｙｅｓ）、そのまま本フローチャートによる処理を終了すればよい。
【００７８】
しかし、通常は（３）のように、満足されていない履修希望が履修希望テーブル３０２ｅ内に残っているので（ステップＳ１８０６：Ｎｏ）、つぎにこれらのレコードに限って、仮決定の取り消しにより発生した新たな空き定員の範囲で、再度図１９に示した履修者の仮決定をおこなう（ステップＳ１８０２）。
【００７９】
そして、再びエラーチェック部３０２ｄによるエラーチェックをおこない、すべての履修希望が希望通り満足されるか（ステップＳ１８０６：Ｙｅｓ）、エラーがなくなって新たな空き定員が発生しなくなるまで（ステップＳ１８０３：Ｎｏ）、履修者の仮決定と取り消しとを繰り返す。
【００８０】
以上説明した実施の形態によれば、どの科目のどの授業をどのくらいの優先順位で希望するかをきめ細かく指定することができ、上位の授業の抽選に漏れても下位の授業に当選する可能性が残されるので、従来のように、開講時にいずれの授業の抽選に参加するかでオール・オア・ナッシングになってしまうといったリスクが発生しない。また、抽選で若い番号を引いた学生ばかり希望の授業が取れ、そうでない学生は残り物ばかりになるといった不公平感を解消し、各学生の満足度合いに大きなばらつきが発生するのを抑えることができる。
【００８１】
さらに、各授業の履修者には優先順位の高い希望者から順に充填されるので、履修意欲のある学生が抽選に漏れる一方、たいして意欲のない学生がたまたま当選してしまうなどの無駄が発生せず、大学の持つ教育能力を意欲のある学生に最も効率的に配分することが可能である。さらに、二重登録などが原因で発生したキャンセルも残らず利用して希望者を充当するので、教室や実験器具などのリソースを最大限に活用することができる。
【００８２】
また、どの授業が学生に人気がありどの授業がないのか、といったデータが大学側に残るため、次期のカリキュラムを作成する際、開講する授業数の決定や各授業への教室の割り当てなどの基礎資料とすることができる。結果として、より学生のニーズに即したカリキュラムの編成が可能となる。
【００８３】
なお、上述した実施の形態では、本システムの導入先としてはもっぱら大学を想定したが、これ以外にも各種の学校法人、あるいは一般人を対象とするカルチャーセンターなど、複数の講座を有していて多数の希望者の抽選が必要になるようなあらゆる団体において、本システムの導入により業務の効率化をはかることができる。
【００８４】
また、上述した実施の形態では、履修希望の登録はもっぱらオンラインでおこなうようにしたが、オフラインで紙の履修届を提出させ、これらをＯＭＲ（Ｏｐｔｉｃａｌ  Ｍａｒｋ  Ｒｅａｄｅｒ：光学式マーク読み取り装置）やＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ：光学式文字読み取り装置）で読み取ることで、各学生の履修希望データをシステムに入力するようにしてもよい。
【００８５】
また、オンラインによる登録の場合も、個人用のＰＣを持っていない学生もいるので、学内に専用端末を設置して、ここから各人が履修希望を自由に登録できるようにしてもよい。また、インターネットに接続可能な携帯電話を使って履修登録ができるようにしてもよい。図２０は、オンラインやオフラインなど種々の登録方法を併用した場合の本システムの構成例を示している。また、図２１は携帯電話から履修希望登録をおこなう場合の画面の一例である。
【００８６】
【発明の効果】
以上説明したようにこの発明は、複数の授業の履修を希望する複数の希望者の中から前記各授業の履修者を選出する希望者抽選システムにおいて、前記複数の希望者のうちどの希望者が、前記複数の授業のうちどの授業の履修をどれだけの優先順位で希望しているかを示す履修希望データを入力する入力手段と、前記入力手段により入力された履修希望データのうち、同一の授業の履修を同一の優先順位で希望しているものを抽出する抽出手段と、前記抽出手段により抽出された履修希望データの個数が、当該履修希望データで履修が希望されている授業の空き定員数以下であるか否かを判定する判定手段と、前記判定手段により前記履修希望データの個数が前記空き定員数以下でないと判定された場合に、前記抽出手段により抽出された履修希望データの中から前記空き定員数の個数分だけの履修希望データを選出する選出手段と、前記選出手段により選出された履修希望データで履修を希望している希望者を当該履修希望データで履修が希望されている授業の履修者として決定する決定手段と、を備えたので、ある授業についてその定員を上回る履修希望があった場合は、当該授業の履修を希望する度合いの相対的に高い希望者が、また当該度合いが同一の希望者間では抽選により無作為に選出された希望者が、当該授業の履修者として順次充当され、これによって、各学生の各授業に対する履修希望の熱意に応じて、各授業の履修者を多数の希望者の中から公平かつ効率的に決定してゆくことが可能な希望者抽選システムが得られるという効果を奏する。
【００８７】
また、この発明は、上記の発明において、さらに、前記希望者ごとに、前記決定手段により履修者として決定された複数の授業の中に同一コマのものがないかどうかを判定するエラー判定手段と、前記エラー判定手段により前記複数の授業の中に同一コマのものがあると判定された場合に、当該複数の授業のうち一つを除く残りの授業について、前記決定手段によりなされた履修者としての決定を取り消す取消手段と、を備えたので、ある希望者が現実的に履修不可能な授業に当選する一方で、他の希望者が抽選に漏れて当該授業を履修できないといった無駄が発生せず、これによって、各学生の各授業に対する履修希望の熱意に応じて、多数の希望者の中から履修者を効率的に決定してゆくことが可能な希望者抽選システムが得られるという効果を奏する。
【００８８】
また、この発明は、上記の発明において、さらに、前記取消手段により履修者としての決定が取り消された結果新たな空き定員が発生した授業について、当該授業の履修を希望する履修希望データのうち前記選出手段により選出されなかったものの中から、前記新たな空き定員数の個数分だけの履修希望データを選出する第２の選出手段と、前記第２の選出手段により選出された履修希望データで履修を希望している希望者を当該履修希望データで履修が希望されている授業の履修者として決定する第２の決定手段と、を備えたので、履修不可能な授業の当選取消により発生した新たな空きを利用して、前回の抽選に漏れた希望者を対象に履修者の再抽選が実施され、これによって、各学生の各授業に対する履修希望の熱意に応じて、多数の希望者の中から履修者を効率的に決定してゆくことが可能な希望者抽選システムが得られるという効果を奏する。
【００８９】
また、この発明は、上記の発明において、前記選出手段および／または第２の選出手段が、前記各履修希望データについて乱数を発生するとともに、当該乱数の小さいものの順に前記空き定員数または前記新たな空き定員数の個数分だけの履修希望データを選出するので、ある授業についてその定員を上回る履修希望があった場合は、当該授業の履修を希望する度合いの相対的に高い希望者が、また当該度合いが同一の希望者間では乱数を用いた抽選により無作為に選出された希望者が、当該授業の履修者として順次充当され、これによって、各学生の各授業に対する履修希望の熱意に応じて、各授業の履修者を多数の希望者の中から公平かつ効率的に決定してゆくことが可能な希望者抽選システムが得られるという効果を奏する。
【００９０】
また、この発明は、複数の授業の履修を希望する複数の希望者の中から前記各授業の履修者を選出する希望者抽選方法において、前記複数の希望者のうちどの希望者が、前記複数の授業のうちどの授業の履修をどれだけの優先順位で希望しているかを示す履修希望データを入力する入力工程と、前記入力工程で入力された履修希望データのうち、同一の授業の履修を同一の優先順位で希望しているものを抽出する抽出工程と、前記抽出工程で抽出された履修希望データの個数が、当該履修希望データで履修が希望されている授業の空き定員数以下であるか否かを判定する判定工程と、前記判定工程で前記履修希望データの個数が前記空き定員数以下でないと判定された場合に、前記抽出工程で抽出された履修希望データの中から前記空き定員数の個数分だけの履修希望データを選出する選出工程と、前記選出工程で選出された履修希望データで履修を希望している希望者を当該履修希望データで履修が希望されている授業の履修者として決定する決定工程と、を含んだので、ある授業についてその定員を上回る履修希望があった場合は、当該授業の履修を希望する度合いの相対的に高い希望者が、また当該度合いが同一の希望者間では抽選により無作為に選出された希望者が、当該授業の履修者として順次充当され、これによって、各学生の各授業に対する履修希望の熱意に応じて、各授業の履修者を多数の希望者の中から公平かつ効率的に決定してゆくことが可能な希望者抽選方法が得られるという効果を奏する。
【００９１】
また、この発明は、上記の発明において、さらに、前記希望者ごとに、前記決定工程で履修者として決定された複数の授業の中に同一コマのものがないかどうかを判定するエラー判定工程と、前記エラー判定工程で前記複数の授業の中に同一コマのものがあると判定された場合に、当該複数の授業のうち一つを除く残りの授業について、前記決定工程でなされた履修者としての決定を取り消す取消工程と、を含んだので、ある希望者が現実的に履修不可能な授業に当選する一方で、他の希望者が抽選に漏れて当該授業を履修できないといった無駄が発生せず、これによって、各学生の各授業に対する履修希望の熱意に応じて、多数の希望者の中から履修者を効率的に決定してゆくことが可能な希望者抽選方法が得られるという効果を奏する。
【００９２】
また、この発明は、上記の発明において、さらに、前記取消工程で履修者としての決定が取り消された結果新たな空き定員が発生した授業について、当該授業の履修を希望する履修希望データのうち前記選出工程で選出されなかったものの中から、前記新たな空き定員数の個数分だけの履修希望データを選出する第２の選出工程と、前記第２の選出工程で選出された履修希望データで履修を希望している希望者を当該履修希望データで履修が希望されている授業の履修者として決定する第２の決定工程と、を含んだので、履修不可能な授業の当選取消により発生した新たな空きを利用して、前回の抽選に漏れた希望者を対象に履修者の再抽選が実施され、これによって、各学生の各授業に対する履修希望の熱意に応じて、多数の希望者の中から履修者を効率的に決定してゆくことが可能な希望者抽選方法が得られるという効果を奏する。
【００９３】
また、この発明は、上記の発明において、前記選出工程および／または第２の選出工程では、前記各履修希望データについて乱数を発生するとともに、当該乱数の小さいものの順に前記空き定員数または前記新たな空き定員数の個数分だけの履修希望データを選出するので、ある授業についてその定員を上回る履修希望があった場合は、当該授業の履修を希望する度合いの相対的に高い希望者が、また当該度合いが同一の希望者間では乱数を用いた抽選により無作為に選出された希望者が、当該授業の履修者として順次充当され、これによって、各学生の各授業に対する履修希望の熱意に応じて、各授業の履修者を多数の希望者の中から公平かつ効率的に決定してゆくことが可能な希望者抽選方法が得られるという効果を奏する。
【００９４】
また、この発明によれば、上記のいずれか一つに記載された方法をコンピュータに実行させることが可能なプログラムが得られるという効果を奏する。
【図面の簡単な説明】
【図１】この発明の実施の形態による希望者抽選システムのシステム構成を示す説明図である。
【図２】この発明の実施の形態によるクライアント１００、Ｗｅｂサーバ１０１または抽選用ＰＣ１０２のハードウエア構成を示す説明図である。
【図３】この発明の実施の形態による希望者抽選システムの構成を機能的に示す説明図である。
【図４】この発明の実施の形態による科目テーブル３０１ｄの一例を示す説明図である。
【図５】この発明の実施の形態による授業テーブル３０１ｅの一例を示す説明図である。
【図６】この発明の実施の形態による教室テーブル３０１ｆの一例を示す説明図である。
【図７】この発明の実施の形態による学籍テーブル３０１ｇの一例を示す説明図である。
【図８】この発明の実施の形態による履修希望テーブル３０２ｅの一例を示す説明図である。
【図９】この発明の実施の形態による定員テーブル３０２ｆの一例を示す説明図である。
【図１０】この発明の実施の形態による希望者抽選システムにおける、各学生の履修希望の登録処理の手順を示すフローチャートである。
【図１１】この発明の実施の形態による履修科目選択画面の一例を示す説明図である。
【図１２】この発明の実施の形態による履修授業選択画面の一例を示す説明図である。
【図１３】この発明の実施の形態による履修授業選択画面の他の一例を示す説明図である。
【図１４】この発明の実施の形態による履修授業選択画面の他の一例を示す説明図である。
【図１５】この発明の実施の形態によるエラーチェック部３０１ｃにおける、履修希望データの修正の様子を模式的に示す説明図である。
【図１６】この発明の実施の形態による優先順位修正画面の一例を示す説明図である。
【図１７】この発明の実施の形態による履修希望一覧画面の一例を示す説明図である。
【図１８】この発明の実施の形態による希望者抽選システムにおける、各授業の履修者の決定処理の手順を示すフローチャートである。
【図１９】図１８のステップＳ１８０２における、履修者の仮決定処理の手順を示すフローチャートである。
【図２０】履修希望の登録について、オンラインやオフラインなど種々の方法を併用した場合の希望者抽選システムのシステム構成を示す説明図である。
【図２１】クライアント１００として携帯電話を採用した場合の履修希望登録画面の一例を示す説明図である。
【図２２】大学で開講される科目と授業、および曜日・講時との関係を模式的に示す説明図である。
【符号の説明】
１００  クライアント
１０１  Ｗｅｂサーバ
１０２  抽選用ＰＣ
２００  バスまたはケーブル
２０１  ＣＰＵ
２０２  ＲＯＭ
２０３  ＲＡＭ
２０４  ＨＤＤ
２０５  ＨＤ
２０６  ＦＤＤ
２０７  ＦＤ
２０８  ディスプレイ
２０９  ネットワークＩ／Ｆ
２１０  通信ケーブル
２１１  キーボード
２１２  マウス
２１３  ＣＤ−ＲＷ
２１４  ＣＤ−ＲＷドライブ
３００ａ  通信部
３００ｂ  入力部
３００ｃ  表示部
３０１ａ  通信部
３０１ｂ  Ｗｅｂページ管理部
３０１ｃ  エラーチェック部
３０１ｄ  科目テーブル
３０１ｅ  授業テーブル
３０１ｆ  教室テーブル
３０１ｇ  学籍テーブル
３０２ａ  通信部
３０２ｂ  履修者決定部
３０２ｃ  抽選部
３０２ｄ  エラーチェック部
３０２ｅ  履修希望テーブル
３０２ｆ  定員テーブル
【図１】
0004111376.tif 000002
【図２】
0004111376.tif 000003
【図３】
0004111376.tif 000004
【図４】
0004111376.tif 000005
【図５】
0004111376.tif 000006
【図６】
0004111376.tif 000007
【図７】
0004111376.tif 000008
【図８】
0004111376.tif 000009
【図９】
0004111376.tif 000010
【図１０】
0004111376.tif 000011
【図１１】
0004111376.tif 000012
【図１２】
0004111376.tif 000013
【図１３】
0004111376.tif 000014
【図１４】
0004111376.tif 000015
【図１５】
0004111376.tif 000016
【図１６】
0004111376.tif 000017
【図１７】
0004111376.tif 000018
【図１８】
0004111376.tif 000019
【図１９】
0004111376.tif 000020
【図２０】
0004111376.tif 000021
【図２１】
0004111376.tif 000022
【図２２】
0004111376.tif 000023