情報処理基礎

科目基礎情報

学校 香川高等専門学校 開講年度 令和03年度 (2021年度)
授業科目 情報処理基礎
科目番号 211216 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 履修単位: 4
開設学科 電気情報工学科(2019年度以降入学者) 対象学年 3
開設期 通年 週時間数 4
教科書/教材 1. やさしく学べるC言語(978-4781913599)2. Java の絵本 第3 版 Java が好きになる新しい9 つの扉(978- 4798150376),3.いちばんやさしいPythonの教本(978-4295002086),4.いちばんやさしいPython機械学習 の教本(978-4295006411)
担当教員 村上 幸一,中山 純平

到達目標

1.C言語のプログラミングにおける応用的な内容について習得する.
2.JAVA言語の学習を通じて,オブジェクト指向プログラミングについて理解する.
3.Python言語を用いて,基本的なプログラミングを行うことができる.
4.機械学習の概要を理解し,Python言語を用いて基礎的なデータ処理を行うことができる.

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
C言語の応用プログラミングC言語の応用プログラミング技報について理解し,自身のプログラミングに活用することが出来る.C言語の応用プログラミング技報について理解し,演習プログラミング課題を行うことができる.C言語の応用プログラミング技報についての理解が不十分である.または演習プログラミング課題を行 うことができない.
オブジェクト指向プログラミングオブジェクト指向プログラミングについて理解し,自身のプログラミングに活用することが出来る.オブジェクト指向プログラミングについて理解し,課題プログラムを作成できる.オブジェクト指向プログラミングについての理解が不十分である.または課題プログラムを作成することが出来ない.
Python言語の基本的なプログラミングPython言語の基本プログラミング技報について理解し,自身のプログラミングに活用することが出来る.Python言語の基本プログラミング技報について理解し,課題プログラムを作成できる.Python言語の基本プログラミング技報についての理解が不十分である.または課題プログラムを作成することが出来ない.
機械学習の概要とデータ処理機械学習の概要とデータ処理について理解し,自身で機械学習プログラムを作成することができる.機械学習の概要とデータ処理について理解し,課題プログラムを作成できる.機械学習の概要とデータ処理についての理解が不十分だる.または課題プログラムを作成することができない.

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

教育方法等

概要:
4年以上の専門科目,卒業研究で必要なプログラムを自力で作成できる力を養うことを目標とする。創造工学実験実習Ⅱの学習内容を発展させ,実用的なプログラムが作成できるようにする。さらに、コンピュータとインターネットを利用するうえでのルールとマナーを理解する。
授業の進め方・方法:
プログラミングの実習を中心に授業を進める。実習では,学生が自主的にプログラミングを行う機会(総合演習)を設ける。レポートの提出に加え,作成したプログラムのデモンストレーションを行う機会も設ける。
注意点:
C言語のプログラミングでは,創造工学実験実習Ⅱ(2年)の教科書を引き続き使用する。

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 ガイダンス
第6章 関数
本授業に関するガイダンスを行う.
6.1~6.6までの内容について学習する.
2週 第6章 関数 6.7の内容について学習する.
プログラミング実習(6章)
3週 第7章 ポインタ 7.1~7.6までの内容について学習する.
4週 第7章 ポインタ プログラミング実習(7章)
5週 第8章 ファイルの操作 8.1~8.6までの内容について学習する.
6週 第8章 ファイルの操作 8.7~8.8までの内容について学習する.
プログラミング実習(8章)
7週 第9章 数値計算プログラミングに挑戦 9.1~9.4までの内容について学習する.
プログラミング実習(9章)
8週 第9章 数値計算プログラミングに挑戦
前期中間試験

