到達目標
1.コーディング規約を理解し、規約に沿ったわかりやすくメンテナンスしやすい実践的コーディングを行える。
2.ネットワークおよびセキュリティに関する基礎知識を身に着けており、ネットワークプログラミングに活かすことができる。
3.履歴管理ツールを使用して、複数人でレビュー、修正依頼、修正内容確認を行える。
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
コーディング規約の理解・実践 | 規約に沿ったわかりやすくメンテナンスしやすい実践的コーディングレベルに達している。 | ある程度の規約は守ることができるが変数名、メソッド名が分かりにくいコーディングレベル。 | 最低限の動作はするが、他人に読みづらくバグを誘発するようなコーディングレベル。 |
ネットワークに関する基礎知識・理解・実践 | ネットワークに関する基礎知識を身に着けており、ネットワークプログラミングに活かすことができる。また、ネットワーク・セキュリティについて理解し実践できる。 | OSI7層のうちL1からL4までを理解し、ネットワークプログラミングに活かすことができ、ネットワーク・セキュリティについても理解し説明できる。 | OSI7層のうちL1からL4までを理解し、説明できる。ネットワーク・セキュリティについての最低限の知識を身に着けている。 |
履歴管理ツールに関する基礎・理解・実践 | 競合解決を自ら行うことができ、どのようなケースでも複数人でレビュー、修正依頼、修正内容確認を行える。 | 単純なブランチであれば、複数人でレビュー、修正依頼、修正内容確認を行える。 | ブランチ等を用いない単純なケースでは複数人でレビュー、修正依頼、修正内容確認を行える。 |
学科の到達目標項目との関係
学習・教育到達度目標 (B2)
説明
閉じる
学習・教育到達度目標 (B3)
説明
閉じる
教育方法等
概要:
Pythonを用いて、ネットワークプログラミングの実践的内容を学ぶ。特にネットワークアーキテクチャを理解し講義で使用する言語以外でも通用する知識と理解レベルを育成する。
また、プログラミングに必要なバージョン管理ツールを理解し、他学生の作成したソースコードについてレビュー、修正依頼、修正内容確認を行える技術を身につける。
授業の進め方・方法:
・ 授業は講義+演習形式で行う、講義中は集中して聴講し、演習中は演習に集中すること
・ 毎週レポート課題を課すので、期限に遅れず提出すること
・TeamsおよびOneNoteを使用して、講義ノート配布、課題提出、課題回収、小テスト等を行う。
・連絡等でTeamsを使用するため、スマホ等情報端末にアプリをインストールする必要がある。質問等にも積極的に利用すること
・課題を行う際は、学生間でコミュニケーションを取りながら、課題解決を行う。
・成績不振者には適宜補習を行う。
注意点:
・ 予習復習を実施しなければ十分に理解できないため、自宅のパソコンにも統合開発環境を導入すること
・ 電子メールやLMSを用いた連絡を適宜行うため、スマートフォンやタブレットの操作に慣れること
授業の属性・履修上の区分
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
後期 |
3rdQ |
1週 |
ガイダンス |
講義で使用する環境(Git等)を整えることができる。
|
2週 |
Gitの基礎 |
Gitを用いて、ソースコードのバージョン管理を行える。
|
3週 |
ネットワークプログラミングの基礎(1) |
LAN ネットワークアーキテクチャ
|
4週 |
ネットワークプログラミングの基礎(2) |
TCP/IPの実践 MACとIP
|
5週 |
ネットワークプログラミングの基礎(3) |
ポート番号
|
6週 |
ネットワークプログラミングの基礎(4) |
代表的なプロトコルであるhttpとsshの特徴を説明できる。
|
7週 |
ネットワークプログラミングの基礎(5) |
Pythonでクライアント・サーバ通信を行うプログラムを作成できる。
|
8週 |
中間試験 |
試験
|
4thQ |
9週 |
クライアント・サーバにおける通信(1) |
仮想ネットワーク上の異なる仮想マシン間でのクライアント・サーバ通信を行うPythonプログラムを作成できる。
|
10週 |
クライアント・サーバにおける通信(2) |
仮想ネットワーク上の異なる仮想マシン間でのクライアント・サーバ通信を行う場合に、ネットワーク構成の変化に応じたプログラムに修整できる。
|
11週 |
ネットワーク・セキュリティ(1) |
ネットワーク・セキュリティに関する基礎用語を知っている。
|
12週 |
ネットワーク・セキュリティ(2) |
代表的な攻撃手法を知っている。
|
13週 |
ネットワーク・セキュリティ(3) |
代表的な攻撃手法を理解している。
|
14週 |
ネットワーク・セキュリティ(4) |
代表的な脆弱性についての知識を身に着けている。
|
15週 |
WebAPIとPython(5) |
WebAPI応用
|
16週 |
試験の解答他 |
試験解説
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 工学基礎 | 情報リテラシー | 情報リテラシー | 情報を適切に収集・処理・発信するための基礎的な知識を活用できる。 | 3 | 後10 |
情報伝達システムやインターネットの基本的な仕組みを把握している。 | 3 | |
情報セキュリティの必要性および守るべき情報を認識している。 | 3 | |
個人情報とプライバシー保護の考え方についての基本的な配慮ができる。 | 3 | |
インターネット(SNSを含む)やコンピュータの利用における様々な脅威を認識している | 3 | |
インターネット(SNSを含む)やコンピュータの利用における様々な脅威に対して実践すべき対策を説明できる。 | 3 | |
専門的能力 | 分野別の専門工学 | 機械系分野 | 情報処理 | プログラムを実行するための手順を理解し、操作できる。 | 4 | |
定数と変数を説明できる。 | 4 | |
整数型、実数型、文字型などのデータ型を説明できる。 | 4 | |
演算子の種類と優先順位を理解し、適用できる。 | 4 | |
算術演算および比較演算のプログラムを作成できる。 | 4 | |
データを入力し、結果を出力するプログラムを作成できる。 | 4 | |
条件判断プログラムを作成できる。 | 4 | |
繰り返し処理プログラムを作成できる。 | 4 | |
一次元配列を使ったプログラムを作成できる。 | 4 | |
評価割合
| 試験 | 発表 | 相互評価 | 態度 | 課題 | 小テスト | 合計 |
総合評価割合 | 60 | 0 | 0 | 0 | 30 | 10 | 100 |
基礎的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
専門的能力 | 60 | 0 | 0 | 0 | 30 | 10 | 100 |
分野横断的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |