基礎プログラミング

科目基礎情報

学校 徳山工業高等専門学校 開講年度 平成31年度 (2019年度)
授業科目 基礎プログラミング
科目番号 0004 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 履修単位: 3
開設学科 情報電子工学科 対象学年 1
開設期 通年 週時間数 3
教科書/教材 前期は教科書なし、後期に購入予定
担当教員 奥本 幸,宮﨑 亮一

到達目標

1.問題解決の手順を考え、フローチャートに描ける。
2.フローチャートを、Java言語のプログラムに書ける。
3.プログラムが読める。
4.プログラムを実行し、その結果を確認できる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
問題解決の手順を考え、フローチャートに描ける。ほぼ正しいフローチャートが書ける。間違っている部分もあるが、一部正しく動くフローチャートが書ける。フローチャートを書いているが、正しい解が得られない。
フローチャートを、Java言語のプログラムに書ける。ほぼ正しいプログラムが書ける。間違っている部分もあるが、一部正しく動くプログラムが書ける。プログラムが書けない。
プログラムが読める。プログラムをトレースし、処理内容が説明できる。一部トレースできる。トレースできない。
プログラムを実行し、その結果を確認できる。実行し、正しい結果を確認できる。実行し、エラーが理解ででき、修正できる。実行し、エラーが修正せきない。

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

到達目標 B 1 説明 閉じる

教育方法等

概要:
ソフトウェア開発のために、次のようなプログラミング技術の基礎を修得する。
(1)コンピュータを使って問題を解く手順は1通りではない。この授業では、特に手順を考える力をつけることを目的とした授業を行う。
(2)問題を解く手順をフローチャートに表し、コンピュータで実行するためにプログラミングの方法を学 ぶ。プログラミング言語としては、現在広く普及しているJava言語を取り上げる。
(3)プログラミングの基本項目として次の項目を学ぶ。
  ・コンピュータシステムの構成 ・変数   ・入出力処理 ・条件分岐処理 ・繰り返し処理 
  ・配列   ・メソッド    ・引数機構 ・文字列処理
授業の進め方・方法:
プログラミング習得の王道は、読んで真似ることである。従って、授業では、まず各処理に関連した例題を取り上げ、その問題のプログラミングによる解決法とサンプルプログラムを示し、詳しく説明する。次にその解決法を真似ることで解決可能な課題に対してプログラムを制作し、実習を行う。この課題は次回の授業で解答・解説する。
 4回以降の授業は講義(90分)と実習(50分)に分かれる。講義では前回の復習(小テスト)、新規学習項目とその課題を提示する。課題を解く手順をフローチャートに表し、プログラムに変換したものをレポートとして、次回実習までに提出する。実習では自分が作成したプログラムを実行し、レポートを修正する。
 毎回、授業で使用する資料(前回の課題の解答例、新規学習項目、実習課題などをまとめたもの)を配布するので、ファイルに綴じて整理する。
 教室だけでなく、実習を行うPC室でも教科書、ノート、ファイルを必ず持参すること。
 本科目は必修得科目(卒業までに必修得)である。
注意点:
 基礎コンピュータ工学(1年)、コンピュータの基礎知識(1年)、プログラミング言語(2年)、プログラミング(2年)

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 オリエンテーション
問題を解く手順を考える(1)
フローチャートなどを用いて、作成するプログラムの設計図を作成することができる。
2週 問題を解く手順を考える(2) フローチャートなどを用いて、作成するプログラムの設計図を作成することができる。変数の概念を説明できる。 
3週 ソフトウェアの構成
プログラミング
コンピュータを動かすためのソフトウェアの存在、その種類等について学ぶ。また、コンピュータを使ってどのようにプログラムが作成され、実行されるかを実習を通して学ぶ。 
4週 データ型、及び変数の型、代入文 変数、データの型、代入や演算子の概念を理解し、式を記述できる。
5週 入力処理、出力処理 入出力を理解し、プログラムが書ける。
6週 条件分岐処理(1)
if文の制御構造を理解し、プログラムに記述できる
7週 条件分岐処理(2)
if-else文の制御構造を理解し、プログラムにできる
8週 中間試験 問題解決手順をフローチャートに表す方法、入出力処理、変数、代入文、if文について理解度を問う。
2ndQ
9週 条件分岐処理(3)
2重のif文を用いた制御構造を理解し、プログラムに記述できる
10週 答案返却
中間試験の解答を行う。
11週 for文(1) 反復処理の概念を理解し、プログラムに書ける。
12週 for文(2)   反復処理の概念を理解し、プログラムに書ける。
13週 for文(3) 二重のfor文の制御構造を理解し、プログラムが書ける。
14週 複雑な条件分岐と繰返し処理 複雑な問題を解く手順を考え、プログラムで処理できる。
15週 期末試験 条件分岐処理、繰返し処理を中心に、これまでに学んできた内容の理解度をみる。
16週 答案返却など 前期末試験の解答、解説を行う。
後期
3rdQ
1週 配列(1) 配列と添字の概念を説明できる。
2週 配列(2) 2次元配列が使える。
3週 配列(3) 配列に初期値を設定できる。
4週 while文 while文を用いた繰返処理の制御構造が説明でき、プログラムが書ける。
5週 無限ループとbreak文 無限ループとそれから抜け出る概念を理解し、プログラムに記述できる。
6週 実数型、文字型 データ型の概念を説明できる。
7週 変数の型変換 強制的な型変換の概念を説明でき、プログラム中で使える。
8週 中間試験 配列を中心に、これまでに学んだことの理解度を問う。
4thQ
9週 答案返却
メソッド(1)
メソッド、仮引数、実引数とは何かが説明でき、メソッドを用いたプログラムが書ける。
10週 フィールド変数 変数の概念を説明できる。
11週 メソッド(2) 戻り値のないメソッドと戻り値のあるメソッドを使い分けることができる。
12週 メソッド(3) メソッドへ配列を渡す方法を理解し、プログラムが書ける。
13週 文字列処理(1) Stringクラスと文字列処理メソッドが理解できる。 
14週 文字列処理(2) Stringクラスと文字列処理メソッドを用いたプログラムが書ける。
15週 期末試験 メソッドと文字列処理について理解度を問う。
16週 答案返却など 試験の解説を行う。

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

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

評価割合

試験レポート小テスト合計
総合評価割合602020100
基礎的能力0000
専門的能力602020100
分野横断的能力0000