授業科目名
  プログラミングⅡ
   ProgrammingⅡ
時間割番号
1620
担当教員名
  李 晃伸
実務経験
反映科目
学科・年次
  工学部 情報工学科
  工学部 創造工学教育課程
  2年次
科目区分
  専門教育科目
単位数
2
時間割
  前期 月曜5-8限
授業形態
演習
授業実施方法
  ☑ 対面【一部遠隔の場合あり】
  ☐ 全て遠隔【全授業(テストを除く)をオンデマンドで実施(全オンデマンド型)】
  ☐ 全て遠隔【同時双方向で実施】
  ☐ 全て遠隔【オンデマンド及び同時双方向で実施】
  ☐ 1/2遠隔【全授業のうち、1/2以上を遠隔(オンデマンド又は同時双方向)】

・「全て遠隔」又は「1/2遠隔」に✓のある科目は、遠隔授業の上限単位数60単位に算定されます。
・大学院には遠隔授業における上限単位数はありません。
ディプロマ・ポリシーとの対応
☐ 1. 人間,文化,社会を理解し,それらを技術的観点から考察する能力と技術を新しい生活につなぐ強い使命感・責任感,高い倫理観
☐ 2. 現象の理解・操作のための数理的基礎知識と科学的素養
☑ 3. 国内外の人々と対話できるコミュニケーション力と論理的思考力
☑ 4. (高度工学教育課程のみ)基幹となる専門分野の基盤的な知識・技術とこれによって課題を解決する能力,新たな知識・技術を習得する能力
☐ 4. (創造工学教育課程のみ)基幹となる専門分野の基礎知識と他の分野の知識・技術を関連づけ多面的に見ることで新たな価値を創出する能力
授業の目的・達成目標

【授業の目的】 

授業の目的: プログラミングIの授業に引き続き、プログラミングの手法について学ぶ。プログラミング言語Javaを用いた応用的プログラミング技術の習得と、これを用いた演習を通して、プログラミングの手法、諸概念を学ぶことを目的とする。

【達成目標】

1.クラス・インスタンスの概念を把握し、オブジェクト指向プログラミングができる。

2.クラスの派生や静的メンバ等、発展的概念を用いたプログラミングができる。

3.インタフェースに関するプログラミングできる。

4.発展的な文字列処理に関するプログラミングができる。

5.スレッドに関するプログラミングができる。

6.例外処理に関するプログラミングができる。

7.データベースに関するプログラミングができる。

8.アルゴリズムを理解し実装するプログラミングができる。

学んだ内容を用いる科目:プログラミングIII、プログラミング応用、科学技術計算

理解の助けになる科目: コンピュータ入門、プログラミングI

授業計画

1. 概要と位置付け、準備
2. 実際的なクラス
3. クラスの静的メンバ、パッケージ
4. フィードバック
5. 抽象クラス
6. インタフェース
7. 例外処理
8. マルチスレッド
9. 文字列処理・ガベッジコレクション
10. ファイル入出力・データ
11. フィードバック
12. グラフアルゴリズム実装I:データの読み込み、動的計画法と分割統治法
13. グラフアルゴリズム実装II:幅優先探索、深さ優先探索
14. グラフアルゴリズム実装III:重み付きグラフと最短経路探索
15. 期末試験

※本講義は反転講義形式で行う。毎回、講義動画をオンラインで視聴したあと、演習課題に各自で取り組む。演習は対面で行うが、自宅でも取り組めるよう Git を用いた環境を初回に整える。質問は演習時間に受け付けるほか、Teams のチャットで24時間質問できる。計算機は、CSEの計算機を使ってもよいし、自分のPCを持ち込んでもよい。

成績評価の方法

課題の提出内容 80%

期末試験 20%

ただし、全ての講義を視聴し、かつ、全ての課題を正しく提出するすることを、単位取得の要件とする。また、期末試験を行わない場合は課題の提出内容が100%となる。

成績評価の基準
秀  達成目標を超えた成果を上げている 100点~90点
優  達成目標に十分達している     89点~80点
良  達成目標に達している       79点~70点
可  達成目標に概ね達している     69点~60点
不可 達成目標に達していない      59点以下

原則、全ての講義を受講し、課題を提出したものにつき、上記の基準により評価する。

事前・事後学修等の指示及び履修にあたっての注意事項

プログラミングIを受講していることを前提とした内容になっている。

事前学修:テキストの予習(60分)

事後学修:受講内容に沿って与えられたプログラミング課題を解き、作成したプログラムを提出する。提出先サーバで自動テストが行われるが、全ての課題の自動テストにパスして初めて提出完了となる。

教科書