理工学部Faculty of Science and Engineering
COT200XF(計算基盤 / Computing technologies 200)応用プログラミングAdvanced Programming
五島 洋行Hiroyuki GOTO
授業コードなどClass code etc
学部・研究科Faculty/Graduate school | 理工学部Faculty of Science and Engineering |
添付ファイル名Attached documents | |
年度Year | 2023 |
授業コードClass code | H6700 |
旧授業コードPrevious Class code | |
旧科目名Previous Class title | |
開講時期Term | 春学期授業/Spring |
曜日・時限Day/Period | 金1/Fri.1 |
科目種別Class Type | |
キャンパスCampus | 小金井 |
教室名称Classroom name | 小西館‐W003PC |
配当年次Grade | 2年 |
単位数Credit(s) | |
備考(履修条件等)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 | |
カテゴリー<理工学部>Category |
経営システム工学科 学科専門科目 |
すべて開くShow all
すべて閉じるHide All
Outline (in English)
[Course outline]
In succession to the study contents of "Computer Exercise B", this class is designed to foster advanced skills in C programming. Starting from reviews of intermediate level grammars in C, implementations of efficient algorithms, numerical computation techniques, as well as those enhancing readability and maintainability, will be addressed.
[Learning objectives]
Upon completion, students may be acquired coding skills in C language excelling in:
1. numerical computation techniques.
2. manipulating large- or huge-size data.
3. portability and maintainability.
4. simplicity and high readability.
[Learning activities outside of classroom]
1. Students should spend four hours for preparation and review.
2. An assignment will be given on completion of each major topic.
[Grading Criteria]
The final grading will be conducted according to:
1. assignments (50%)
2. contribution to the class (30%)
3. oral examination (20%)
These might be changed depending on the number of registered students.
授業で使用する言語Default language used in class
日本語 / Japanese
授業の概要と目的(何を学ぶか)Outline and objectives
1年次秋学期科目「計算機実習B」での学習内容をベースにしながら,C言語の中上級レベルの文法と実装技術を身につける.学期前半は,主に1年次に学習する数学・情報処理分野の理論をいくつかとりあげ,それらの計算機上での計算と実装方法について学ぶ.学期後半は,中規模・大規模データの取り扱いや各種の計算方法について,効率的なアルゴリズムや実装技術を学び,実際に実装して実験する.
到達目標Goal
・効率的な計算方法やアルゴリズムの理論を理解し,それらの実装が行える.
・大規模~ビッグデータの処理や計算が行える.
・可搬性と保守性に優れたプログラムが書ける.
・他者が見て見やすいプログラムが書ける.
この授業を履修することで学部等のディプロマポリシーに示されたどの能力を習得することができるか(該当授業科目と学位授与方針に明示された学習成果との関連)Which item of the diploma policy will be obtained by taking this class?
ディプロマポリシーのうち、「DP1」と「DP2」と「DP4」に関連
授業で使用する言語Default language used in class
日本語 / Japanese
授業の進め方と方法Method(s)(学期の途中で変更になる場合には、別途提示します。 /If the Method(s) is changed, we will announce the details of any changes. )
各回とも,テーマに沿った理論~実装の説明をしたのち,サンプルプログラムを提示し,実際に実装・実験を行うことの繰り返しで進める.
学期中数回,理解度を確認するための口頭試問を行う予定である.
アクティブラーニング(グループディスカッション、ディベート等)の実施Active learning in class (Group discussion, Debate.etc.)
なし / No
フィールドワーク(学外での実習等)の実施Fieldwork in class
なし / No
授業計画Schedule
授業形態/methods of teaching:対面/face to face
※各回の授業形態は予定です。教員の指示に従ってください。
1[対面/face to face]:ガイダンス・自作関数の作成
コンパイル・実行環境の確認を行い,平方根を計算する関数を自作する
2[対面/face to face]:初等関数の自作
指数・対数,三角関数,逆三角関数などを計算する関数を自作する
3, 4[対面/face to face]:数値積分
台形公式,中点公式,シンプソンの公式を用いた数値積分を行う関数を自作する.また,数値積分を利用していくつかの数学関数を計算する
5[対面/face to face]:可搬性の向上
下記の応用技術を学び,可搬性を向上させる
・分割コンパイル
・条件付きコンパイル
・関数へのポインタ
6, 7[対面/face to face]:ソーティング(1)
バブルソート・クイックソートを行うプログラムを作成し,計算時間を比較する
8[対面/face to face]:大規模データの処理(1)
下記の応用技術を学び,大規模データを効率的に処理する.
・メモリの4領域,ヒープ領域の使用
・構造体の配列とポインタ
9[対面/face to face]:大規模データの処理(2)
バイナリファイルの読み書きに関する技術を学ぶ
10[対面/face to face]:可読性の向上
下記の応用技術を学び,プログラムをより簡素に記述し,可読性を向上させる
・3項演算子
・ポインタ演算を用いた繰り返し処理
11, 12[対面/face to face]:ソーティング(2)
辞書順ソートを行うプログラムを作成する
13, 14[対面/face to face]:汎用性の向上
下記の応用技術を学び,汎用性を向上させる
・汎用ポインタの使用
・クロージャー(関数閉包)の使用
授業時間外の学習(準備学習・復習・宿題等)Work to be done outside of class (preparation, etc.)
・本授業の準備・復習等の授業時間外学習は,4時間を標準とする.
・大テーマ終了時に提出課題が課せられるので,指定された期限までに提出する.
テキスト(教科書)Textbooks
教科書は指定せず,学習支援システム経由で教材を配布する.
参考書References
「C言語によるプログラミング」,内田智史(監修),システム計画研究所(編)
成績評価の方法と基準Grading criteria
下記を予定しているが,履修者数によって配分を変更することがあるので,授業中の指示内容を聞いておくこと.
提出課題50%,平常点30%,口頭試問20%
提出課題は提出期限を守っているか,口頭試問は期日までに準備してきているかなども重視する.
学生の意見等からの気づきChanges following student comments
担当教員交代初年度のため,該当なし.
学生が準備すべき機器他Equipment student needs to prepare
・Visual Studioが動作することを事前に確認しておくこと.
・授業や提出課題では,貸与ノートPC以外のPCを使用してもよいが,C言語のコンパイラのインストールと実行環境は各自整えておくこと.
その他の重要事項Others
情報システムの開発経験から,正しく動作するだけでなく,保守性,可読性,汎用性に優れたプログラムを書くように促す.