1 |
A |
授業ガイダンス ・授業の概要と目標、評価方法の説明 ・使用するプログラミング言語とソフトウェア環境 ・この授業におけるプログラミング学習のプロセス
|
事前学修 |
このシラバスを読み、授業の構成について確認する。教科書を読んで、基本的なプログラミングの練習問題を復習しておく。(2時間) |
事後学修 |
授業で紹介されたプログラミング言語やソフトウェアツールを実際に使用し、操作に慣れる。授業で学んだ内容を基に、自身のプログラミングスキルと知識のレベルを再評価する。(2時間) |
2 |
A,C |
プログラミング演習:C言語プログラミングの基礎の振り返り ・基本構文 ・制御構造 ・配列、文字列 ・関数 ・構造体、列挙型 ・条件判定、bool値、数値計算 |
事前学修 |
教科書を全体的に読んでC言語のプログラミングを復習しておく。(2時間) |
事後学修 |
授業で使用されたプログラム例を分析し、各コンセプトの実装方法を理解する。学んだ概念を使って小さなプログラムを自分で作成し、実践的な理解を深める。(2時間) |
3 |
A,C |
数値計算とメモリ内容の詳細 ・浮動小数点数の取り扱い、数値演算の精度と誤差 ・プログラム実行時のメモリ構造、ヒープとスタック、ポインタの基本と操作、メモリ管理のプラクティス
|
事前学修 |
教科書の11章と14章を読んで、該当する箇所について予習しておく。(2時間) |
事後学修 |
授業で扱った数値計算とメモリ管理の概念を復習する。数値計算の演習問題を解く。自分の環境でメモリ管理に関するプログラミングを実践する。(2時間) |
4 |
A,C |
コンパイルスイッチ ・マクロ定数、マクロ関数、プリプロセッサ・ディレクティブ ・C++のテンプレート機能 |
事前学修 |
教科書の13章を読んで、該当する箇所について予習しておく。(2時間) |
事後学修 |
マクロ定数とマクロ関数の作成、プリプロセッサ・ディレクティブについて、自分の環境で使い方を練習する。異なるコンパイラオプションとフラグを使ってプログラムをコンパイルし、結果を比較する。(2時間) |
5 |
A,C |
ファイルの読み書き ・ファイルのオープン、クローズ、データ入出力 ・標準入力、標準出力、標準エラー出力 ・ファイル操作のエラー処理、ファイル操作の安全な実装方法 |
事前学修 |
教科書の12章を読んで、該当する箇所について予習しておく。(2時間) |
事後学修 |
ファイル操作と標準ストリームの概念を復習し、実際にファイルを開いて読み書きするプログラムを自分の環境で作成する。(2時間) |
6 |
A,C |
エラーハンドリング、複数ソースファイルへの分割 ・assert()による値の検証 ・エラー処理の種類 ・ブレークポイントの活用 ・C++の例外処理 ・コード行数のメトリクス、ソースファイル分割のメリット、モジュール性と再利用性の向上 |
事前学修 |
教科書の16章を読んで、エラーハンドリングとソースファイルの分割に関連する基本概念を復習し、授業内容への理解を深める。(4時間) |
事後学修 |
既存のコードの行数と複雑さを分析し、モジュール化やリファクタリングを通じて改善を試みる。(4時間) |
7 |
A,C |
オブジェクト指向の導入 ・クラスとオブジェクト ・カプセル化、コンストラクタとデストラクタ ・オブジェクトの初期化とリソースの解放 ・プログラミング演習 |
事前学修 |
オブジェクト指向プログラミングの概念、とくにクラスとオブジェクトに関する基本理論について調べておく。(2時間) |
事後学修 |
C++を使って簡単なクラスを定義し、オブジェクトを生成して操作するプログラミング演習を行う。演習中に遭遇した問題点を特定し、解決策を探求する。(2時間) |
8 |
A,C |
オブジェクト指向の高度な概念 ・関数テンプレート ・クラステンプレート ・プログラミング演習
|
事前学修 |
テンプレートプログラミングの基本的な理論と概念について調べ、実際のコード例での応用に備える。(2時間) |
事後学修 |
関数テンプレートとクラステンプレートの定義と利用に関する理解を確認し、自分で関数テンプレートとクラステンプレートを作成し、具体的な例で試す。(2時間) |
9 |
A,C |
標準テンプレートライブラリ(STL) ・コンテナ ・イテレータ ・アルゴリズム ・プログラミング演習 |
事前学修 |
STLの基本的な概念と構成要素について調べ、実際のプログラミングに備える。(2時間) |
事後学修 |
STLのコンテナ、イテレータ、アルゴリズムに関する知識を再確認する。実際に様々なSTLコンテナを使用し、イテレータを用いた操作を行う。STLのアルゴリズムを適用して、具体的な問題解決やデータ操作を試みる。(2時間) |
10 |
A,C |
モダンなC++の特徴の紹介 ・ラムダ式、範囲ベースのforループ、autoキーワード ・プログラミング演習 |
事前学修 |
モダンなC++の新機能について、基本的な利用方法を調べ、授業での実践的な演習に備える。(2時間) |
事後学修 |
ラムダ式、範囲ベースのforループ、autoキーワードに関する知識を再確認し、実際にこれらの機能を使ったプログラムを作成する。(2時間) |
11 |
A,C |
総合的なプログラミング演習 その1 ・これまで学んだ内容の復習 ・コーディング演習と質疑応答
|
事前学修 |
これまでの授業内容の復習:C++によるオブジェクト指向プログラミング、標準テンプレートライブラリ(STL)、例外処理、スマートポインタなど。(2時間) |
事後学修 |
演習中に取り組んだ課題について振り返り、遭遇した問題に対して、追加の研究や解決策を探求する。自身のコードを見直し、最適化やリファクタリングを行う。(2時間) |
12 |
A,C |
総合的なプログラミング演習 その2 ・コードレビューとフィードバック ・クラス内ディスカッションと経験の共有
|
事前学修 |
自身のコードを徹底的に見直し、改善点や最適化の機会を探す。コードの可読性と効率性を高めるためのリファクタリングに取り組む。(2時間) |
事後学修 |
コードレビューとクラスディスカッションで得たフィードバックを分析し、提案された改善点を自身のコードに適用する。(2時間) |
13 |
A |
まとめ ・ここまでの振り返り ・さらなるプログラミング学習に向けて ・質疑応答 ・IT分野における学習マップの確認と目標設定 |
事前学修 |
教科書のまとめ問題を解き、問題のあった箇所については、教科書の該当する箇所を読んでよく復習する。(4時間) |
事後学修 |
受講中に作成したノートやメモを整理し、授業で学んだ主要なトピックやスキルを再確認する。これまでの学習成果を振り返り、今後のIT分野における学習マップを確認し、具体的な目標を設定する。その目標に沿って、具体的な学習スケジュールを作成し、目標に向かって進むための計画を立てる。(4時間) |