実践プログラミングⅡ

科目基礎情報

学校 東京工業高等専門学校 開講年度 平成28年度 (2016年度)
授業科目 実践プログラミングⅡ
科目番号 0007 科目区分 専門 / 必修
授業形態 演習 単位の種別と単位数 履修単位: 1
開設学科 情報工学科 対象学年 4
開設期 後期 週時間数 2
教科書/教材 Web教材
担当教員 北越 大輔

到達目標

数値計算の代表的なアルゴリズムについて理解し,それらをプログラムとして実装できる.
Java言語の習得を通してオブジェクト指向によるプログラム手法の基本を理解し実装できる.

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
数値計算の代表的なアルゴリズムについて理解し,それらをプログラムとして実装できる. 数値計算の代表的なアルゴリズムを理解し、自ら工夫してそれらをプログラムとして実装できる数値計算の代表的なアルゴリズムを理解し、具体的に手順を示すとプログラムを作成できる数値計算の代表的なアルゴリズムを理解していない。または当該アルゴリズムに関するプログラムを自力で作成できない
Java言語の習得を通してオブジェクト指向によるプログラム手法の基本を理解し実装できる.オブジェクト指向プログラミングの基本を理解し、実際にオブジェクト指向に基づいたプログラムを作成できるオブジェクト指向プログラミングの基本を理解しているオブジェクト指向プログラミングの基本を理解していない

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

教育方法等

概要:
数値計算の代表的なアルゴリズムについて学習する.
今までに学んだプログラミング技術をもとにして,多くの課題をこなすことで,より実践的な問題解決能力,プログラミング能力を身に付ける.
Java言語を通してオブジェクト指向によるプログラミング手法の基本を学ぶ.
授業の進め方・方法:
原則として,毎回の授業で課題の説明を行い,残りの時間はプログラムを作成する演習時間とする.ただし,数値計算アルゴリズムやアルゴリズムの習得に関わる周辺知識に関する理解度の確認や実行結果の正しさを確認するため,一部の課題ではプログラムの実装に加えてレポートの提出を求める.
注意点:
原則として授業の後半でJavaによるプログラミング演習を行う.課題が授業時間内に終わらないことも予想されるので,自宅にプログラム開発環境を構築することが望ましい.

授業計画

授業内容 週ごとの到達目標
後期
3rdQ
1週 ガイダンス
Java入門(1)
オブジェクト指向プログラミングとは
オブジェクト指向プログラミングの基本を理解し、簡単なJavaプログラムを作成できる
2週 Java入門(1)
オブジェクト指向プログラミングの基本を理解し、簡単なJavaプログラムを作成できる
3週 Java入門(2)
メソッドのオーバーロード
ファイル入出力
メソッドのオーバーロードの概念を理解し、ファイル入出力機能を活用したプログラムを作成できる
4週 行列演算(1) 行列の基本演算を実現するプログラムを作成できる
5週 行列演算(2) 行列の転置処理、ベクトルの回転処理について理解し、これらを実現するプログラムを作成できる
6週 行列演算(3)
連立方程式の解法(1)
掃出し法のアルゴリズムを理解し、当該アルゴリズムを実装できる
7週 連立方程式の解法(2) ガウスの消去法のアルゴリズムを理解し、当該アルゴリズムを実装できる
8週 連立方程式の解法(3) ガウスの消去法におけるピボット選択処理を理解し、当該処理を実装できる
4thQ
9週 非線形方程式の解法(1) 非線形方程式の反復解法の概要を理解し、その一つである線形反復法のアルゴリズムを理解した上で、当該アルゴリズムを実装できる
10週 非線形方程式の解法(2) 二分法のアルゴリズムを理解し、当該アルゴリズムを実装できる
11週 非線形方程式の解法(3) はさみうち法のアルゴリズムを理解し、当該アルゴリズムを実装できる
12週 非線形方程式の解法(4) ニュートン法のアルゴリズムを理解し、当該アルゴリズムを実装できる
13週 組合せ最適化問題の解法 組合せ最適化問題の一つであるTSPを対象に、当該問題の準最適解を求めるプログラムを実装できる
14週 課題の総まとめ 後期これまで実施した課題のうち、未完成のものを完成させる
15週 定期試験
16週

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

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野プログラミング変数とデータ型の概念を説明できる。3後1,後2
代入や演算子の概念を理解し、式を記述できる。3後1,後2,後3
制御構造の概念を理解し、条件分岐や反復処理を記述できる。3後1,後2
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。3後1,後2,後3
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。3後1,後2
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。3後1,後2
主要な言語処理プロセッサの種類と特徴を説明できる。2後1
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。1後2
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。1後4
ソフトウェアアルゴリズムの概念を説明できる。3後6,後7,後8,後9,後10,後11,後12,後13
与えられたアルゴリズムが問題を解決していく過程を説明できる。3後6,後7,後8,後9,後10,後11,後12,後13
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。3後4,後6,後7,後8,後9,後10,後11,後12
時間計算量や領域計算量などによってアルゴリズムを比較・評価できることを理解している。2後6,後9
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。3後1,後6,後7,後8,後9,後10,後11,後12
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。1後4,後6,後7,後8,後9,後10,後11,後12,後13
情報数学・情報理論コンピュータ上での数値の表現方法が誤差に関係することを説明できる。2後6,後7,後8
コンピュータ上で数値計算を行う際に発生する誤差の影響を説明できる。2後6,後7,後8
コンピュータ向けの主要な数値計算アルゴリズムの概要や特徴を説明できる。3後6,後7,後8,後9,後10,後11,後12
その他の学習内容少なくとも一つのメールツールとWebブラウザを使って、メールの送受信とWebブラウジングを行うことができる。3後5,後9,後11,後13

評価割合

試験課題相互評価態度ポートフォリオその他合計
総合評価割合40600000100
基礎的能力3050000080
専門的能力1010000020
分野横断的能力0000000