学部・研究科Faculty/Graduate school | 理工学部Faculty of Science and Engineering |
添付ファイル名Attached documents | |
年度Year | 2021 |
授業コードClass code | H4043 |
旧授業コードPrevious Class code | |
旧科目名Previous Class title | |
開講時期Term | 春学期授業/Spring |
曜日・時限Day/Period | 火4/Tue.4 |
科目種別Class Type | |
キャンパスCampus | 小金井 |
教室名称Classroom name | |
配当年次Grade | |
単位数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 | 応用情報工学科 学科専門科目 |
【Outline (in English)】
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 are object-oriented. Therefore, the knowledge gained from this lecture can be applied to learning other programming languages.
【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を用いて取得・加工する方法を学びます。
まず、インターネット上にあるREST APIを活用したデータの取得方法を理解します。次にそのデータの構造を理解するとともに、Javaにおける取り扱い方法を学びます。その後、必要なデータを取得するアプリケーションの完成を目指します。アプリケーションの完成に必要な各構成要素を講義内の演習や課題として作成し、その解説を行うことで講義を進めていきます。
各講義の終わりには復習のための宿題を課します。次回までに提出してください。
フィードバックは学習支援システムなどを通じて行う予定です。
【アクティブラーニング(グループディスカッション、ディベート等)の実施 / Active learning in class (Group discussion, Debate.etc.)】
なし / No
【フィールドワーク(学外での実習等)の実施 / Fieldwork in class】
なし / No
【授業計画 / Schedule】
※各回の授業形態は予定です。教員の指示に従ってください。
回 / No. | 各回の授業形態予定 / methods of teaching | テーマ / Theme | 内容 / Contents |
---|---|---|---|
第1回 | 授業の概説・開発環境の準備・システムの利用ガイド | 授業内容の説明、各自PCの開発環境の整備、学習支援システムの使い方、簡単な演習を実施 | |
第2回 | 基本的な書き方 | Javaの基本的な記法、および、クラスとメソッドの概要を理解するとともに、その書き方を習得 | |
第3回 | 型 | 型として、プリミティブ型と参照型があることを理解する。クラスの作り方と、クラスの性質を理解することで、その使い方を習得 | |
第4回 | 配列とコレクション | 複数のデータを扱う方法として、配列、List、Map等を理解することで、その使い方を習得 | |
第5回 | 例外 | 例外として、検査例外、実行時例外、エラーがあることを理解することで、try-catch構文を理解し適切に補足する方法を習得 | |
第6回 | 文字列 | 文字列の操作方法と文字コードの概要を理解することで、文字列操作方法を習得 | |
第7回 | 日付処理 | 日付の扱い方を理解・習得 | |
第8回 | ファイル操作とデータ形式 | ディスクにあるテキストファイルの読み込み方を理解する。また、テキストファイルのデータ形式について理解する。 | |
第9回 | 構造化データJSON | JSONの各ファイル形式の概要を理解する。その上で、JSONファイルの読み込み方を習得する。 | |
第10回 | ネットワークからの取得と、周辺ツール | 外部からHTTPで取得したデータを取得する方法を理解し、習得する。 また、Maven、Javadocと、jacksonの使い方(databind)を理解し、習得する。 |
|
第11回 | 構造化データとオブジェクト | 市中にあるJSON APIの構造を理解するとともに、構造とクラスの対応付けを理解する。市中にあるJSON API からデータを取得するとともに、必要な情報を抽出するアプリケーションを作る。 | |
第12回 | 構造化データとオブジェクト | Javaオブジェクトのシリアライズについて理解し、JSONデータとの関係を理解する。 | |
第13回 | これまでの復習 | ここまで学習した内容の復習 | |
第14回 | プログラミング言語の今昔 | プログラミング言語の歴史と、現在用いられることが多いプログラミング言語の概要。 |
【授業時間外の学習(準備学習・復習・宿題等) / Work to be done outside of class (preparation, etc.)】
【本授業の準備・復習等の授業時間外学習は、4時間を標準とする】毎回の授業で課される宿題を提出すること。
【テキスト(教科書) / Textbooks】
「プログラミング言語JAVA」 谷本心、阪本雄一郎、岡田拓也、秋葉誠、村田賢一郎 著、Acroquest Technology株式会社 監修 技術評論社発行 2980円
【参考書 / References】
「15時間でわかるJava集中講座」 宮下明弘、工藤雅人、原田僚著 井上誠一郎監修 技術評論社発行 2680円
・Javaの言語仕様をかりやすく解説している。
「新・明解Java入門」 柴田望洋著 ソフトバンククリエイティブ発行 2700円
・プログラミング初心者向けのテキスト
【成績評価の方法と基準 / Grading criteria】
・授業の内容を理解していることを確認するための最終試験(50%)
・ソースコードの修正・独力での作成を確認するための授業後のレポート課題(50%)
オンライン、対面形式ともにこの評価方法を利用します。
【学生の意見等からの気づき / 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言語の基礎について講義するとともに、簡単なプログラミングを行います。講義の終盤では、近年よく用いられている他の言語について、概要を講義する予定です。
オンラインでの開講となった場合、オンライン授業の方法や授業計画の変更、成績評価方法の変更などについては、学習支援システムでその都度提示する。担当教員から学習支援システムを通じた連絡がないか、日ごろからよく確認するようにしてください。