1. 日本人学生が1,2年次に学習するJava 言語の基礎的内容を理解し,説明することができる.
2. 日本人学生が3年次に学習するアルゴリズムとデータ構造の発展的内容を理解し,説明することができる.
概要:
3年次に編入する留学生に対して,日本人学生が学習する以下の内容の補習を行う.
・1年次:「基礎プログラミングⅠ」,「基礎プログラミングⅡ」,「基礎プログラミング演習」
・2年次:「プログラミング」,「プログラミング言語」
・3年次:「アルゴリズムとデータ構造」
なお,プログラミング言語にはJava言語を用いる.
授業の進め方・方法:
概ね以下の手順で学習を行う.
1. 教員が1,2,3年次の授業で用いる教材を提示する.
2. 教材を用いて学習する.
3. 演習(例題)を解く.
4. 演習(課題)を提出する.
注意点:
最終評価=演習(例題)60%+演習(課題)40%
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
ガイダンス【環境構築】 |
・本授業の進め方や成績評価等について理解できる. ・Visual Studio Codeによるプログラミング開発環境を構築できる.
|
2週 |
printとprintlnの使い方【画面に文字を表示する】 |
・printメソッドやprintlnメソッドを用いて文字を画面に出力できる. ・数値計算や文字列連結の結果を出力できる.
|
3週 |
データ型と変数【変数の宣言】 |
・データ型と変数について理解し,変数の宣言を正しく行うことができる. ・変数の初期化や代入ができる.
|
4週 |
Scannerの使い方【データの読み込み】 |
・Scannerを用いてキーボードから値を読み込み,変数に代入することができる.
|
5週 |
if文とswitch文【条件分岐】 |
・if文の表記方法,else文との組合せ方を理解できる. ・switch文の表記方法を理解できる.
|
6週 |
for文【決まった回数の繰り返し】 |
・for文の表記方法を理解できる. ・if文と組み合わせた表記方法を理解できる. ・複数のfor文を交えた表記方法を理解できる.
|
7週 |
定数と乱数【便利な書き方】 |
・定数と乱数の表記方法を理解できる.
|
8週 |
while文【決まっていない回数の繰り返し】 |
・while文,do-while文の表記方法を理解できる. ・break,continueの使い方を理解できる.
|
2ndQ |
9週 |
配列【たくさんのデータを扱う方法】 |
・配列の宣言,値の代入方法について理解できる. ・for文と組み合わせた表記方法を理解できる.
|
10週 |
多次元配列【さらにたくさんのデータを扱う方法】 |
・2次元配列の宣言について理解できる. ・for文と組み合わせた表記方法を理解できる.
|
11週 |
文字列操作【文章を扱う】 |
・文字列の比較や文字列の長さの取得方法を理解できる. ・文字列の置換や削除,大文字・小文字の変換方法を理解できる.
|
12週 |
メソッド【プログラムを部品化する】 |
・メソッドの宣言,引数と戻り値の関係について理解できる. ・値を返さない voidメソッドについて理解できる.
|
13週 |
クラス【設計図】 |
・クラスの概念について理解できる. ・複数のクラスをもつプログラムの表記方法について理解できる.
|
14週 |
インスタンス【クラスの実体化】 |
・クラスとインスタンスの関係について理解できる. ・インスタンス変数,インスタンスメソッドについて理解できる.
|
15週 |
コンストラクタ【インスタンス生成時に実行されるメソッド】 |
・コンストラクタについて理解できる. ・セッター,ゲッターについて理解できる.
|
16週 |
クラスの継承【スーパークラスとサブクラス】 |
・クラスの継承について理解できる. ・スーパークラスとサブクラスの表記方法について理解できる.
|
後期 |
3rdQ |
1週 |
JavaFX【環境構築】 |
・JavaFXによるGUIプログラミング開発環境を構築できる. ・Applicationクラスとstartメソッドについて理解できる.
|
2週 |
JavaFXのウィンドウの構造【ステージ,シーン,コントロール】 |
・Stageクラスのメソッドについて理解できる. ・Sceneクラスのメソッドについて理解できる.
|
3週 |
イベント処理【ボタン処理】 |
・Buttonクラスのメソッドについて理解できる. ・ラムダ式の表記方法について理解できる.
|
4週 |
レイアウト(基本)【レイアウトペイン】 |
・基本となるレイアウトペインについて理解できる. ・VBOX,HBOXクラスについて理解できる.
|
5週 |
レイアウト(応用)【レイアウトペイン】 |
・様々なレイアウトペインの違いについて理解できる. ・AnchorPane,BorderPane,GridPaneを組み合わせてプログラムを作成できる.
|
6週 |
GUI部品【文字列の入力と項目の選択】 |
・文字列を入力するTextFieldクラスについて理解できる. ・プルダウンメニューを選択するComboBoxクラスについて理解できる.
|
7週 |
図形描画【図系の表示,マウスイベント】 |
・図形描画のためのShapeクラスについて理解できる. ・マウスイベント処理のためのMouseEventクラスについて理解できる.
|
8週 |
画像の表示【画像の取り扱い】 |
・画像表示のためのImageViewクラスについて理解できる. ・画像のPath,サイズ等を取り扱うImageクラスについて理解できる.
|
4thQ |
9週 |
線形探索【探索アルゴリズム】 |
・探索アルゴリズムで最も単純な線形探索について理解できる. ・線形探索と番兵法における配列の走査の終了条件の違いについて理解できる.
|
10週 |
二分探索【探索アルゴリズム】 |
・二分探索のアルゴリズムについて理解できる. ・線形探索と二分探索の計算量の違いについて理解できる.
|
11週 |
ハッシュ法【探索アルゴリズム】 |
・探索に加えて挿入と削除も行うことが出来るハッシュ法について理解できる. ・バケットの重複の対処方法であるチェイン法,オープンアドレス法について理解できる.
|
12週 |
アルゴリズムの時間計算量【オーダ表記】 |
・オーダと代表的な計算量について理解できる. ・線形探索,二分探索とハッシュ法の計算量の違いについて理解できる.
|
13週 |
様々なソート(1)【探索アルゴリズム】 |
・単純なソート法であるバブルソートについて理解できる. ・代表的な高速アルゴリズムの一つであるクイックソートについて理解できる.
|
14週 |
様々なソート(2)【探索アルゴリズム】 |
・データ間の階層構造,親子関係,包含関係を表現する木構造について理解できる. ・ヒープソートのアルゴリズム,またその他のソートとの計算量の違いを理解できる.
|
15週 |
線形リスト【リスト構造】 |
・線形リストと配列のアクセス・追加・削除における時間計算量の違いを理解できる. ・線形リストに関するいくつかの多肢選択問題に正しく回答することができる.
|
16週 |
総括 |
・全授業の振り返りを通して、自身の理解度を確認できる.
|