ネットワークプログラミング

科目基礎情報

学校 鳥羽商船高等専門学校 開講年度 平成31年度 (2019年度)
授業科目 ネットワークプログラミング
科目番号 1171 科目区分 専門 / 【情報系】モデル必修
授業形態 単位の種別と単位数 学修単位: 2
開設学科 制御情報工学科 対象学年 4
開設期 後期 週時間数 2
教科書/教材 マスタリングTCP/IP 入門編 第5版
担当教員 白石 和章

到達目標

1.コーディング規約を理解し、規約に沿ったわかりやすくメンテナンスしやすい実践的コーディングを行える。
2.ネットワークおよびセキュリティに関する基礎知識を身に着けており、ネットワークプログラミングに活かすことができる。
3.履歴管理ツールを使用して、複数人でレビュー、修正依頼、修正内容確認を行える。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
コーディング規約の理解・実践規約に沿ったわかりやすくメンテナンスしやすい実践的コーディングレベルに達している。ある程度の規約は守ることができるが変数名、メソッド名が分かりにくいコーディングレベル。最低限の動作はするが、他人に読みづらくバグを誘発するようなコーディングレベル。
ネットワークに関する基礎知識・理解・実践ネットワークに関する基礎知識を身に着けており、ネットワークプログラミングに活かすことができる。また、ネットワーク・セキュリティについて理解し実践できる。OSI7層のうちL1からL4までを理解し、ネットワークプログラミングに活かすことができ、ネットワーク・セキュリティについても理解し説明できる。OSI7層のうちL1からL4までを理解し、説明できる。ネットワーク・セキュリティについての最低限の知識を身に着けている。
履歴管理ツールに関する基礎・理解・実践競合解決を自ら行うことができ、どのようなケースでも複数人でレビュー、修正依頼、修正内容確認を行える。単純なブランチであれば、複数人でレビュー、修正依頼、修正内容確認を行える。ブランチ等を用いない単純なケースでは複数人でレビュー、修正依頼、修正内容確認を行える。

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

学習・教育到達度目標 (B2) 説明 閉じる
学習・教育到達度目標 (B3) 説明 閉じる

教育方法等

概要:
Pythonを用いて、ネットワークプログラミングの実践的内容を学ぶ。特にネットワークアーキテクチャを理解し講義で使用する言語以外でも通用する知識と理解レベルを育成する。
また、プログラミングに必要なバージョン管理ツールを理解し、他学生の作成したソースコードについてレビュー、修正依頼、修正内容確認を行える技術を身につける。
授業の進め方・方法:
・ 授業は講義+演習形式で行う、講義中は集中して聴講し、演習中は演習に集中すること
・ 毎週レポート課題を課すので、期限に遅れず提出すること
注意点:
・ 予習復習を実施しなければ十分に理解できないため、自宅のパソコンにも統合開発環境を導入すること
・ 電子メールやLMSを用いた連絡を適宜行うため、スマートフォンやタブレットの操作に慣れること

授業計画

授業内容 週ごとの到達目標
後期
3rdQ
1週 Pythonの基礎(1) 辞書型配列を扱える。
制御文を使用できる。
ファイル入出力ができる。
2週 Pythonの基礎(2) WebAPIからJSONデータをダウンロードしパースすることでデータ加工を行える。
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週 WebAPIとPython(1) WebAPIを使用し、データをGETするプログラムを作成できる。
12週 WebAPIとPython(2) WebAPIを使用し、データをPOSTするプログラムを作成できる。
13週 WebAPIとPython(3) WebAPI応用
14週 WebAPIとPython(4) WebAPI応用
15週 WebAPIとPython(5) WebAPI応用
16週 試験の解答他 試験解説

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

分類分野学習内容学習内容の到達目標到達レベル授業週
基礎的能力工学基礎情報リテラシー情報リテラシー情報を適切に収集・処理・発信するための基礎的な知識を活用できる。3後10
情報伝達システムやインターネットの基本的な仕組みを把握している。3
情報セキュリティの必要性および守るべき情報を認識している。3
個人情報とプライバシー保護の考え方についての基本的な配慮ができる。3
インターネット(SNSを含む)やコンピュータの利用における様々な脅威を認識している3
インターネット(SNSを含む)やコンピュータの利用における様々な脅威に対して実践すべき対策を説明できる。3
専門的能力分野別の専門工学機械系分野情報処理プログラムを実行するための手順を理解し、操作できる。4
定数と変数を説明できる。4
整数型、実数型、文字型などのデータ型を説明できる。4
演算子の種類と優先順位を理解し、適用できる。4
算術演算および比較演算のプログラムを作成できる。4
データを入力し、結果を出力するプログラムを作成できる。4
条件判断プログラムを作成できる。4
繰り返し処理プログラムを作成できる。4
一次元配列を使ったプログラムを作成できる。4

評価割合

試験発表相互評価態度課題小テスト合計
総合評価割合600003010100
基礎的能力0000000
専門的能力600003010100
分野横断的能力0000000