2ndQ
9週 第10章 記憶領域の動的確保 10.1~10.6までの内容について学習する.
10週 第10章 記憶領域の動的確保 10.7までの内容について学習する.
プログラミング実習(10章)
11週 第11章 文字列の扱い 11.1~11.6までの内容について学習する.
12週 第11章 文字列の扱い 11.7までの内容について学習する.
プログラミング実習(11章)
13週 第12章 構造体と新たな型の定義
12.1~12.3までの内容について学習する.
プログラミング実習(12章)
14週 第13章 エラーとデバッグ
第14章 分割コンパイル
第15章 ライブラリ
13.1~13.3までの内容について学習する.
14.1~14.3までの内容について学習する.
15.1~15.3までの内容について学習する.
15週 プログラミング総合実習 総合的なプログラミング実習を行う。
16週 前期期末試験
後期
3rdQ
1週 Java言語
(1)オブジェクト指向
(2)Java言語の概要と開発環境のセットアップ
(3)基本的なプログラム
変数、数値型、文字、文字列,配列、多次元配列
・オブジェクト指向とはどのようなものか理解する。
・Java言語の特徴と,開発環境について理解し説明できる。
・プログラムにおける型と配列を理解し説明することができる。
2週 (4)演算子
 算術演算子、比較演算子、論理演算子、演算子の優先度
(5)制御文
 条件分岐、繰り返し
・演算子を理解し,優先度に基づいた使用ができる。
・条件分岐,繰り返し文を理解し説明できる。
3週 (6)クラスの基礎と継承
(7)インタフェース、抽象クラス、多態性
・修飾子を理解し,適切な修飾子を適用できる。
・抽象クラスとインタフェースの特性を理解し説明できる。
・多態性を理解し,説明できる。
・クラスの継承を理解し,継承を定義できる。
4週 (8)ファイルとストリーム
(9)パッケージの利用
JAVA言語 総合演習課題
・ファイルへの文字/バイナリの読み書き方法を理解し説明できる。
・パッケージを理解し説明できる。
JAVA言語の総合演習課題についてプログラミングを行う.
5週 JAVA言語 総合演習課題 JAVA言語の総合演習課題についてプログラミングを行う.
6週 【Python言語】
1.機械学習とは
2.機械学習の開発環境の準備
機械学習と関連する技術について学習する.
データ収集と前処理について学習する.
機械学習のアルゴリズムの種類について学習する.
機械学習システムを運用する仕組みについて学習する.
7週 3.Pythonプログラミングの基礎
4.繰り返しと条件分岐
Python言語の基礎文法について学習する.
C言語,JAVA言語と異なる部分を中心に要点を解説する.
8週 5.辞書とファイルの扱い
後期中間試験
辞書とファイルの扱いについて学習する.
後期中間試験
4thQ
9週 6.会話botの作成
7.ライブラリの利用方法
単純な応答をする会話botを作成する.
Pythonの標準ライブラリの使用方法について学習する.
10週 8.Webアプリケーションの作成
9.会話botのWebアプリケーション化
Webアプリケーションの作成方法について学習する.
会話botのWebアプリケーション化を行う.
11週 10.スクレイピングでのデータ収集 スクレイピング(Webサイトから情報を抽出するコンピュータソフトウェア技術)について学習する.
12週 11.日本語文章の生成 自然言語処理で使用されるモデルやアルゴリズムについて学習する.
マルコフ連鎖で文章を自動生成する手法について学習する.
文章を自動生成するbotコマンドを作成する.
13週 12.手書き文字の認識 手書き文字認識の手法について学習する.
scikit-learnのデータセットの利用方法について演習する.
分類モデルの精度を評価を行う.
pybotへの組み込みを行う.
14週 13.表形式のデータの前処理 必要なライブラリのインストールを行う.
pandasでのファイルの読み込みについて学習する.
pandasでの表データからの行の取り出し方法について学習する.
15週 Python言語 総合演習課題 Python言語の総合演習課題についてプログラミングを行う.
16週 後期期末試験

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

分類分野学習内容学習内容の到達目標到達レベル授業週

評価割合

試験レポート合計
総合評価割合5545100
C言語282250
Java言語5510
Python言語221840