情報科学部Faculty of Computer and Information Sciences
COT211KA-CS-202e(計算基盤 / Computing technologies 200)プログラミング演習2(C/C++)Programming Mini-Projects 2(C/C++)
小池 崇文Takafumi KOIKE
授業コードなどClass code etc
学部・研究科Faculty/Graduate school | 情報科学部Faculty of Computer and Information Sciences |
添付ファイル名Attached documents | |
年度Year | 2022 |
授業コードClass code | J0515 |
旧授業コードPrevious Class code | |
旧科目名Previous Class title | |
開講時期Term | 春学期授業/Spring |
曜日・時限Day/Period | 月5/Mon.5 |
科目種別Class Type | |
キャンパスCampus | 小金井 / Koganei |
教室名称Classroom name | 各学部・研究科等の時間割等で確認 |
配当年次Grade | |
単位数Credit(s) | 2 |
備考(履修条件等)Notes | |
他学部公開科目Open Program | |
他学部公開(履修条件等)Open Program (Notes) | |
グローバル・オープン科目Global Open Program | |
成績優秀者の他学部科目履修制度対象Interdepartmental class taking system for Academic Achievers | ○ |
成績優秀者の他学部科目履修(履修条件等)Interdepartmental class taking system for Academic Achievers (Notes) |
(1) 受講希望者 (受講検討中の者も含む) は、情報科学部学部Googleフォーム(https://forms.gle/ECvwxVe2NcxmrbTK9)で初回講義前までに希望申請をしてください。(※以下URLのご案内があるGoogleフォームとは異なるのでご注意ください。) (2) 以下のURLと教育開発支援機構事務局の案内に従って、履修希望の申請を行ってください。 https://www.hoseikyoiku.jp/risyu/index.html (3) 履修取消については、ご自身の所属学部の履修取消期間内に必ず同時に履修削除を行ってください。 |
実務経験のある教員による授業科目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 order to make use of C/C++, programming exercises will be given on two major topics. First, clustering will be used as a subject for actual data processing. Secondly, we will discuss shells, which are necessary to control a computer freely. Through these exercises, students will learn the skills to handle real data and to control computers appropriately.
The goal of this course is to understand the differences in algorithms and applications of hierarchical and partitioned clustering methods to be able to implement them and to understand the mechanism of shells, and be able to implement simple shells.
Students will be expected to spend four hours to implement exercises.
Grading will be decided based on small assignments (50%) and the final report (50%).
授業で使用する言語Default language used in class
日本語 / Japanese
授業の概要と目的(何を学ぶか)Outline and objectives
C/C++を活用できるように,大きく2つのテーマについてプログラミング演習を行う.まず,実際のデータ処理としてクラスタリングを題材にする.続いて,コンピュータを自在に制御するのに必要なシェルを題材にする.
学生は,本演習を通して,実データを扱うための技術とコンピュータを適切に制御する技術の習得を学ぶ.
到達目標Goal
クラスタリングにおける階層的手法と分割的手法について,そのアルゴリズムと適用法の違いを理解し,プログラミングで実装できる.また,シェルの仕組みを理解して,簡単なシェルであれば実装できる.C言語におけるデータ型,演算子,式,制御の流れ,関数,ポインタと配列,構造体,入出力などの理解が深まり,規模も大きく複雑なプログラミングに耐えうる実践的スキルを獲得できる.
この授業を履修することで学部等のディプロマポリシーに示されたどの能力を習得することができるか(該当授業科目と学位授与方針に明示された学習成果との関連)Which item of the diploma policy will be obtained by taking this class?
ディプロマポリシーのうち「DP4-3」に関連
授業で使用する言語Default language used in class
日本語 / Japanese
授業の進め方と方法Method(s)(学期の途中で変更になる場合には、別途提示します。 /If the Method(s) is changed, we will announce the details of any changes. )
2次元点集合のクラスタリングを題材とし,階層的および分割的クラスタリング手法の様々なアルゴリズムを順に学び,C言語プログラミングにより実装していく.また,簡単なシェルを実装する.その過程で,C言語の理解を深め,実践的プログラミングスキルを獲得する.原則として,週単位で小課題が出され,授業時間外に取り組む.
アクティブラーニング(グループディスカッション、ディベート等)の実施Active learning in class (Group discussion, Debate.etc.)
あり / Yes
フィールドワーク(学外での実習等)の実施Fieldwork in class
なし / No
授業計画Schedule
授業形態/methods of teaching:対面/face to face
※各回の授業形態は予定です。教員の指示に従ってください。
第1回[対面/face to face]:はじめに
Linux上のC言語プログラミング開発環境の設定,クラスタリングの対象となる2次元点集合の生成
第2回[対面/face to face]:階層的クラスタリング(1)
Single linkage 法の理解と実装
第3回[対面/face to face]:階層的クラスタリング(2)
Complete linkage 法の理解と実装
第4回[対面/face to face]:階層的クラスタリング(3)
Group average 法の理解と実装
第5回[対面/face to face]:階層的クラスタリング(4)
重心法の理解と実装
第6回[対面/face to face]:分割的クラスタリング(1)
k-means 法の理解と実装
第7回[対面/face to face]:分割的クラスタリング(2)
Multi-start 探索法の理解と実装
第8回[対面/face to face]:シェルの実装(1)
シェル
第9回[対面/face to face]:シェルの実装(2)
システムコール
第10回[対面/face to face]:シェルの実装(3)
プロセス
第11回[対面/face to face]:シェルの実装(4)
字句・構文解析
第12回[対面/face to face]:シェルの実装(5)
シェルの実装
第13回[対面/face to face]:最終課題(1)
最終課題レポートの作成
第14回[対面/face to face]:最終課題(2)
最終課題レポートの作成
授業時間外の学習(準備学習・復習・宿題等)Work to be done outside of class (preparation, etc.)
[1] C言語の復習
[2] データ構造とアルゴリズムの復習
[3] 週単位の小課題および最終課題への取り組み
[4] 本授業の準備・復習時間は、計4時間を標準とします。
テキスト(教科書)Textbooks
必要に応じて教員が電子的に配布する.
参考書References
[1] カーニハン,リッチー著:「プログラミング言語C」,第2版,共立出版,1989年.
[2] 柴田望洋著:「新・明解C言語 入門編」,ソフトバンククリエイティブ,2014年.
成績評価の方法と基準Grading criteria
小課題50%,最終課題レポート50%で総合評価する.
学生の意見等からの気づきChanges following student comments
本年度授業担当者変更によりフィードバックできません.