![]() 教員名 : 西山 裕之
|
科目授業名称(和文) Name of the subject/class (in Japanese)
システムプログラミング演習 (月)
科目授業名称(英文) Name of the subject/class (in English)
System Programming Exercise (月)
授業コード Class code
9974131
科目番号 Course number
74SIPRO203
教員名
西山 裕之
Instructor
Hiroyuki Nishiyama
開講年度学期
2025年度後期
Year
2025年度
Semester
②Second semester
曜日時限
月曜4限、月曜5限
Class hours
Monday, 4,5th. Period
開講学科・専攻 Department
創域理工学部 経営システム工学科
Department of Industrial and Systems Engineering, Faculty of Science and Technology 単位数 Course credit
2.0単位
授業の方法 Teaching method
演習
Seminar 外国語のみの科目(使用言語) Course in only foreign languages (languages)
-
授業の主な実施形態 Main class format
① [対面]対面授業/ [On-site] On-site class
概要 Description
[概要]
最近のコンピュータプログラミングは,数値計算だけではなく,テキスト処理,グラフィカルユーザインターフェース,ネットワーク,データベース,WWWといった様々な状況の中で活用されている.システムプログラミング演習ではこうした具体的な情報ネットワークシステムにおいて,有用なプログラミングの方法を習得させることを目的とする.なお,取り扱う言語としては,ネットワークプログラミングを行うのに最適であり,多くの企業で利用され推奨されている,Java言語を用いる. 目的 Objectives
[目的]
具体的な情報ネットワークシステムにおいて,有用なプログラミングの方法を学習する. 本学科のディプロマ・ポリシー「修得した専門知識や教養をもとに、自ら課題を発見し、解決する能力」に該当する科目である. 到達目標 Outcomes
[到達目標]
本講義を受講し様々なネットワークプログラミングを実践することで,実世界のネットワークシステムの仕組みを理解するとともに,新たなシステムを構築するための技術を習得できる. 卒業認定・学位授与の方針との関係(学部科目のみ)
リンク先の [評価項目と科目の対応一覧]から確認できます(学部対象)。
履修登録の際に参照ください。 You can check this from “Correspondence table between grading items and subjects” by following the link(for departments). https://www.tus.ac.jp/fd/ict_tusrubric/ 履修上の注意 Course notes prerequisites
本授業ではプログラミング演習を毎回実施するため,ノートパソコンを持参すること.無線ネットワーク環境を使用することから,ノートパソコンで無線LANが利用可能な状態にしておくこと.また,バッテリもフルチャージしておくことが望ましい.
アクティブ・ラーニング科目 Teaching type(Active Learning)
課題に対する作文 Essay/PBL (課題解決型学習) Problem-based learning
-
準備学習・復習 Preparation and review
本演習授業ではプログラミング言語のJava言語を使用します.本言語はネットワークプログラミングや携帯端末内プログラミング等,様々な利便性を有しています.本授業では,本Java言語の基礎レベルからの説明を行いますので初めてJava言語を使う人でも大丈夫です.
なお,下記の参考書等のプログラミング入門書を用いたプログラミング演習も行っておくと,より本授業の理解度が高まります.授業後は配布したプリント内容の再確認を行うとともに,参考書の関連項目の習得も行うことを勧めます. 成績評価方法 Performance grading policy
全ての授業に出席していることを前提に、かつ、全てのレポートを提出していることも前提として、演習(40%)とレポート(20%)および最終課題(40%)で評価する.
学修成果の評価 Evaluation of academic achievement
・S:到達目標を十分に達成し、極めて優秀な成果を収めている
・A:到達目標を十分に達成している ・B:到達目標を達成している ・C:到達目標を最低限達成している ・D:到達目標を達成していない ・-:学修成果の評価を判断する要件を欠格している ・S:Achieved outcomes, excellent result ・A:Achieved outcomes, good result ・B:Achieved outcomes ・C:Minimally achieved outcomes ・D:Did not achieve outcomes ・-:Failed to meet even the minimal requirements for evaluation 教科書 Textbooks/Readings
教科書の使用有無(有=Y , 無=N) Textbook used(Y for yes, N for no)
N
書誌情報 Bibliographic information
-
MyKiTSのURL(教科書販売サイト) URL for MyKiTS(textbook sales site)
教科書および一部の参考書は、MyKiTS (教科書販売サイト) から検索・購入可能です。
https://gomykits.kinokuniya.co.jp/tokyorika/ It is possible to search for and purchase textbooks and certain reference materials at MyKiTS (online textbook store). https://gomykits.kinokuniya.co.jp/tokyorika/ 参考書・その他資料 Reference and other materials
結城浩著,Java言語プログラミングレッスン 第3版 上・下,ソフトバンククリエイティブ,2012.
授業計画 Class plan
01 ガイダンス
授業内容のガイダンス,および使用機材やソフトウエアの説明を行うとともに,開発環境のインストールや使用方法を習得する.また,本授業で最終的に構築する銀行口座システムについて説明する. 02 環境構築と仕様(ドキュメント)の理解,ソフトウエアテストについて 第1回講義でインストールした開発環境における環境構築,および,ソフトウエアにおける仕様(ドキュメント)の理解方法,および,ソフトウエア開発過程における「テスト」について習得する. 03 Java言語の基礎について 前回構築した開発環境上でのJava言語の簡単なプログラム方法,変数の使用方法,そして,if文やfor文などの制御構文を演習を介して習得します. 04 プリミティブ型と参照型の変数および配列操作 Java言語におけるプリミティブ型と参照型の変数および配列操作について習得する.上記3週間により,テキスト処理およびネットワークプログラミング等を行うために必要となる基礎的な知識を習得したことになる. 05 銀行口座オブジェクトを用いたオブジェクト指向の理解 オブジェクト指向の基本的な概念と,その扱い方について習得する.具体例として,銀行システムにおける口座オブジェクトを例として学習する. 06 継承を利用した抽象化およびリソース再利用化 オブジェクト指向の重要な考え方の一つである“継承”によるプログラミングを習得する. 07 ネットワークプログラミング(第1回:通信プロトコル) これまで自身のPCの内部で完了していた処理を拡張して外部のPCと様々な処理を,自身で行えるように,ネットワークプログラミングにおける通信プロトコルを習得する.第6週では通信プロトコルに基づいたクライアント側のプログラミング方法を演習する. 08 ネットワークプログラミング(第2回:復習) 第6回の講義で習得した通信プロトコルに対する復習を行い,理解をより深める講義および演習を実施し,理解をより深める. 09 ネットワークプログラミング(第3回:サーバプログラミング) ネットワークを介して情報を公開およびサービスを実施するための,サーバー側のプログラミングを行う.本授業では,第6および7週で学んだ通信プロトコルに基づいて情報を提供可能なプログラミング方法を習得する. 10 ネットワークプログラミング(第4回:ソケット通信プログラミング) 第6週から8週までに実践したネットワークプログラミングにおける,ソケット通信プログラミングの仕組みを詳細に理解する. 11 GUIプログラミング(第1回:基礎編) 最終目標である銀行口座システム構築における,GUI(グラフィカルユーザインタフェース)を構築するための基礎となるプログラミング方法を習得する. 12 GUIプログラミング(第2回:イベント処理) 第10週の授業と習得したGUIプログラミングに対して,イベント処理を可能にするためのプログラミング方法を習得する.また,オブジェクト指向におけるインタフェースに関する内容も習得する. 13 暗号化プログラミング 数値データに対して一定のアルゴリズムと鍵を用いて計算することで,暗号化および復号を可能にするプログラミング方法を習得する.本授業では,現在,世界中で使用されている暗号方式を習得する.本暗号化プログラミングは,ネットワークプログラミングにおいて扱うデータを送受信する際の安全を守るために,必須の技術となる. 14〜15 実世界のネットワークシステム演習 前週までに習得したネットワークプログラミングの方法を応用することで,簡易的なウエブブラウザに類似するシステム,ファイル共有を可能にするチャットシステム等,複数の課題の中から一つを選択し,独自にプログラムを作成する.本授業により,実世界におけるネットワークシステムの構築方法を習得する. 全ての授業を対面で実施する 担当教員の実務経験とそれを活かした教育内容 Work experience of the instructor
-
教育用ソフトウェア Educational software
-
ソフトウェア開発環境Eclipse
備考 Remarks
授業でのBYOD PCの利用有無 Whether or not students may use BYOD PCs in class
Y
授業での仮想PCの利用有無 Whether or not students may use a virtual PC in class
N
|