学部・研究科Faculty/Graduate school | 理工学部Faculty of Science and Engineering |
添付ファイル名Attached documents | |
年度Year | 2021 |
授業コードClass code | H6186 |
旧授業コードPrevious Class code | |
旧科目名Previous Class title | |
開講時期Term | 秋学期授業/Fall |
曜日・時限Day/Period | 土2/Sat.2 |
科目種別Class Type | |
キャンパスCampus | 小金井 |
教室名称Classroom name | |
配当年次Grade | |
単位数Credit(s) | |
備考(履修条件等)Notes | |
他学部公開科目Open Courses | |
他学部公開(履修条件等)Open Courses (Notes) | |
グローバル・オープン科目Global Open Courses | |
成績優秀者の他学部科目履修制度対象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)】
Acquire the ability to perform system design, development, operation, and maintenance required for practical work.
Be able to develop applications on your own.
【Default language used in class】
日本語 / Japanese
【授業の概要と目的(何を学ぶか) / Outline and objectives】
実務に必要なアプリケーションの設計から開発、運用・保守を行えるようになる。
アプリケーション開発の現場で必須となる自走できる力を身につける。
【到達目標 / Goal】
Flutterを用いてスマートフォン用アプリケーションの設計、実装、デバッグ、運用、保守ができるようになること。
【この授業を履修することで学部等のディプロマポリシーに示されたどの能力を習得することができるか(該当授業科目と学位授与方針に明示された学習成果との関連) / 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. )
開発に最低限必要な基礎知識は講義形式で説明をするが、実際に自分で手を動かして学ぶことを重要視しているため演習を多めに行う。
具体的にはFlutterフレームワークを用いてスマートフォン用アプリケーションを各個人が開発する。
また、最終課題のフィードバックはGitHub等のリモートリポジトリを通じて行う。
【アクティブラーニング(グループディスカッション、ディベート等)の実施 / Active learning in class (Group discussion, Debate.etc.)】
あり / Yes
【フィールドワーク(学外での実習等)の実施 / Fieldwork in class】
なし / No
【授業計画 / Schedule】
※各回の授業形態は予定です。教員の指示に従ってください。
回 / No. | 各回の授業形態予定 / methods of teaching | テーマ / Theme | 内容 / Contents |
---|---|---|---|
1 | 開発環境準備、Git基礎、講義概要説明 | ・Gitを使ってGitHub等のリモートリポジトリへFlutterのプロジェクトを提出できる準備をする ・Flutterのビルドが行える状態にする |
|
2 | Dartについて | Dart言語の基礎を学ぶ | |
3 | Flutterについて1 | Flutterについて(Widgetとは, Stateful Widget, Stateless Widget) | |
4 | Flutterについて2 | Flutterについて(Material Components, iOS-Style) | |
5 | API通信 | 外部ライブラリの使い方を学ぶと同時に、アプリケーションとサーバとの通信を行う | |
6 | アプリケーションの設計、DI(Dependency Injection)について | DIを通して、実務アプリケーションでは必要不可欠な設計の考え方を学ぶ | |
7 | Unitテスト、CI(Continuous Integration) | テストを実際に書くことでテストの重要さを学ぶと同時に、実務では必須知識となってくるCIに触れる | |
8 | デザイン | アプリ開発に必要なデザインの考え方をデザインツールを用いて学ぶ | |
9 | これまでの復習 | 生徒の理解が追いついていない部分を中心に復習を行う | |
10 | アプリ開発のヒント | 最終課題に向けてアプリ開発のヒントや作り方を学ぶ | |
11 | 開発演習 | 実際に手を動かしてわからない箇所を質問する時間とする 必要に応じて座学を行う |
|
12 | 開発演習 | 実際に手を動かしてわからない箇所を質問する時間とする 必要に応じて座学を行う |
|
13 | 開発演習 | 実際に手を動かしてわからない箇所を質問する時間とする 必要に応じて座学を行う |
|
14 | 成果物発表会 | 各自作成したアプリケーションの成果物を発表しあう |
【授業時間外の学習(準備学習・復習・宿題等) / Work to be done outside of class (preparation, etc.)】
本授業の準備・復習等の授業時間外学習は、各4時間以上を標準とする。
【テキスト(教科書) / Textbooks】
書籍は古くなるためWEB上のドキュメントを参照する。
【参考書 / References】
https://flutter.dev/
https://material.io/
https://developer.android.com/
https://developer.apple.com/
【成績評価の方法と基準 / Grading criteria】
Gitリポジトリに提出する個人プロジェクトで開発したFlutterアプリケーションとアプリケーション概要説明(README.mdに記述)に基づいて評価を行う。
途中経過も評価対象とするため、Commitログは必ず残すこと。
他人のアプリケーションコードを全てコピーした場合は評価対象外とする。
オンライン授業となった場合でも、最終課題はリモートリポジトリにアプリケーションの提出をし、オフライン授業同様に評価する。
【学生の意見等からの気づき / Changes following student comments】
本年度新規科目につきアンケートを実施していません。
【学生が準備すべき機器他 / Equipment student needs to prepare】
[必須]
パソコン
※ WindowsもしくはmacOSの利用を想定して講義を行う。
macOSの場合はCatalina以上が望ましい。
[可能であれば]
AndroidもしくはiOSを搭載したスマートフォン・タブレット
※ iOSアプリ開発の場合、パソコンはmacOSの利用が必須
【その他の重要事項 / Others】
WEB開発の実務経験が6年以上ある講師が、アプリ開発の経験を活かし実務に必要なスキルや知識を身につけられるようサポートを行う。
FlutterアプリまたはAndroid, iOSアプリの開発経験があると望ましい。
また、Flutterの開発言語であるDartのプログラムが書けると望ましい。
プロジェクト開発に重点を置きたいので事前にDart言語が書けるようになっている方が学習効果が高いと思います。
Dartを書いたことがなくても、JavaやKotlin, Swift, JavaScriptといった他のプログラミング言語を書いたことがある方がスムーズに開発ができると思います。
Gitの使い方は事前に習得していることを前提にしています。
オンラインでの開講となった場合は、講義に関してはビデオ会議ツールを利用します。
課題の提出方法や評価方法に変更はありません。