| 【サブタイトル】 |
C言語プログラミングとコンピュータの基本的な動作原理について学ぶ |
| 【講義の目的・内容】 |
C言語は、組込みシステムや科学技術計算などの高い性能や効率が求められる分野やOSなどのシステムプログラミングにおいて、標準的な位置づけを持つプログラミング言語である。一方で、C言語で効率的なプログラムを記述するためには、コンピュータの動作原理に関する理解が不可欠となる。本講義では、ソフトウェアからみたコンピュータの動作原理とC言語プログラミングをあわせて学ぶことで、実践的なC言語プログラミングの習得を行う。 |
| 【学修到達目標】 |
・C言語プログラミングを習得すること ・コンピュータ上でC言語プログラムがどのように実行されているかを理解し、それをもとにメモリを含む計算機資源を効率的に管理できること |
| 【講義スケジュール】 |
以下は予定であり、変更となる可能性がある。
第1回 C言語と開発環境 第2回 数値データ型と制御構造 第3回 変数のスコープとポインタ 第4回 配列とポインタの奇妙な関係 第5回 文字列と動的メモリ管理 第6回 カスタムデータ型の利用 第7回 リストの表現 第8回 ファイル入出力 第9回 ファイル分割とMakefile 第10回 プリプロセッサと条件付きコンパイル 第11回 2進数とビット演算 第12回 標準ライブラリに関する落ち穂拾い 第13回 競技プログラミングを体験しよう 第14回 第1〜6回の課題解説 (15分間程度のオンデマンド講義 x 6回) 第15回 第7〜13回の課題解説 (15分間程度のオンデマンド講義 x 7回) |
| 【指導方法】 |
第1〜13回については通常の講義形式で実施します。 第14〜15回については、第1〜13回の課題締切後にそれぞれ約15分間ずつのオンデマンド講義を実施し、課題の解説・フィードバックを行います。オンデマンド講義は INIAD MOOCs で配信します。 |
| 【事前・事後学修】 |
各回の講義後に演習課題を出題します。講義後に復習の時間をとり、演習課題に取り組むようにしてください (90分程度)。 講義内容でわからなかった部分については講義内や講義用Slackで質問を行い積み残さずに解決するようにしてください。 |
| 【成績評価の方法・基準】 |
期末試験の重みを90%とし、その他(演習課題や小テスト)を10%の重みで評価します。 なお、追試験・再試験を実施する場合、演習課題や小テストを受験のための要件として用いる場合があります。 |
| 【受講要件】 |
以下の内容に関する知識を前提として講義を進める。原則として、下記に示される科目をあらかじめ履修すること。
・Pythonプログラミング: 講義「コンピュータ・サイエンス概論 I」相当 ・JavaScriptの基礎: 講義「コンピュータ・サイエンス概論 I」相当 |
| 【テキスト】 |
各回の講義に対応したオンライン教材を事前に INIAD MOOCs 上で提供する。 |
| 【参考書】 |
種田 元樹「C言語本格入門 ~基礎知識からコンピュータの本質まで」(技術評論社) |
| 【関連分野・関連科目】 |
|
| 【備考】 |
|
| 【添付ファイル1】 |
| 【添付ファイル2】 |
| 【添付ファイル3】 |
| 【リンク】 |
|
|
|
<本学の授業について> 本学では、13週の通常授業期間内で13回の通常授業及び、その他に2回分のオンデマンド授業等を開講する形態を採用しています。各回の教室内授業は90分で実施され、合計15回分の授業時間を担保する講義スケジュールを基本としています。 ※一部科目では、授業期間、授業回数および授業形態等が異なる場合がありますので、授業の詳細はシラバス等で必ず確認してください。 [注] 教員の指導のもとで、事前・事後学習を含めて1単位45時間の学修時間を担保することが求められます。 なお、本学では、大学設置基準等の法令に基づき、年間35週以上の授業日程(学年暦)を定め、通常授業期間のほかに、T-Weeksにおける特別授業期間、夏季・春季セッション期間における集中授業等を実施する授業日程としております。
|