プログラミング言語

科目基礎情報

学校 徳山工業高等専門学校 開講年度 令和04年度 (2022年度)
授業科目 プログラミング言語
科目番号 0037 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 履修単位: 1
開設学科 情報電子工学科 対象学年 2
開設期 前期 週時間数 2
教科書/教材 柴田望洋:新・明解Java入門 第2版 (SBクリエイティブ), 2020; 【参考書】飯塚ほか:『Javaで入門 はじめてのプログラミング』(森北出版), 高橋 麻奈:やさしいJava 第7版 ( SBクリエイティブ)
担当教員 髙山 泰博

到達目標

1年次の「基礎プログラミング」で学んだJava 言語の基本を再確認し,クラスの機能を学ぶことで,プログラミング言語を理解するための基本能力を養い,演習によって学習内容の応用力を身に着けることを目標とする。3年次の「アルゴリズムとデータ構造」で学ぶ内容の準備を行う。

ルーブリック

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

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

到達目標 C 1 説明 閉じる

教育方法等

概要:
1年生で習ったJava 言語の基本を再確認し,構文やクラスの機能を学ぶことで,Java言語だけでなく,今後,他のプログラミング言語を理解するための基本能力を養う。講義による座学とプログラム作成演習により、学習内容の応用力を身に着ける。
この科目は,企業で実際にプログラム作成に関わる実務を担当していた教員が,その経験を生かして,プログラミング言語の使用に関して講義形式や演習形式で授業を行うものである。
授業の進め方・方法:
座学により基本知識を学び,課題や演習により理解度の確認を行う。時間内に課題や演習を行う場合には,課題や演習が完成しなかった分が次回までの宿題になる。課題として時間内に小テストを行う場合がある。学生は,事前事後学習として,授業中に配布した学習シート等による課題およびプログラム作成演習を計約15時間行う。
注意点:
積み重ねて学習する科目のため,1年次の学習内容を含めて自分で復習を継続することが必須である。課題は小規模なプログラムまたは小テストとする。演習はやや大きめのプログラム作成とレポートとする。
成績評価式:試験点(60点満点) + 課題点(20点満点) + 演習点(20点満点); ここで, 試験点= 0.6×(中間試験点(百点満点)+期末試験点(百点満点)) ÷ 2 とする。ただし,小数点以下は四捨五入して計算する。

授業の属性・履修上の区分

アクティブラーニング
ICT 利用
遠隔授業対応
実務経験のある教員による授業

授業計画

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

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

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

評価割合

試験課題演習合計
総合評価割合602020100
基礎的能力600060
専門的能力015520
複合分野能力051520