科目名 | C#プログラミング |
---|---|
科目区分 | 専門科目 |
種別 | 演習 |
配当年次 | 3年 |
配当学期 | 前期 |
授業時間数 | 120 |
単位数 | 4 |
実務経験がある教員による授業科目 |
実務経験の概要: IT企業におけるシステム設計、開発に従事 実務経験と授業の関係: |
授業概要 | C#言語を用いた.NETフレームワーク開発の基本とより高度なオブジェクト指向プログラミングを学習する。 基礎的なプログラミング知識は有しているものとし、詳細な言語仕様よりもJavaとの考え方、記述方法の違いを主軸に進めていく。 また、常時進化する最新のC#言語仕様に対応し、新たな機能についても従来の方法と共に紹介する。 VisualStudioの機能によるリファクタリングやコーディングスタイル、命名規則などについても現場のトレンドを取り入れて柔軟に開発できる能力を養う。 |
到達目標 | C#プログラミングスキルを習得する オブジェクト指向プログラミングの実践的なスキルを習得する |
目標資格等 | 特に無し |
評価方法 | 知識:小テスト 0%
知識:定期試験 0% 技能:日常演習 50% (授業中の指定作業を行っているか) 技能:課題提出 50% (課題制作物が仕様を満たしているか) |
評価の詳細: | |
準備学習、他科目との関連 | 基礎プログラミング等により、手続き型プログラミングの手法を習得していること Javaプログラミング基礎により、オブジェクト指向プログラミングについて理解していること |
教科書・教材 | 基礎からしっかり学ぶC#の教科書 第3版 C#10対応(日経BP) その他、適宜プリント資料およびデジタルデータの配布を行う。 |
授業計画 | 1回あたりの時間数 8時間 |
第1回 C#言語の概要、開発環境の構築、1クラスでのプログラミング ・C#言語と.NETフレームワークについて ・VisualStudioのインストールと操作方法 ・開発環境のカスタマイズ ・コンソールアプリケーションによるHello,Wordの作成 | |
第2回 名前空間 ・命名規則 ・using / using static ・global using データ型 ・C#とJavaのデータ型の違い ・値型、参照型 ・var命令を用いた型推論 | |
第3回 演算子 ・算術演算 ・論理演算 制御文 ・if, switch ・while, for, foreach ・break, continue, goto | |
第4回 クラスの基礎 ・クラスとインスタンス ・フィールドとメソッド ・コンストラクタ ・静的(クラス)メンバーと動的(インスタンス)メンバー ・プロパティ(手動作成と自動プロパティ) | |
第5回 クラス作成課題 ・Fraction(分数)クラス | |
第6回 クラスの継承とポリモーフィズム ・単一継承と多重継承(C#では不可) ・継承先での隠蔽 ・オーバーライド ・virtualとoverride(Javaとの考え方の違い) | |
第7回 型キャスト(オブジェクトのダウンキャストとアップキャスト) ・is演算子 ・as演算子 ・型スイッチ 抽象クラスと抽象メソッド(abstract/seald) インタフェース | |
第8回 クラス継承課題 ・Car(自動車)クラスを基底とした各種派生クラスの作成 | |
第9回 例外処理 ・try~catch構文 ・Javaとの違い ・finally ・例外クラス ・再スロー ・オーバーフローチェック | |
第10回 配列 ・宣言と初期化 ・配列のプロパティ ・多次元配列 ・Arrayオブジェクト ・ジャグ配列 | |
第11回 構造体 タプル レコード レコード構造体 | |
第12回 null ・null非許容型 ・null許容参照型 ・null合体演算子 ・null条件演算子 | |
第13回 デリゲート ・デリゲート型 ・メソッドの追加と削除 ・複数メソッドの登録 ・匿名メソッド | |
第14回 ラムダ式 ・ラムダ演算子 ・式形式 ・ステートメント形式 ・汎用Action型 ・汎用Func型 イベント ・デリゲートとラムダ式を用いたイベントドリブン | |
第15回 非同期処理 ・スレッド ・スレッドプール ・Taskクラス ・Paralellクラス ・async/await | |
第16回 スレッド/イベントドリブン課題 ・ストップウォッチアプリ | |
第17回 演算子のオーバーロード ・単項演算子 ・二項演算子 ・キャスト演算子 演算子オーバーロード課題 ・Fraction(分数)クラスの機能追加(演算子による四則演算機能、数値キャストの追加) | |
第18回 クラスライブラリの利用① ・コレクションクラス ・列挙子、yield return ・文字列処理 | |
第19回 クラスライブラリの利用② ・ファイル処理 ・ネットワーク通信 ・LINQ | |
第20回 GUIアプリケーションの基礎 ・Windowsフォーム ・WPF ・MVVMモデル |