プログラミング演習

科目基礎情報

学校 北九州工業高等専門学校 開講年度 2018
授業科目 プログラミング演習
科目番号 0027 科目区分 専門 / 選択
授業形態 演習 単位の種別と単位数 履修単位: 1
開設学科 生産デザイン工学科(情報システムコース) 対象学年 4
開設期 後期 週時間数 2
教科書/教材 金田 浩明,はじめてのAndroidプログラミング 改訂版,SBクリエイティブ,2017
担当教員 白濵 成希

到達目標

・これまでのプログラミング言語の知識をもとに開発用プログラミング言語を学習することができる
・Androidアプリのコンポーネントについて基本的な概念を理解する
・ユーザーインターフェイスをデザインするためにレイアウトの基本を理解しXML形式で記述することができる
・Androidアプリの標準開発環境であるAndroid Studioの基本的な操作に習熟する
・サンプルプログラムを作成し動作を確認するとともに、簡単な修正を行うことができる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
開発用プログラミング言語異なるプログラミング言語の持つ新しい機能や概念を学習することができる。プログラミングの基本を理解し、言語が変わっても理解できる。プログラミングの基本を理解できない。
アプリのコンポーネントオリジナルアプリのためのActivityを作成できる。サンプルアプリのActivityを理解できる。Activityの概念を理解することができない。
ユーザインターフェイスレイアウトの基本を理解し、自らデザインしたUIをXML形式で記述できる。XML形式で記述されたレイアウトを理解できる。レイアウトおよびXML形式の記述を理解できない。
開発環境リファレンスを参照し、開発環境の操作を自主的に学習することができる。アプリ開発に必要な開発環境の基本操作を理解できる。開発環境を利用することができない。
アプリ開発求める機能を実現するためにリファレンスを参照し実装することができる。サンプルアプリで使用されているSDKを理解することができる。サンプルアプリを作成することができない。

学科の到達目標項目との関係

教育方法等

概要:
現代社会においてモバイルデバイスは欠かせない存在となり、様々なアプリが生活の利便性を向上させている。普段から日常的に使用しているスマートフォンアプリを実際に作成することで、実践的なソフトウェア開発の基礎について学習する。
授業の進め方・方法:
最初に課題について説明した後、演習を行う。ペアプログラミング、グループ学習を推奨する。
注意点:
基本はテキストで学習するが、オリジナルアプリで必要な機能など応用に関しては公式サイト ( 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

評価割合

演習発表レポート合計
総合評価割合403030100
基礎的能力105520
専門的能力30252580