シラバス参照 |
科目一覧へ戻る | 2019/08/20 現在 |
科目名(和文) /Course |
プログラミング技法 |
---|---|
科目名(英文) /Course |
Programming Techniques |
時間割コード /Registration Code |
22230201 |
学部(研究科) /Faculty |
情報工学部 |
学科(専攻) /Department |
情報システム工学科 |
担当教員(○:代表教員)
/Principle Instructor (○) and Instructors |
○石井 裕 |
オフィスアワー /Office Hour |
石井 裕(木曜5限) |
開講年度 /Year of the Course |
2017年度 |
開講期間 /Term |
後期 |
対象学生 /Eligible Students |
2年次生(平成26年度以前入学生) |
単位数 /Credits |
2.0 |
更新日 /Date of renewal |
2017/03/27 |
---|---|
使用言語 /Language of Instruction |
日本語 |
オムニバス /Omnibus |
該当なし |
授業概略と目的 /Cource Description and Objectives |
C言語については既に「プログラミング言語Ⅰ」や各演習等で学んでいるが,より大規模なプログラムを作るためにはより進んだ知識が必要である.そこで,ポインタや構造体,分割コンパイルなど「大きなプログラム」で要求される事項を説明し,また基本的なデータ構造やアルゴリズムを実際にC言語で実装することで理解を深めることを目的とする. |
履修に必要な知識?能力?キーワード /Prerequisites and Keywords |
「プログラミング言語Ⅰ」の内容を十分に理解しておくこと. |
履修上の注意 /Notes |
「データ構造とアルゴリズム」は関連する内容を持つため履修しておくと理解が深まる.「ソフトウェア演習Ⅱ」の内容と関連させて進める場合がある. |
教科書 /Textbook(s) |
林 晴比古「新?C言語入門 シニア編」(ソフトバンククリエイティブ) |
参考文献等 /References |
適宜資料により解説するが,特にポインタについては講義資料のみならず 柴田望洋,「詳解C言語 ポインタ完全攻略」,ソフトバンククリエイティブ など多数の書籍から自分が理解しやすい参考書を探すことも有意義である. |
自主学習ガイド /Expected Study Guide outside Coursework/Self-Directed Learning Other Than Coursework |
プログラミングは実際にプログラムを作成し,その動作を理解することが不可欠である.また本講義の課題を自ら発展させ,自らの目的でプログラムを作成する機会を設けてほしい. |
資格等に関する事項 /Attention Relating to Professional License |
|
備考 /Notes |
No. | 単元(授業回数) /Unit (Lesson Number) |
単元タイトルと概要 /Unit Title and Unit Description |
時間外学習 /Preparation and Review |
配布資料 /Handouts |
---|---|---|---|---|
1 | 1 | [オリエンテーション] C言語の利用場面,講義の概説 |
||
2 | 2 | [C言語の基礎復習] 型宣言や引数など基礎内容の確認 |
||
3 | 3 | [メモリとポインタとの関係] ポインタとメモリアドレスや内容を利用する方法 |
||
4 | 4 | [配列とポインタ] 配列とポインタの関係を理解し,添字演算子など活用方法を理解する |
||
5 | 5 | [構造体と入出力] 構造体宣言と利用方法,およびFILE型構造体による入出力を理解する |
||
6 | 6 | [動的メモリ確保] メモリの動的確保と解放,配列の関数渡しなどについて理解する |
||
7 | 7 | [リスト] 連結リスト構造を実現する構造体定義について理解する |
||
8 | 8 | [再帰木構造] 再帰,二分木により構造体の理解を深める |
||
9 | 9 | [木構造の応用] 2-3-4木,ヒープにより木構造と探索について理解する |
||
10 | 10 | [スタックとキュー] 配列を用いてスタックとキューを理解し,線形データ構造を俯瞰する |
||
11 | 11 | [ソート] クイックソート,バブルソートなど様々な種類のソートを理解する |
||
12 | 12 | [分割コンパイル] 複数ソースファイルを用いた分割コンパイルを理解する |
||
13 | 13 | [文字列] 文字列の扱いと探索について理解する |
||
14 | 14 | [動的計画法] 再帰と動的計画法を理解し,計算速度の違いを実感する |
||
15 | 15 | [数式処理] ガウス消去法による連立一次方程式の解法を理解する |
No. |
到達目標 /Learning Goal |
知識?理解 /Knowledge & Undestanding |
技能?表現 /Skills & Expressions |
思考?判断 /Thoughts & Decisions |
伝達?コミュニケーション /Communication |
協働 /Cooperative Attitude |
||
---|---|---|---|---|---|---|---|---|
1 | ポインタや構造体の知識を学び活用できるようにする | ○ | ○ | ○ | ||||
2 | 分割コンパイルについて知る | ○ | ○ | ○ | ||||
3 | 再帰的な構造体の扱いを学ぶ | ○ | ○ | ○ | ||||
4 | 基本的なデータ構造やアルゴリズムの実装方法を学ぶ | ○ | ○ | ○ |
No. |
到達目標 /Learning Goal |
定期試験 /Exam. |
演習課題およびレポート | 学習態度 | |||
---|---|---|---|---|---|---|---|
1 | ポインタや構造体の知識を学び活用できるようにする | ○ | ○ | ||||
2 | 分割コンパイルについて知る | ○ | ○ | ||||
3 | 再帰的な構造体の扱いを学ぶ | ○ | ○ | ||||
4 | 基本的なデータ構造やアルゴリズムの実装方法を学ぶ | ○ | ○ | ||||
評価割合(%) /Allocation of Marks |
70 | 30 |