概要:
JavaScriptによるプログラミングの基本を学び、より高度なプログラミング技法を学ぶための基礎づくりを図る。
授業の進め方・方法:
教科書や配布プリントなどを用いた講義と、情報処理演習室でのパソコン利用による演習を中心に進める。
JavaScriptのサンプルプログラムをそのまま入力して、動作確認を行う。
後期に入ると、改造やプログラムの動作予想、不具合改修などの課題を行い試験を実施する。
注意点:
学習教育目標:RB2(◎)
関連科目:情報工学基礎(本科2年)、情報基礎演習(本科2年)、プログラミング応用(本科3年)
学習教育目標の達成度評価方法:「前期」課題の提出のみで評価する。試験を実施しない。前期40%「後期」JavaScriptの中間学力試験と期末課題による評価を60%とする。
再試:再試を行う場合もある。
学習教育目標の達成度評価基準:60点以上を合格とする。
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
【講義】プログラミングの概念とプログラム作成手順
|
プログラミングの概念とプログラム作成手順を理解する。
|
2週 |
【講義】JavaScriptの基本(1)代入、演算子
|
JavaScriptにおける代入、四則演算、式の作り方を理解する。
|
3週 |
【講義】JavaScriptの基本(2)変数、型、文字列
|
JavaScriptにおける変数、型、文字列の仕組みを理解する。
|
4週 |
【講義】JavaScriptの基本(3)条件分岐
|
JavaScriptにおける連接処理、条件分岐の概念を理解する。
|
5週 |
【講義】JavaScriptの基本(4)反復処理
|
JavaScriptにおける反復処理の概念を理解する。
|
6週 |
【講義】組み込みオブジェクト |
基本的なオブジェクトを利用する
|
7週 |
【講義】組み込みオブジェクト |
コレクション型オブジェクトを利用する
|
8週 |
【講義】オリジナルオブジェクト |
オブジェクトを自作する
|
2ndQ |
9週 |
中間試験 |
|
10週 |
【講義】関数 |
関数の概念を理解する
|
11週 |
【講義】関数 |
関数の概念を理解して利用する
|
12週 |
【講義】アルゴリズム(1)基本的な手法 |
|
13週 |
【講義】アルゴリズム(2)条件分岐、ループ
|
オブジェクトモデルを理解する
|
14週 |
【講義】アルゴリズム(3)サーチ
|
コールバックを定義して記述できる
|
15週 |
【講義】アルゴリズム(4)ソート |
イベントハンドラ
|
16週 |
期末試験 |
前期を振り返り到達目標が達成できているか確認する。
|
後期 |
3rdQ |
1週 |
【講義】HTML,CSS |
HTML、CSSが書ける
|
2週 |
【講義】DOM |
ドキュメントオブジェクトモデルを理解する
|
3週 |
【講義】DOM |
コールバック
|
4週 |
【講義】DOM
|
イベントハンドラを書ける
|
5週 |
【講義】GUIプログラミング |
GUIコントロールの種類を理解する
|
6週 |
【講義】GUIプログラミング |
GUIコントロールのを使える
|
7週 |
【講義】JavaScriptのCANVASによる描画 |
JavaScriptのCANVASによる図形描画でコンピュータグラフィックの基本を理解する。
|
8週 |
【講義】JavaScriptのCANVASによる描画 |
JavaScriptのCANVASに描画を行う
|
4thQ |
9週 |
中間試験 |
|
10週 |
【講義】GUIプログラミング |
GUIでフリーズするプログラミングを理解する
|
11週 |
【講義】GUIプログラミング |
GUIでフリーズしない非同期プログラミングを理解する
|
12週 |
【講義】アプリケーション開発 |
トランプを使ったカードゲームを作成する(1)
|
13週 |
【講義】アプリケーション開発
|
トランプを使ったカードゲームを作成する(2)
|
14週 |
【講義】ライブラリの利用 |
トランプを使ったカードゲームを作成する(3)
|
15週 |
【講義】WebAPI |
JavaScriptからWebAPIを利用する
|
16週 |
期末試験 |
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 工学基礎 | 情報リテラシー | 情報リテラシー | 情報を適切に収集・処理・発信するための基礎的な知識を活用できる。 | 3 | |
論理演算と進数変換の仕組みを用いて基本的な演算ができる。 | 3 | |
コンピュータのハードウェアに関する基礎的な知識を活用できる。 | 3 | |
情報伝達システムやインターネットの基本的な仕組みを把握している。 | 3 | |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。 | 3 | |
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。 | 3 | |
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。 | 3 | |
情報セキュリティの必要性および守るべき情報を認識している。 | 3 | |
個人情報とプライバシー保護の考え方についての基本的な配慮ができる。 | 3 | |
インターネット(SNSを含む)やコンピュータの利用における様々な脅威を認識している | 3 | |
インターネット(SNSを含む)やコンピュータの利用における様々な脅威に対して実践すべき対策を説明できる。 | 3 | |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 代入や演算子の概念を理解し、式を記述できる。 | 3 | 前2 |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 3 | |
変数の概念を説明できる。 | 3 | 前3 |
データ型の概念を説明できる。 | 3 | |
制御構造の概念を理解し、条件分岐を記述できる。 | 3 | 前4 |
制御構造の概念を理解し、反復処理を記述できる。 | 3 | 前5 |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 3 | 前6 |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 3 | |
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。 | 3 | 前7 |
主要な言語処理プロセッサの種類と特徴を説明できる。 | 3 | |
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。 | 3 | |
プログラミング言語は計算モデルによって分類されることを説明できる。 | 3 | |
主要な計算モデルを説明できる。 | 3 | |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。 | 3 | |
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。 | 3 | |
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。 | 3 | |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。 | 3 | |
ソフトウェア | アルゴリズムの概念を説明できる。 | 3 | |
与えられたアルゴリズムが問題を解決していく過程を説明できる。 | 3 | |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。 | 3 | |
整列、探索など、基本的なアルゴリズムについて説明できる。 | 3 | |
時間計算量によってアルゴリズムを比較・評価できることを説明できる。 | 3 | |
領域計算量などによってアルゴリズムを比較・評価できることを説明できる。 | 3 | |
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。 | 3 | |
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。 | 3 | |
リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。 | 3 | |
リスト構造、スタック、キュー、木構造などの基本的なデータ構造を実装することができる。 | 3 | |
ソフトウェアを中心としたシステム開発のプロセスを説明できる。 | 3 | |
ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。 | 3 | |
同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。 | 3 | |