アルゴリズム論(2022年度開講無し)

科目基礎情報

学校 鳥羽商船高等専門学校 開講年度 令和04年度 (2022年度)
授業科目 アルゴリズム論(2022年度開講無し)
科目番号 0014 科目区分 専門 / 選択
授業形態 講義 単位の種別と単位数 学修単位: 2
開設学科 生産システム工学専攻 対象学年 専1
開設期 前期 週時間数 前期:2
教科書/教材 新・Pythonで学ぶアルゴリズムとデータ構造 柴田望洋 ソフトバンククリエイティブ
担当教員 中古賀 理

到達目標

1.与えられたアルゴリズムが問題をといていく過程を説明できる.
2.同じ問題を解決する複数のプログラムを,時間計算量等の観点から比較できる.

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1データ構造とアルゴリズムの関係について説明できる.リスト構造,スタック,キューについて説明できる.基本的なプログラムを作成できない.
評価項目2整列・検索のプログラムを作成することができる.整列・検索のアルゴリズムを説明できる.整列・検索のアルゴリズムの説明ができない.
評価項目3時間計算量を計算し,アルゴリズムを比較することができる.時間計算量を説明できる.計算量の説明ができない.

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

教育方法等

概要:
本科目の目的は,効率的なプログラムを作成するための,基本的なアルゴリズムに関する知識と,実際にプログラムを作成することができる技術の習得である.
授業の進め方・方法:
・講義内容は,プログラミング言語にPythonを用いて説明をする.
・講義で取り上げたアルゴリズムは,演習問題,課題によって,実際にプログラムを作成して理解を深める.
注意点:
・Pythonに関するプログラミングの授業を履修していることが望ましい.
・講義前半で,Pythonによるプログラミングについて解説を行うが,Pythonを用いた基本的はプログラム能力は必須である.

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 ガイダンス 授業内容の工学的位置づけを説明できる.世の中で使われているアルゴリズムの具体例と効果が説明できる。
2週 アルゴリズムと基本データ構造 アルゴリズムとは何か説明できる.配列,構造体について説明できる.
3週 探索1 探索のアルゴリズムを説明できる.
4週 探索2 探索のプログラムを作成できる.
5週 再帰アルゴリズム1 再帰アルゴリズムを説明できる.
6週 再帰アルゴリズム2 再帰アルゴリズムが作成できる.
7週 中間試験 中間試験
8週 スタックとキュー スタックとキューのプログラムを作成できる.
2ndQ
9週 集合 集合のプログラムが作成できる.
10週 整列1 整列のアルゴリズムを説明できる.
11週 整列2 整列のプログラムを作成できる.
12週 文字列探索 文字列探索のプログラムが作成できる.
13週 線形リスト 線形リストのプログラムを作成できる.
14週 木構造 木構造のアルゴリズムを作成できる.
15週 定期試験 定期試験
16週 試験解説と総括 間違った問題を解くことができる.

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

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野プログラミング変数とデータ型の概念を説明できる。4
制御構造の概念を理解し、条件分岐や反復処理を記述できる。4
代入や演算子の概念を理解し、式を記述できる。5
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。5前10
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。5
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。5
主要な言語処理プロセッサの種類と特徴を説明できる。5
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。5
プログラミング言語は計算モデルによって分類されることを説明できる。5
主要な計算モデルを説明できる。5
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。5
ソフトウェア時間計算量や領域計算量などによってアルゴリズムを比較・評価できることを理解している。5
アルゴリズムの概念を説明できる。5
与えられたアルゴリズムが問題を解決していく過程を説明できる。5
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。5
整列、探索など、基本的なアルゴリズムについて説明できる。5
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。5
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。5
リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。5
ソフトウェアを中心としたシステム開発のプロセスを説明できる。5
ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。5
同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。5

評価割合

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