授業情報/Course information

開講学期/Course Start 2020年度/Academic Year  後期/Second
開講曜限/Class period 水/Wed 9,水/Wed 10
授業区分/Regular or Intensive 週間授業
対象学科/Department システム理化学科数理情報システムコース
対象学年/Year 2年,3年,4年
授業科目区分/Category 教育課程 システム理化学科
必修・選択/Mandatory or Elective 必修
授業方法/Lecture or Seminar 講義科目
授業科目名/Course Title プログラミングA
単位数/Number of Credits 2.0
担当教員名/Lecturer 佐藤和彦
時間割コード/Registration Code J4071
連絡先/Contact 佐藤和彦(教員室:V502 連絡先E-mail: kazu[at]mmm.muroran-it.ac.jp)
オフィスアワー/Office hours 佐藤和彦(水曜日 10:25~11:55 )
実務経験/Work experience
更新日/Date of renewal 2020/09/14
授業のねらい
/Learning Objectives
Java言語の理解・習得を通して,オブジェクト指向言語,及びソフトウェア開発環境について学び,拡張性,再利用性,機密性,可読性の高いシステムを構築するための基礎知識と経験を習得する.
到達度目標
/Outcomes Measured By:
目標1. Java言語によるプログラミングの基礎的文法を理解し,簡単なプログラムについて処理の流れを説明することができる.
目標2. Java言語によるオブジェクト指向の基本を理解し,継承などを用いながら新たなオブジェクトを定義することができる.
目標3. Java言語を用いて,アルゴリズムに沿ったプログラミングができる.
目標4. Java言語を用いて,簡単なプログラムを作成することができる.
授業計画
/Course Schedule
第1回: Javaの仕組みとプログラムの実行,変数と演算,条件分岐
第2回: クラスの基本(1)(クラスの宣言とオブジェクト作成,継承)
第3回: クラスの基本(2)(オブジェクトの参照,オーバーライド,オーバーロード)
第4回: 抽象クラスとインタフェース
第5回: 例外処理,入出力インタフェース
第6回: コレクションと総称型とマルチスレッド処理
第7回: ラムダ式
第8回: 正規表現による文字列操作
第9回: デザインパターン
第10回: JavaFXによるGUIプログラミング
第11回: ネットワークプログラミング,総合演習(1)Socketを使ったTCP/IPによるサーバクライアント通信
第12回: 総合演習(2)JavaFXを使ったGUIプログラミング
第13回: 総合演習(3)URLクラスを利用したWeb通信処理,外部Webサービスとの連携
第14回: 総合演習(4)正規表現による文字列操作と文字列抽出
第15回: 総合演習(5)提出課題の仕上げと提出
第16回: 定期試験

総授業時間数: 90分×16週=1440分

【自己学習時間確保】
毎回の授業で配布するサンプルプログラムについては授業内では特に説明をしません。実行しての理解、ソース理解などは各自で行って下さい。また、サンプル以外の例についてもインターネット上にはたくさんの例がありますので、各自で検索し、それらを利用しながら理解を深めて下さい。

【コロナ対応】
新型コロナウイルス感染症の流行状況に伴い、学生への十分な周知のもと、授業計画・授業実施方法は変更する可能性があります。
参考書等
/Required Materials
Javaによるインターネットプログラミング 下村隆夫著  近代科学社 2010(ISBN:4764903792)
Javaの絵本 : Javaが好きになる新しい9つの扉 アンク著  翔泳社 2016(ISBN:4798150371)
スッキリわかるJava入門 中山清喬, 国本大悟著  インプレス 2019(ISBN:4295007803)
教科書・参考書に関する備考 授業において必要な資料はMoodle等で配布する。
成績評価方法
/Grading Guidelines
100点満点中60点以上が合格点である.総合演習課題(50点満点)と定期試験(50点満点)を総合して成績を評価する.
合計が合格点に満たない者に対して,再試験(50点満点)を1度に限り実施する.
ただし,この試験で合格した者の成績の上限を「可(60点)」とする.
最終結果として不合格となったものは、次年度以降に再履修すること。

各到達度目標の評価方法は次のように行う。
目標1.定期試験において,簡単なプログラムについて処理の内容を説明させることにより,基本文法の理解度を評価する.
目標2.定期試験において,継承などを用いながら指定された性質を持つオブジェクトを定義させることで,オブジェクト指向の基本的理解を評価する.
目標3.定期試験において,これまでに習得したアルゴリズムやデータ構造を用いた簡単なJavaプログラムを説明あるいは記述させることにより評価する.
目標4.総合演習において,与えられた要件を満たす簡単なプログラムを作成させることで評価する.

新型コロナウイルス感染症の流行状況に伴い、学生への十分な周知のもと、成績評価方法は変更する可能性があります。
履修上の注意
/Notices
この科目でオブジェクト指向に基づくプログラミングの基本を理解していることを前提として演習は進みますので,ここでしっかりと基本をマスターすること。
教員メッセージ
/Message from Lecturer
近年,オブジェクト指向言語,特にJava言語は,Webアプリケーション,携帯端末への組み込み,スーパーコンピューティングなど様々な分野で使用されています.本授業では,このようなオブジェクト指向言語の入門的な内容を講義・演習します.卒業論文や就職してからも役に立つので,積極的に受講して下さい.
学習・教育目標との対応
/Learning and Educational Policy
学生便覧「学習目標と授業科目との関係表」参照
関連科目
/Related course
プログラミング演習
No. 回(日時)
/Time (date and time)
主題と位置付け(担当)
/Subjects and instructor's position
学習方法と内容
/Methods and contents
備考
/Notes
該当するデータはありません
Active learning 1-1
/主体的学修(反転授業,小テスト,振り返り 等)
毎回、その講義内容の動くサンプルプログラムや、簡単な演習課題を公開し,
手を動かす復習で理解の向上を図る。
Active learning 1-2
/上記項目に係るALの度合い
15%~50%
Active learning 2-1
/対話的学修(グループ学習,協働,調査体験 等)
該当しない
Active learning 2-2
/上記項目に係るALの度合い
該当なし
Active learning 3-1
/深い学修(複数科目の知識の総合化や問題解決型学修 等)
該当しない
Active learning 3-2
/上記項目に係るALの度合い
該当なし