概要:
現代社会においてモバイルデバイスは欠かせない存在となり、様々なアプリが生活の利便性を向上させている。普段から日常的に使用しているスマートフォンアプリを実際に作成することで、実践的なソフトウェア開発の基礎について学習する。
授業の進め方・方法:
最初に課題について説明した後、演習を行う。ペアプログラミング、グループ学習を推奨する。
注意点:
基本はテキストで学習するが、オリジナルアプリで必要な機能など応用に関しては公式サイト ( https://developer.android.com/ )を参照すること。問題が発生したらStackOverflow, Qiitaなどを参照するとよい。GitHubにも参考になるアプリが多数存在する。
|
|
週 |
授業内容 |
週ごとの到達目標 |
後期 |
3rdQ |
1週 |
オリエンテーションおよび開発環境の基礎 |
開発用プログラミング言語の特徴について理解できる。 開発環境を準備できる。
|
2週 |
変数と型、制御構造 |
変数と定数、基本型、文字列、型の変換、配列について理解できる。 条件分岐と繰り返しについて理解できる。
|
3週 |
コレクション、関数型、ラムダ式 |
リスト、セット、マップについて理解できる。 関数型とラムダ式について理解できる。
|
4週 |
クラスとインターフェイス |
オブジェクト指向を学び、クラス、インターフェイスの定義について理解できる。 プロパティ、コンストラクタ、イニシャライザ、継承について理解できる。
|
5週 |
型チェック、キャスト、オブジェクト式、Null安全、スコープ関数、Pair、拡張関数 |
開発用プログラミング言語の新しい機能について自ら学習することができる。
|
6週 |
アプリケーションの作成 |
オリジナルアプリのベースとなるサンプルプログラムを選択し動作を確認する。
|
7週 |
アプリケーションの作成 |
前週で動作を確認したアプリに修正を加えることができる。
|
8週 |
中間報告書提出 |
|
4thQ |
9週 |
アプリのコンセプトのプレゼンテーション チーム編成、役割分担 |
目的を達成するためにアプリのアイデアを選択し、それに応じたチームを編成する。 分担やスケジュールなど開発計画を立てる。
|
10週 |
開発、レビュー |
|
11週 |
開発、レビュー |
|
12週 |
開発、レビュー |
|
13週 |
開発、レビュー |
|
14週 |
開発、レビュー |
|
15週 |
プレゼンテーション、デモンストレーション、最終成果報告書提出 |
|
16週 |
|
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 代入や演算子の概念を理解し、式を記述できる。 | 4 | |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 4 | |
変数の概念を説明できる。 | 4 | |
データ型の概念を説明できる。 | 4 | |
制御構造の概念を理解し、条件分岐を記述できる。 | 4 | |
制御構造の概念を理解し、反復処理を記述できる。 | 4 | |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 4 | |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 4 | |
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。 | 4 | |
主要な言語処理プロセッサの種類と特徴を説明できる。 | 4 | |
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。 | 4 | |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。 | 4 | |
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。 | 4 | |
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。 | 4 | |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。 | 4 | |
分野別の工学実験・実習能力 | 情報系分野【実験・実習能力】 | 情報系【実験・実習】 | 与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。 | 3 | |
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。 | 3 | |
ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。 | 3 | |
フローチャートなどを用いて、作成するプログラムの設計図を作成することができる。 | 3 | |
問題を解決するために、与えられたアルゴリズムを用いてソースプログラムを記述し、得られた実行結果を確認できる。 | 3 | |
標準的な開発ツールを用いてプログラミングするための開発環境構築ができる。 | 3 | |
要求仕様にあったソフトウェア(アプリケーション)を構築するために必要なツールや開発環境を構築することができる。 | 3 | |
要求仕様に従って標準的な手法によりプログラムを設計し、適切な実行結果を得ることができる。 | 3 | |