プログラミング

科目基礎情報

学校 鳥羽商船高等専門学校 開講年度 平成29年度 (2017年度)
授業科目 プログラミング
科目番号 0093 科目区分 専門 / 必修
授業形態 演習 単位の種別と単位数 履修単位: 2
開設学科 制御情報工学科 対象学年 2
開設期 通年 週時間数 2
教科書/教材 自作教材
担当教員 白石 和章

到達目標

・制御構造の概念を理解し、条件分岐や反復処理を記述できる。
・Linux環境においてソフトウエア開発に利用する標準的なツールの機能を理解しプログラム作成に生かすことができる。
・クラス図を理解し、クラス図を元にしたプログラムを作成できる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安到達レベルの目安(可)
条件分岐や反復処理を組み合わせて使用する実践的なプログラムを作成できる。条件分岐や反復処理を組み合わせて使用する単純なプログラムを作成できる。単独の条件分岐や反復処理を使用するプログラムを作成できる。
Linux環境を使用しソースコードの作成・修正を効率的に行うことができる。 デバッガを使って、デバッグを効率的に行える。Linux環境を使用しソースコードの作成・修正を行うことができる。 デバッガを使って、デバッグを行える。Linux環境を使用しソースコードの作成・修正を行うことができない。 デバッガを使って、デバッグを行えない。
多段継承を表すクラス図にそったクラスを生成し、インスタンスを使用できる。継承を表すクラス図にそったクラスを生成し、インスタンスを使用できる。クラス図にそったクラスを生成し、インスタンスを使用できる。

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

教育目標 (A1) 説明 閉じる

教育方法等

概要:
基本的な制御構造の概念と使用方法を理解し、プログラムを作成する力を身につける。その際、ソフトウエア開発に利用する標準的なツールの機能を理解しプログラム作成に生かす能力を養う。さらにオブジェクト指向言語におけるクラス・インスタンスの概念を理解しクラス図を用いたソフトウェア開発の基礎を学ぶ。使用言語は、Pythonを用い、異なった言語間で共通しているオブジェクト指向概念に関しての理解を深める。
授業の進め方・方法:
・ 授業は講義+演習形式で行う、講義中は集中して聴講し、演習中は演習に集中すること
・ 毎週レポート課題を課すので、期限に遅れず提出すること
注意点:
・ 予習復習を実施しなければ十分に理解できないため、自宅のパソコンにも統合開発環境を導入すること
・ 電子メールやLMSを用いた連絡を適宜行うため、スマートフォンやタブレットの操作に慣れること

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 Linux環境の基礎
仮想環境とは何か説明できる。Linux上でファイルのコピーや移動ができる。
2週 Python言語の基礎1 ハローワールドのような単純なプログラムを動作させることができる。
3週 Python言語の基礎2 代表的な演算子を知っており、簡単な演算を行える。
4週 Python言語の基礎2 代表的な型を知っており、用途に応じて使い分けができる。
5週 Python言語の基礎3 変数を使用して簡単な演算や標準出力を行うことができる。
6週 Python言語の基礎4 if文を使用するのに、インデントでブロックを表すことが理解できる。
7週 Python言語の基礎5 正しくインデントを用いてif文(条件分岐)を意図どおりプログラムできる。
8週 前期中間試験
2ndQ
9週 クラスとインスタンス クラスとインスタンスの概念を理解する。
10週 メソッド メソッドを理解し使用できる。
11週 変数の扱い 変数の扱いを理解し使用できる。
12週 継承1 継承を理解できる。
13週 継承2 継承を理解し使用できる。
14週 継承3 継承を使用すると良いケースを理解し、実践的なプログラムに応用できる。
15週 オーバーライド オーバーライドについて理解し、使用することができる。
16週
後期
3rdQ
1週 Pythonの応用1 テキストファイルへの書き込みを行える。その際、書き込みモードと追記モードを使い分けできる。
2週 Pythonの応用2 テキストファイルから読み込みを行える。その際、行単位で読み込む場合と全てを読み込む場合を使い分けできる。
3週 Pythonの応用3 構造化テキストの代表的なものをあげることができ、構造化テキストからの読み込みや、書き込みを行うことができる。
4週 Pythonの応用4 代表的モジュールを使用することができる。
5週 Pythonの応用5 代表的モジュールを使用してより実践的なプログラムを作成できる。
6週 Pythonの応用6 複数のモジュールを組み合わせてより高度な機能を実現できる。
7週 Pythonの応用7 目的に合わせたモジュール等を使って実践的なプログラムを作成できる。
8週 後期中間試験
4thQ
9週 実践1 データスクレイピングの基礎的な機能を理解できる。
10週 実践2 データスクレイピングの基礎的な基礎機能を動作させることができる。
11週 実践3 データスクレイピングの基礎的な機能を自分でプログラムを作成し動作させることができる。
12週 実践4 目的にあわせたデータスクレイピングを行うプログラムを作成できる。
13週 実践5 収集したデータを処理するための基礎的な手法を知っている。
14週 実践6 収集したデータを処理するための基礎的な手法を使ってデータ解析を行える。
15週 試験返却
16週

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

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野プログラミング変数とデータ型の概念を説明できる。3
代入や演算子の概念を理解し、式を記述できる。3
制御構造の概念を理解し、条件分岐や反復処理を記述できる。3
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。3
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。3後2
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。3
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。2
ソフトウェアアルゴリズムの概念を説明できる。2
与えられたアルゴリズムが問題を解決していく過程を説明できる。2
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。1
時間計算量や領域計算量などによってアルゴリズムを比較・評価できることを理解している。1
整列、探索など、基本的なアルゴリズムについて説明できる。2

評価割合

試験発表相互評価態度課題その他合計
総合評価割合60000400100
基礎的能力0000000
専門的能力60000400100
分野横断的能力0000000