プログラミング言語

科目基礎情報

学校 徳山工業高等専門学校 開講年度 平成31年度 (2019年度)
授業科目 プログラミング言語
科目番号 0023 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 履修単位: 1
開設学科 情報電子工学科 対象学年 2
開設期 前期 週時間数 2
教科書/教材 『明解入門 Java』(1年の基礎プログラミングで使用したもの); 参考書:高橋 麻奈:やさしいJava 第7版 ( SBクリエイティブ)
担当教員 髙山 泰博

到達目標

Java 言語の基本を再確認し,クラスの機能を学ぶことで,プログラミング言語を理解するための基本能力を養い,学習内容の応用力を身に着けることを目標とする。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
プログラミング言語の理解プログラミング言語Javaの基本構文にそって正しくプログラムを書くことができる。プログラミング言語Javaの基本構文にそってほぼ正しくプログラムを書くことができる。プログラミング言語Javaの基本構文にそって正しくプログラムを書くことができない。
プログラミング演習プログラミング言語Javaの基本構文に関する演習を一人でこなすことができる。プログラミング言語Javaの基本構文に関する演習をほぼ一人でこなすことができる。プログラミング言語Javaの基本構文に関する演習を一人でこなすことができない。
クラスの基礎クラスを用いた基本的なプログラムを書くことができる。クラスを用いた基本的なプログラムを読むことができる。クラスを用いた基本的なプログラムを読むことができない。

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

到達目標 B 1 説明 閉じる

教育方法等

概要:
1年生で習ったJava 言語の基本を再確認し、クラスの機能を学ぶことで、他のプログラミング言語を理解するための基本能力を養う。講義による座学とプログラム作成演習により、学習内容の応用力を身に着ける。
この科目は,企業で実際にプログラム作成に関わる実務を担当していた教員が,その経験を生かして、プログラミング言語の使用に関して講義形式や演習形式で授業を行うものである。
授業の進め方・方法:
座学により基本知識を学び,演習により理解度の確認を行う。時間内に演習を行う場合には,演習問題が完成しなかった分が次回までの宿題になる。
事前事後学習として,授業中に配布した学習シートによる演習およびプログラム作成演習を計約15時間行う。
注意点:
積み重ねて学習する科目のため、1年次の学習内容を含めて自分で復習を継続することが必須である。

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 直線的プログラミング:プログラムの作成方法を復習し、変数(の型)、定数、値、代入文、演算子などを復習する。
【事前事後学習の内容(1時間)】学習シート
変数,定数,型について理解し,代入文を正しく書くことができる。
2週 プログラムの基本構造:分岐と繰り返し、および文字と数値の出力文の書式などを復習する。
【事前事後学習の内容(1時間)】学習シート
分岐や繰り返しを含むプログラムを書くことができる。
3週 メソッドの基本:プログラムのモジュール化について復習する。
【事前事後学習の内容(1時間)】プログラミング演習
メソッドを用いたプログラムを書くことができる。
4週 「基本の復習」の復習:アルゴリズムの基本とトレース方法について振り返る。
【事前事後学習の内容(1時間)】プログラミング演習
これまでに習ったJava言語の基本要素を理解できているか確認し,プログラムの動作にそったトレースができる。
5週 文字、文字列と配列:文字列のしくみを再確認し、文字列を含む基本データ構造について学ぶ。
【事前事後学習の内容(1時間)】プログラミング演習
文字,文字列,配列について理解していることを確認し,それらを用いたプログラムを書くことができる。
6週 文字列配列とコマンドライン: OSと応用プログラムの橋渡しの方法について学ぶ。
【事前事後学習の内容(2時間)】プログラミング演習
コマンドライン引数を使ったプログラムを書くことができる。
7週 ネスト構造:プログラム構造の階層化と変数の有効範囲について学ぶ。
【事前事後学習の内容(1時間)】学習シート
ネスト構造を持ったプログラムを書くことができる。
8週 中間試験:Javaプログラムの基本的な事項について試験する。 Javaプログラムの基本事項を習得して理解できているか,基本的なプログラムが書けるかを確認する。
2ndQ
9週 アルゴリズムの工夫:幾つかの代表的なアルゴリズムの基礎を学ぶ。
【事前事後学習の内容(1時間)】プログラミング演習
指定されたアルゴリズムに基づいたプログラムを書くことができる。
10週 ファイル入出力:実用的なプログラムの作成に向けて、ファイル処理の基礎について学ぶ。
【事前事後学習の内容(1時間)】プログラミング演習
ファイル入出力をともなうプログラムを書くことができる。
11週 多次元配列、実数の表現と計算方法:データ構造の拡張により、自然界の情報のプログラムへの反映方法を学ぶ。 多次元配列や実数の表現方法を理解し,それらを用いたプログラムを書くことができる。
12週 クラスの基本:クラスのしくみ、クラスの利用方法を学ぶ。【事前事後学習の内容(1時間)】プログラミング演習
クラスとは何かを理解し,複数のクラスをもつプログラムをかくことができる。
13週 クラスの機能と利用:クラス型やインスタンスについて学ぶ。メンバへのアクセス制限、private修飾子などを学習する。
【事前事後学習の内容(1時間)】学習シート
クラスとインスタンスの関係について理解し,インスタンスを生成して使ったプログラムを書くことができる。
14週 クラスの機能の拡張:クラスの継承やプログラムの流用方法について学習する。
【事前事後学習の内容(2時間)】プログラミング演習
クラスの継承について理解することができるかを確認する。
15週 期末試験:中間試験の試験範囲の復習、配列、クラス、オブジェクト(インスタンス)、ファイル入出力に関する問題を出題する。 Java言語の機能を理解し,それを用いたプロうグラムが作成できることを確認する。
16週

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

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野プログラミング代入や演算子の概念を理解し、式を記述できる。4前1
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。4前3
変数の概念を説明できる。4前1
データ型の概念を説明できる。4前12
制御構造の概念を理解し、条件分岐を記述できる。4前2
制御構造の概念を理解し、反復処理を記述できる。4前2
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。4前1
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。4前1
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。4前4
主要な言語処理プロセッサの種類と特徴を説明できる。2前1
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。2前1
プログラミング言語は計算モデルによって分類されることを説明できる。2前9
主要な計算モデルを説明できる。2前9
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。3前8
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。3前8
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。3前8
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。3前8
分野別の工学実験・実習能力情報系分野【実験・実習能力】情報系【実験・実習】与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。3前9
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。3前10,前14
ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。3前11,前13
フローチャートなどを用いて、作成するプログラムの設計図を作成することができる。3前12,前13
問題を解決するために、与えられたアルゴリズムを用いてソースプログラムを記述し、得られた実行結果を確認できる。3前10,前14
与えられた仕様に合致した組合せ論理回路や順序回路を設計できる。2前2

評価割合

試験課題演習合計
総合評価割合601030000100
専門的能力601030000100