概要:
ソフトウェアなものづくりにおいて,OSS (オープンソースソフトウェア; Open Source Software) の利用は欠かせない.本演習では IoT (Internet of Things) を題材に, OSS を最大限に利用する経験やデータ処理プログラミングを自製する経験を積むことを目標とする.Raspberry Pi を用いた温度センサーの構築から始めて, サーバの構築,ネットワーク経由でのセンサー制御やデータ収集, 収集した大量のデータを解析・可視化するためのプログラミング, git, github などを使った自作プログラムの公開, を行う. 加えて,地域コミュニティと協働でのOSSイベントを開催し,OSSの特徴である「コミュニティ」に対する理解を深める.
授業の進め方・方法:
授業は演習形式で行い,テーマ毎に課題を課す. 課題レポートとチェックテストの結果を総合して評価する.チェックテストを 30%,課題レポートを 70%で評価し,60%以上を合格とする. また, 地域の OSS 関連イベントへ自主的に参加しレポートや作品を作成した場合には,適宜加点する.
注意点:
授業中に不明な点があれば,疑問を後まで残さず,教員に質問するよう心がけること.
|
|
週 |
授業内容 |
週ごとの到達目標 |
後期 |
3rdQ |
1週 |
IoTデバイス構築 (1) Raspberry Pi でセンサー利用 |
Linuxからのセンサ利用の基礎の修得
|
2週 |
IoTデバイス構築 (2) Raspberry Pi でセンサー利用 |
Linux サーバ構築の基礎の修得
|
3週 |
IoTデバイス構築 (3) Raspberry Pi でセンサー利用 |
Linuxからのセンサ利用の基礎の修得
|
4週 |
IoTデバイス構築 (4) Raspberry Pi でセンサー利用 |
Linuxからのセンサ利用の基礎の修得
|
5週 |
Ruby World Conference への参加 |
OSS への理解を深める
|
6週 |
Ruby World Conference への参加 |
OSS への理解を深める
|
7週 |
Linux サーバの構築 |
Linux サーバ構築の基礎の修得
|
8週 |
バージョン管理 (1) git, github |
バージョン管理システムを説明できる
|
4thQ |
9週 |
バージョン管理 (2) git, github |
バージョン管理システムを説明できる
|
10週 |
データ処理入門 (1) テキスト処理・数値データ処理 |
スクリプト型言語を用いたデータ処理を説明できる
|
11週 |
データ処理入門 (2) テキスト処理・数値データ処理 |
スクリプト型言語を用いたデータ処理を説明できる
|
12週 |
データ処理入門 (3) テキスト処理・数値データ処理 |
スクリプト型言語を用いたデータ処理を説明できる
|
13週 |
ハッカソンイベント(1) 「松江 City Hack」高専出張版 |
OSS への理解を深める
|
14週 |
ハッカソンイベント(2) 「松江 City Hack」高専出張版 |
OSS への理解を深める
|
15週 |
ハッカソンイベント(3) 「松江 City Hack」高専出張版 |
OSS への理解を深める
|
16週 |
ハッカソンイベント(4) 「松江 City Hack」高専出張版 |
OSS への理解を深める
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 変数の概念を説明できる。 | 3 | 後12,後13,後14 |
データ型の概念を説明できる。 | 3 | 後12,後13,後14 |
代入や演算子の概念を理解し、式を記述できる。 | 3 | 後12,後13,後14 |
制御構造の概念を理解し、条件分岐を記述できる。 | 3 | 後12,後13,後14 |
制御構造の概念を理解し、反復処理を記述できる。 | 3 | 後12,後13,後14 |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 3 | 後12,後13,後14 |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 3 | 後12,後13,後14 |
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。 | 3 | 後12,後13,後14 |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 3 | 後12,後13,後14 |
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。 | 3 | 後2,後3,後12,後13,後14 |
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。 | 3 | 後14 |
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。 | 3 | 後14 |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。 | 3 | 後14 |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。 | 3 | 後14 |
システムプログラム | コンピュータシステムにおけるオペレーティングシステムの位置づけを説明できる。 | 3 | 後4,後5,後7,後8,後9,後10,後11 |
プロセス管理やスケジューリングなどCPUの仮想化について説明できる。 | 2 | 後4,後5,後7,後8,後9,後10,後11 |
情報通信ネットワーク | プロトコルの概念を説明できる。 | 2 | 後4,後5,後7,後8,後9,後10,後11 |
プロトコルの階層化の概念や利点を説明できる。 | 2 | 後4,後5,後7,後8,後9,後10,後11 |
ローカルエリアネットワークの概念を説明できる。 | 2 | 後4,後5,後7,後8,後9,後10,後11 |
インターネットの概念を説明できる。 | 2 | 後4,後5,後7,後8,後9,後10,後11 |
TCP/IPの4階層について、各層の役割を説明でき、各層に関係する具体的かつ標準的な規約や技術を説明できる。 | 2 | 後4,後5,後7,後8,後9,後10,後11 |
主要なサーバの構築方法を説明できる。 | 3 | 後4,後5,後7,後8,後9,後10,後11 |
ネットワークを構成するコンポーネントの基本的な設定内容について説明できる。 | 2 | 後4,後5,後7,後8,後9,後10,後11 |
無線通信の仕組みと規格について説明できる。 | 2 | 後4,後5,後7,後8,後9,後10,後11 |
有線通信の仕組みと規格について説明できる。 | 2 | 後4,後5,後7,後8,後9,後10,後11 |
SSH等のリモートアクセスの接続形態と仕組みについて説明できる。 | 3 | 後4,後5,後7,後8,後9,後10,後11 |
基本的なルーティング技術について説明できる。 | 1 | 後4,後5,後7 |
基本的なフィルタリング技術について説明できる。 | 2 | 後4,後5,後7 |
情報通信ネットワークを利用したアプリケーションの作成方法を説明できる。 | 3 | 後4,後5,後7,後8,後9,後10,後11 |
その他の学習内容 | コンピュータウィルスやフィッシングなど、コンピュータを扱っている際に遭遇しうる代表的な脅威について説明できる。 | 2 | 後7 |
コンピュータを扱っている際に遭遇しうる脅威に対する対策例について説明できる。 | 2 | 後7 |
基本的な暗号化技術について説明できる。 | 3 | 後7 |
基本的なアクセス制御技術について説明できる。 | 3 | 後7 |
マルウェアやフィッシングなど、コンピュータを扱っている際に遭遇しうる代表的な脅威について説明できる。 | 2 | 後7 |
データモデル、データベース設計法に関する基本的な概念を説明できる。 | 3 | 後4,後5,後7 |
データベース言語を用いて基本的なデータ問合わせを記述できる。 | 3 | 後4,後5,後7 |