データサイエンス基礎実習

科目基礎情報

学校 旭川工業高等専門学校 開講年度 令和05年度 (2023年度)
授業科目 データサイエンス基礎実習
科目番号 082 科目区分 専門 / 必修
授業形態 実習 単位の種別と単位数 履修単位: 1
開設学科 電気情報工学科(2021年度以降入学者) 対象学年 3
開設期 前期 週時間数 2
教科書/教材 「ゼロから学ぶPythonプログラミング」渡辺宙志 著,講談社.
担当教員 笹岡 久行

到達目標

1. 与えられた問題に対してそれを解決するためのソースプログラムを記述できる。
2. 代表的なアルゴリズムやデータ構造について説明することができる。
3. 人工知能やデータサイエンスに関する知識を利用し,実際の問題に適用することができる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1自分の力だけで様々な文法事項を含むプログラムの読み書きができる.書籍等を参考にして,様々な文法事項を含むプログラムの読み書きができる。条件分岐や繰り返し等のプログログラムにおける処理の制御を理解できない.
評価項目2代表的なアルゴリズムやデータ構造の特徴を理解し,初めて見る問題についても使い分けて,自分の力だけでプログラムを作成することができる.代表的なアルゴリズムやデータ構造の特徴を理解し,書籍等を参考にして,プログログラムの作成や説明することができる.代表的なアルゴリズムやデータ構造の特徴を説明することができない.

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

  電気情報工学科の教育目標③ 説明 閉じる
本科の教育目標② 説明 閉じる

教育方法等

概要:
プログラミング言語「Python」は,データサイエンスや人工知能の分野等において多くの利用されている.本授業ではプログラミング言語「Python」の特徴を理解し,文法事項の修得を目指す,そして,この応用として,種々のアルゴリズムを用いたプログラムの作成方法についても学ぶ.また,科目の性質上,プログラム作成等の演習には可能な限り多くの時間を割く予定である.
授業の進め方・方法:
教科書や資料にあるサンプルプログラムを通して文法事項を確認する.そして,それを基にして各自でプログラムの作成を行う.さらには,演習問題を通してその定着を図っていく。
注意点:
・自学自習時間は,日常の授業に対する予習・復習,演習問題の解答作成時間,試験のための学習時間を総合したものとする.
・評価については,合計点数が60点以上で単位修得となる.
・本科目ではこれまでに身に付けたプログラミングや情報工学,計算機工学等の知識を基に,自らプログラムを作成することにより多くの時間を費やす.

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 Pythonの概要 プログラミング言語Python の特徴が説明できる.開発環境方法や各開発環境の特徴を説明することができる.さらには,計算機能を利用することができる.
2週 条件分岐と繰り返し処理(1) 変数の扱い方が説明できる。「if」を用いた条件分岐について説明できる.「for」を用いた繰り返し処理について説明することができる.
3週 条件分岐と繰り返し処理(2) 「while」を用いた繰り返し処理について説明することができる.「ニュートン法」のアルゴリズムについて説明することができる.
4週 関数 関数の作り方や呼び出し方を説明することができる.変数の「スコープ」について説明することができる.
5週 リストとタプル 「リスト」と「タプル」の特徴について,それぞれ説明することができる.「リスト内包表記」を用いたプログログラムを作成する方法を説明することができる.
6週 文字列処理 「辞書型」のデータ構造の特徴を説明することができる.正規表現を用いた文字列処理を含むプログログラムの処理内容を説明することができる.
7週 ファイル操作 ファイルの入出力処理について説明することができる.
8週 中間試験 学んだ知識の確認ができる。
2ndQ
9週 再帰呼び出し 「再帰」の特徴を説明することができる.「再帰呼び出し」を利用したプログログラムを作成することができる.
10週 クラス プログラミングにおけるオブジェクト指向の特徴を説明することができる.「クラス」を定義することができる.「コンストラクタ」の役割を説明することができる.
11週 ライブラリ 「ライブラリ」の働きを説明することができる.「NumPy」を用いて簡単な行列演算のプログラムを作る方法を説明することができる.「SciPy」の特徴を説明することができる.
12週 動的計画法 代表的な「最適化問題」に関するアルゴリズムを説明することができる.
13週 乱数を使ったプログラム 「疑似乱数」について説明することができる.乱数を利用したプログラムの作り方を説明することができる.
14週 簡単な機械学習 機械学習の処理について説明することができる.
15週 期末試験 学んだ知識の確認ができる。
16週 演習 これまで学んだ知識を利用して,プログラムを作ることができる.

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

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

評価割合

試験レポート合計
総合評価割合6040100
基礎的能力402060
専門的能力202040
分野横断的能力000