2017年度工学院大学 情報学部システム数理学科

Webプログラミング(k)[3G30]

試験情報を見る] [授業を振り返ってのコメント(学内限定)

2単位
石川 修一 非常勤講師  
最終更新日 : 2018/09/28

<学位授与の方針>
1. 基礎知識の習得
2. 専門分野知識の習得
3. 汎用的問題解決技能
4. 道徳的態度と社会性

<授業のねらい>
オブジェクト指向スクリプト言語JavaScriptは、Webブラウザ、サーバーやIoT機器のプログラミング言語として広く使われています。
本講義の前半ではWebブラウザで動作するプログラム(クライアントサイドJavaScript)、後半ではサーバー上で動作するプログラム(サーバーサイドJavaScript)を学び、Webアプリケーションが動作する仕組みを理解します。

<受講にあたっての前提条件>
必ず「Webプログラミング演習」を同時に履修してください。
簡単なWebページが作れることを前提に講義を進めます。そのために必要なHTMLやCSSの知識についてはこの講義では詳しく解説しないので、第1回までに各自で学習してきてください。
また、プログラミング言語共通の概念(変数、条件判定、制御、関数など)の解説も行いません。C言語などなんらかのプログラミングの経験があることを前提にします。

<具体的な到達目標>
JavaScriptとオブジェクト指向を理解する。(専門性)
Webアプリケーションが動作する仕組みを理解する。(専門性)
JavaScriptコードを読むことができる。コードの問題点の指摘や改善の提案ができる。(実践性)

<授業計画及び準備学習>
1. Webページの制作
コードエディターの使い方、ブラウザ、HTML/CSS、コードのバージョン管理

2. JavaScriptの基本
変数/定数、データ型、演算子、制御構文

3. オブジェクト
プロパティ、メソッド、組み込みオブジェクト

4. 関数
関数、スコープ、引数、戻り値、スコープチェーン、クロージャ

5. オブジェクト指向
プロトタイプ、継承、ES2015におけるオブジェクト指向構文

6. DOM(Document Object Model)
DOMの理解、ノードウォーキング

7. クライアントサイドJavaScript
イベントドリブンモデル、タイマー処理、同期通信、非同期通信

8. グラフィックス、アニメーション
CSSアニメーション、HTML5 Canvas

9. 公開APIの利用
HTTP、RESTful API

10. サーバーサイドJavaScript
Node.js、パッケージ管理

11. Web API
Expressフレームワーク、APIの公開

12. リアルタイム通信
WebSocket、Socket.io

13. パフォーマンス最適化、セキュリティ
レンダリング、キャッシュ、Lazy Load、認証、脆弱性

14. 学習内容の振り返り

準備学習:
<第1回>
HTMLやCSSの知識についてはこの講義では詳しく解説しないので、第1回までに各自で学習してきてください。参考書を挙げていますが、他の書籍、Webサイト等を使用した学習でも問題ありません。テキスト、画像、テーブル、フォームを含むWeb
ページを作れるようにしてください。
<第2回〜第7回>
教科書の各回に対応するページを予習した上で授業に望んでください。
<第8回〜第13回>
PDF資料や参考サイトのURLを配布しますので、事前に予習してきてください。

<成績評価方法>
専門性と実践性を、ソースコードを読んで質問に答える形式の授業内小テスト(全10回程度)で評価します。A+、A、B、C、D、Fの6段階評価を行い、D以上を合格とします。

<教科書>
改訂新版JavaScript本格入門 モダンスタイルによる基礎から現場での応用まで
山田祥寛 著
技術評論社
ISBN 978-4774184111

注意:必ず「改訂新版」を購入してください。

<参考書>
いちばんよくわかるHTML5&CSS3デザインきちんと入門
狩野祐東 著
SBクリエイティブ
ISBN 978-4797388541

<オフィスアワー>
「Webプログラミング演習」の後に教室で。できるだけ事前にメールで連絡してください。

<学生へのメッセージ>
JavaScriptは、思いついたアイデアを素早くプロトタイプにする目的に最適な言語の1つです。習得しておけば将来どんな職種を選択しても、課題解決の助けとなるでしょう。

<備 考>
受講希望人数によっては履修制限を設ける可能性があります。
履修希望者は初回授業の冒頭から必ず出席してください。


ナンバリングはこちら
このページの著作権は学校法人工学院大学が有しています。
Copyright(c)2017 Kogakuin University. All Rights Reserved.