プログラミング実習Ⅱ

科目基礎情報

学校 旭川工業高等専門学校 開講年度 2017
授業科目 プログラミング実習Ⅱ
科目番号 0034 科目区分 専門 / 必修
授業形態 実習 単位の種別と単位数 履修単位: 2
開設学科 電気情報工学科 対象学年 3
開設期 通年 週時間数 前期:2 後期:2
教科書/教材 教科書: 「Java① はじめてみようプログラミング」三谷純 著,翔泳社 参考書: 「Java② はじめてみようプログラミング」三谷純 著,翔泳社 「Java データ構造とアルゴリズム基礎講座」長尾和彦 著,技術評論社 「Java プログラミング徹底入門 基礎編」内田智史 著,電波新聞社 など
担当教員 笹岡 久行

到達目標

1. 統合開発環境を利用して,与えられた問題に対してそれを解決するためのソースプログラムを記述できる。
2. 代表的なアルゴリズムやデータ構造について説明することができる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1オブジェクト指向型プログラミング言語の特徴を理解し,初めて見る問題についても自力でプログラムを作成することができる。条件分岐,繰り返しを含むプログラムが書ける。 条件分岐と繰り返しの違いを理解できない。
評価項目2代表的なアルゴリズムやデータ構造の特徴を理解し,初めて見る問題についても使い分けて,プログラムを作成することができる。代表的なアルゴリズムやデータ構造の特徴を理解し,説明することができる。代表的なアルゴリズムやデータ構造の特徴を説明することができない。

学科の到達目標項目との関係

学習・教育到達度目標 電気情報工学科の教育目標② 説明 閉じる
学習・教育到達度目標 本科の教育目標② 説明 閉じる

教育方法等

概要:
プログラミング言語の1 つであるJava はBASIC やC 言語と同様に,広くプログラミング教育に利用されている。本授業ではプログラミング言語であるJavaの文法事項の修得に加え,この言語の特徴の1 つであるオブジェクト指向の概念の理解を目指す。そして,その応用として,グラフィカルユーザインターフェイス(GUI)アプリケーションの作成方法や種々のアルゴリズムを用いたプログラムの作成方法についても説明する。また,プログラム作成等の演習には可能な限り多くの時間を割く予定である。
授業の進め方・方法:
教科書や配布資料にあるサンプルプログラムを通して文法事項を確認する。そして,それを基にして各自でプログラム作成を行う。また,演習を通してその定着を図っていく。
注意点:
・自学自習時間(60時間)は,日常の授業(30時間)に対する予習復習,レポート課題の課題作成時間,試験のための学習時間を総合したものとする。
・評価については,合計点数が60点以上で単位修得となる。
・これまでのプログラミング実習の授業を履修したことにより,制御構造や配列の考え方等の基礎知識は既に理解されているものとして授業を進める。
・本科目ではこれまでに身に付けた知識を基に,自らプログラムを作成することにより多くの時間を費やす。これはプログラミング言語の修得には机上の文法学習だけでは不十分であり,自分でできるだけ多くのプログラムを作成することが必要となるからである。
・授業時間以外の自学自習による演習には十分な時間を割いて欲しい。

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 Java と統合開発環境 プログラミング言語Java の特徴が説明できる。統合開発環境を利用し,プログラムの編集,コンパイル及び実行することができる。また,型(基本形)について説明することができる。
2週 制御構造 「条件分岐」 if文,if~else文,swtich文の使い方が説明できる。
3週 制御構造 「繰り返し」 for文,while文,do~while文の使い方が説明できる。
4週 制御構造 演習1 制御構造を組み合わせたプログラムを読み,その処理内容を説明できる。
5週 制御構造 演習2 制御構造を利用した簡単なプログラムを作ることができる。
6週 配列 1次元配列と多次元配列の宣言方法や値の参照のやり方を説明できる。
7週 配列
次週、前期中間試験を実施する
学んだ知識の確認ができる。
8週 答案返却と解説 学んだ知識の再確認と修正ができる。
2ndQ
9週 クラスの基本 クラスの宣言方法が説明できる。インスタンスの生成方法が説明できる。
10週 クラスの基本 演習 クラスを利用した簡単なプログラムを作ることができる。
11週 メソッド メソッドの宣言方法が説明できる。コンストラクタの働きが説明できる。
12週 クラスの一歩進んだ使い方「オーバーロード」 オーバーロードの働きが説明できる。クラス変数とクラスメソッドの働きが説明できる。
13週 継承 クラスの継承について説明できる。
14週 ポリモーフィズム ポリモーフィズムの働きについて説明できる。アクセス修飾子の違いについて説明できる。
15週 抽象クラス 抽象クラスについて説明できる。インターフェイスの役割について説明できる。
16週 前期末試験 学んだ知識の確認ができる。
後期
3rdQ
1週 アルゴリズム 1 基本的なソーティングアルゴリズムについて説明できる。
2週 アルゴリズム 2 ソーティングアルゴリズムを用いた簡単なプログラムを作成できる。
3週 例外処理 例外処理が必要な場合について説明できる。例外オブジェクトの違いについて説明できる。
4週 入出力処理 「入力処理1」 標準入力からの処理が説明できる。
5週 入出力処理 「入力処理2」 ファイルからの入力処理および出力処理が説明できる。
6週 入出力処理 演習 「例外処理」と「入出力処理」を用いたプログラムを作成することができる。
7週 演習
次週、後期中間試験を実施する
学んだ知識の確認ができる。
8週 試験答案返却と解説 学んだ知識の再確認と修正ができる。
4thQ
9週 コレクションフレームワーク 1 Array Listの特徴を説明できる。
10週 コレクションフレームワーク 2 マップとセットの特徴を説明できる。拡張for文とイテレータの役割を説明できる。
11週 データ構造 データ構造の「スタック」と「キュー」の特徴を説明できる。
12週 GUI 1 フレームを用いたプログラムが作成できる。レイアウトマネージャを利用し,コンポーネントを配置したプログラムを作成することができる。
13週 GUI 2 ボタンなどのコンポーネントに対するイベント処理を説明できる。
14週 GUI 3 描画処理のプログラムを説明できる。マウスのイベント処理が説明できる。
15週 学年末試験 学んだ知識の確認ができる。
16週 試験答案返却と解説 学んだ知識の再確認と修正ができる。

モデルコアカリキュラムの学習内容と到達目標

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学電気・電子系分野情報プログラミング言語を用いて基本的なプログラミングができる。2

評価割合

試験レポート合計
総合評価割合6040100
基礎的能力503080
専門的能力10010
分野横断的能力01010