情報科学部Faculty of Computer and Information Sciences
OTR100KA-CS-196(その他 / Others 100)プロジェクト(春)Project
首藤 裕一Yuichi SUDO
授業コードなどClass code etc
学部・研究科Faculty/Graduate school | 情報科学部Faculty of Computer and Information Sciences |
添付ファイル名Attached documents | |
年度Year | 2023 |
授業コードClass code | J0606 |
旧授業コードPrevious Class code | |
旧科目名Previous Class title | |
開講時期Term | 春学期授業/Spring |
曜日・時限Day/Period | 金3/Fri.3 |
科目種別Class Type | |
キャンパスCampus | 小金井 / Koganei |
教室名称Classroom name | 各学部・研究科等の時間割等で確認 |
配当年次Grade | 2~3 |
単位数Credit(s) | 1 |
備考(履修条件等)Notes | |
他学部公開科目Open Program | |
他学部公開(履修条件等)Open Program (Notes) | |
グローバル・オープン科目Global Open Program | |
成績優秀者の他学部科目履修制度対象Interdepartmental class taking system for Academic Achievers | |
成績優秀者の他学部科目履修(履修条件等)Interdepartmental class taking system for Academic Achievers (Notes) | |
実務経験のある教員による授業科目Class taught by instructors with practical experience | |
SDGsCPSDGs CP | |
アーバンデザインCPUrban Design CP | |
ダイバーシティCPDiversity CP | |
未来教室CPLearning for the Future CP | |
カーボンニュートラルCPCarbon Neutral CP | |
千代田コンソ単位互換提供(他大学向け)Chiyoda Campus Consortium | |
選択・必修Optional/Compulsory | |
カテゴリー(2022年度以降入学者)Category (2022~) | |
カテゴリー(2021年度以前入学者)Category (~2021) | |
カテゴリーCategory |
専門教育科目 専門科目 |
すべて開くShow all
すべて閉じるHide All
Outline (in English)
In this course, you will learn how to design efficient algorithms and how to implement them through competitive programming.
Students will be expected to study the topic given in the class around one hour in each week. Your overall grade in the class will be decided based on the following:
final report: 50%, in-class contribution: 50%
授業で使用する言語Default language used in class
日本語 / Japanese
授業の概要と目的(何を学ぶか)Outline and objectives
競技プログラミングを通して効率的なアルゴリズムの設計やプログラミングスキルの向上を目指す.
到達目標Goal
様々な問題に対して計算量の小さいアルゴリズムを自分で考え,設計できるようになること.また,設計したアルゴリズムをプログラムとして実装できる力を身につけること.
この授業を履修することで学部等のディプロマポリシーに示されたどの能力を習得することができるか(該当授業科目と学位授与方針に明示された学習成果との関連)Which item of the diploma policy will be obtained by taking this class?
情報科学部ディプロマポリシーのうち「DP3-1」と「DP4-3」に関連
授業で使用する言語Default language used in class
日本語 / Japanese
授業の進め方と方法Method(s)(学期の途中で変更になる場合には、別途提示します。 /If the Method(s) is changed, we will announce the details of any changes. )
最初の3回の授業で効率的なアルゴリズムの設計方法や競技プログラミングについて簡単な解説を行う.その後,個人戦やグループ戦などの形式で,様々な問題に対して高速なプログラムの作成を競い合い,アルゴリズムの設計能力やプログラミングスキルを養う.授業で課した課題(小テストやレポート)等を取り上げ、授業内で全体に対してフィードバックを行う。
アクティブラーニング(グループディスカッション、ディベート等)の実施Active learning in class (Group discussion, Debate.etc.)
あり / Yes
フィールドワーク(学外での実習等)の実施Fieldwork in class
なし / No
授業計画Schedule
授業形態/methods of teaching:対面/face to face
※各回の授業形態は予定です。教員の指示に従ってください。
1[対面/face to face]:ガイダンス
本講義の概要についてガイダンスを行う
2[対面/face to face]:講義・演習1
効率的なアルゴリズムの設計に関する講義・演習
3[対面/face to face]:講義・演習2
効率的なアルゴリズムの設計に関する講義・演習
4[対面/face to face]:講義・演習3
効率的なアルゴリズムの設計に関する講義・演習
5[対面/face to face]:競技プログラミング:グループ戦1
少人数のグループに分かれて効率的なプログラムの実装を競い合う.
6[対面/face to face]:競技プログラミング:グループ戦2
少人数のグループに分かれて効率的なプログラムの実装を競い合う.
7[対面/face to face]:競技プログラミング:グループ戦3
少人数のグループに分かれて効率的なプログラムの実装を競い合う.
8[対面/face to face]:競技プログラミング:グループ戦4
少人数のグループに分かれて効率的なプログラムの実装を競い合う.
9[対面/face to face]:競技プログラミング:個人戦1
共通の課題に対して各自で効率的なプログラムの実装を試み,競い合う.
10[対面/face to face]:競技プログラミング:個人戦2
共通の課題に対して各自で効率的なプログラムの実装を試み,競い合う.
11[対面/face to face]:競技プログラミング:個人戦3
共通の課題に対して各自で効率的なプログラムの実装を試み,競い合う.
12[対面/face to face]:競技プログラミング:個人戦4
共通の課題に対して各自で効率的なプログラムの実装を試み,競い合う.
13[オンライン/online]:競技プログラミング:グループ戦5
共通の課題に対して各自で効率的なプログラムの実装を試み,競い合う.
14[対面/face to face]:振り返り
これまでの競技を通して学んだことや失敗したことを共有する.
授業時間外の学習(準備学習・復習・宿題等)Work to be done outside of class (preparation, etc.)
実装が間に合わなかったプログラムを完成させることや,さらなる改善を授業時間外に取り組むことが望ましい.本授業の準備・復習等の授業時間外学習は,各週につき1時間を標準とする.
テキスト(教科書)Textbooks
とくになし.講義時間内に資料を配布する.
参考書References
講義時間内に適宜必要な参考書を示す.
成績評価の方法と基準Grading criteria
最終レポート50%、アルゴリズム・プログラムの習熟度や授業への参加度からの総合評価50%
学生の意見等からの気づきChanges following student comments
競技プログラミングで頻用するアルゴリズムやデータ構造に関する解説を充実させる。
学生が準備すべき機器他Equipment student needs to prepare
プログラミングを行うため、貸与パソコンを持参すること。