理工学部Faculty of Science and Engineering
COT200XE(計算基盤 / Computing technologies 200)プログラミング言語JAVAProgramming Language JAVA
山口 大輔Daisuke YAMAGUCHI
授業コードなどClass code etc
学部・研究科Faculty/Graduate school | 理工学部Faculty of Science and Engineering |
添付ファイル名Attached documents | |
年度Year | 2024 |
授業コードClass code | H4044 |
旧授業コードPrevious Class code | |
旧科目名Previous Class title | |
開講時期Term | 春学期授業/Spring |
曜日・時限Day/Period | 火3/Tue.3 |
科目種別Class Type | |
キャンパスCampus | 小金井 |
教室名称Classroom name | 小東館-E202 |
配当年次Grade | 2年 |
単位数Credit(s) | |
備考(履修条件等)Notes | |
他学部公開科目Open Program | |
他学部公開(履修条件等)Open Program (Notes) | |
グローバル・オープン科目Global Open Program | |
成績優秀者の他学部科目履修制度対象Interdepartmental class taking system for Academic Achievers | ○ |
成績優秀者の他学部科目履修(履修条件等)Interdepartmental class taking system for Academic Achievers (Notes) | 教員の受講許可が必要です。学習支援システムに仮登録したうえで、授業内掲示板にて許可を得ること。 |
実務経験のある教員による授業科目Class taught by instructors with practical experience | |
SDGsCPSDGs CP | |
アーバンデザインCPUrban Design CP | |
ダイバーシティCPDiversity CP | |
未来教室CPLearning for the Future CP | |
カーボンニュートラルCPCarbon Neutral CP | |
千代田コンソ単位互換提供(他大学向け)Chiyoda Campus Consortium | |
カテゴリー<理工学部>Category |
応用情報工学科 学科専門科目 |
すべて開くShow all
すべて閉じるHide All
Outline (in English)
【授業の概要(Course outline)】
In this class, you learn about the Java language, an object-oriented programming language that is widely used from Web applications to embedded applications.
Most programming languages today support object-oriented programming. Therefore, the knowledge gained from this lecture can be applied to learning other programming languages.
【到達目標(Learning Objectives)】
・ Understand and modify the source code of basic Java applications based on object-oriented.
・ Design and implement basic Java applications based on object-oriented.
・ You can design new Java applications and write source code by yourself.
【授業時間外の学習(Learning activities outside of classroom)】
You must submit the homework required for each class.
【成績評価の方法と基準(Grading Criteria /Policy)】
When taking a final exam
・ Final exam to confirm that you understand the lesson. (50%)
・ Post-class report assignment to confirm the correction and the creation of the source code by yourself. (50%)
If we do not or cannot take the final exam
・ Post-class report assignment to confirm the correction and the creation of the source code by yourself. (100%)
授業で使用する言語Default language used in class
日本語 / Japanese
授業の概要と目的(何を学ぶか)Outline and objectives
このクラスでは、Webアプリケーションから組み込みアプリケーションまで幅広く使用されている、オブジェクト指向プログラミング言語であるJava言語について学習する。
今日用いられているプログラミング言語のほとんどがオブジェクト指向プログラミングをサポートする。したがって、本講義から得られた知識は、多くのプログラミング言語の学習や、プログラムの理解に活用できる。
到達目標Goal
・オブジェクト指向に基づいた基礎的なJavaアプリケーションのソースコードを理解・修正できる
・オブジェクト指向に基づいた基礎的なJavaアプリケーションの設計および実装ができる
・新たなJavaアプリケーションを独力で設計およびソースコードを記述できる
この授業を履修することで学部等のディプロマポリシーに示されたどの能力を習得することができるか(該当授業科目と学位授与方針に明示された学習成果との関連)Which item of the diploma policy will be obtained by taking this class?
ディプロマポリシーのうち、「DP1」と「DP2」と「DP4」に関連
授業で使用する言語Default language used in class
日本語 / Japanese
授業の進め方と方法Method(s)(学期の途中で変更になる場合には、別途提示します。 /If the Method(s) is changed, we will announce the details of any changes. )
講義は、大きく、前半と後半の二つに分かれる。
前半では、プログラムの作成に必要なオブジェクト指向の概念、および文字列処理などのJava言語固有の内容(JavaSE API)を学ぶ。
Javaの言語仕様を、教科書に沿ったいくつかのテーマに分けて学ぶ。その上でテーマを踏まえた演習プログラムの完成を目指すことにより、理解を深める。
後半では、オブジェクト指向に基づいたプログラムの設計・実装の方法論を学ぶ。また、プログラムの検証やテストの方法について学ぶ。講義内の演習や課題を通じてJavaアプリケーションの設計、実装、テストを実践することで、理解を深める。
各講義の終わりには復習のための宿題を課す。次の講義までに提出すること。
フィードバックは学習支援システムなどを通じて行う。
アクティブラーニング(グループディスカッション、ディベート等)の実施Active learning in class (Group discussion, Debate.etc.)
なし / No
フィールドワーク(学外での実習等)の実施Fieldwork in class
なし / No
授業計画Schedule
授業形態/methods of teaching:対面/face to face
※各回の授業形態は予定です。教員の指示に従ってください。
第1回[対面/face to face]:授業の概説・開発環境の準備・システムの利用ガイド
授業内容の説明、各自PCの開発環境の整備、学習支援システムの使い方、簡単な演習を実施
第2回[対面/face to face]:基本的な書き方
Javaの基本的な記法、および、クラスとメソッドの概要を理解するとともに、その書き方を習得
第3回[対面/face to face]:型
型として、プリミティブ型と参照型があることを理解する。クラスの作り方と、クラスの性質を理解することで、その使い方を習得
第4回[対面/face to face]:配列とコレクション
複数のデータを扱う方法として、配列、List、Map等を理解することで、その使い方を習得
第5回[対面/face to face]:ストリーム処理
大量データを逐次処理するストリーム処理を効率的に記述する方法について、理解を深める
第6回[対面/face to face]:例外
例外として、検査例外、実行時例外、エラーがあることを理解することで、try-catch構文を理解し適切に補足する方法を習得
第7回[対面/face to face]:文字列・日付処理
文字列の操作方法と文字コードの概要を理解する。また、日付処理の方法を習得
第8回[対面/face to face]:ファイル操作とデータ形式
ディスクにあるテキストファイルの読み込み方を理解する。また、テキストファイルのデータ形式について理解する
第9回[対面/face to face]:多相性とソフトウェア設計
Javaの多相性について理解し、プログラムの大枠をインターフェースや抽象クラスで表現することで実装を見通しよく進める方法を習得
第10回[対面/face to face]:デザインパターンI
デザインパターンを用いたソフトウェアの設計、実装の方法を習得
第11回[対面/face to face]:デザインパターンII
デザインパターンを用いたソフトウェアの設計、実装の方法を習得
第12回[対面/face to face]:ソフトウェア検証・テスト
ソフトウェアの検証およびテストについて理解する。また、jUnitを使用した単体テストの方法を習得
第13回[対面/face to face]:これまでの復習
ここまで学習した内容の復習
第14回[対面/face to face]:さまざまなプログラミング言語
プログラミング言語の歴史や種々のプログラミングパラダイム
授業時間外の学習(準備学習・復習・宿題等)Work to be done outside of class (preparation, etc.)
【本授業の準備・復習等の授業時間外学習は、4時間を標準とする】毎回の授業で課される宿題を提出すること。
テキスト(教科書)Textbooks
「Java本格入門」 谷本心、阪本雄一郎、岡田拓也、秋葉誠、村田賢一郎 著、Acroquest Technology株式会社 監修 技術評論社発行 2980円
参考書References
指定しない
成績評価の方法と基準Grading criteria
期末試験を実施できる場合
・授業の内容を理解していることを確認するための期末試験(50%)
・ソースコードの修正・独力での作成を確認するための授業後のレポート課題(50%)
期末試験を実施できない場合
・ソースコードの修正・独力での作成を確認するための授業後のレポート課題(100%)
学生の意見等からの気づきChanges following student comments
特になし
学生が準備すべき機器他Equipment student needs to prepare
本講義および演習では、Eclipseという統合開発環境を用いて、プログラムを作成する。大学から貸与されているノートPCを必ず毎回各自持参すること。なお、他学科からの履修などの理由で、PCにEclipseがインストールされていない場合がある。第一回の授業でフォローする予定であるが、授業開始までにEclipseをインストールしておくことをすすめる。
https://mergedoc.osdn.jp/
https://www.eclipse.org/
Eclipseが動くPCであれば、大学から貸与されたノートPCでなくてもよい。また、この場合にはWindowsでなくてもよい。
演習と宿題の提出には授業支援システムを利用する。
その他の重要事項Others
本講義では、C言語などで手続き型言語を学んだことがあり、C++言語などでオブジェクト指向の概要を理解していることを前提する。
企業において、社内のソフトウェア開発業務を支援している研究者が、開発現場で用いられているJava言語の基礎について講義するとともに、簡単なプログラミングを行う。講義の終盤では、近年よく用いられている他の言語について、概要を講義する予定である。
オンライン授業の方法や授業計画の変更、成績評価方法の変更などについては、学習支援システムでその都度提示する。担当教員から学習支援システムを通じた連絡がないか、日ごろからよく確認することを心がけること。