• 検索結果がありません。

4-4- 基スクリプト言語に関する知識 コードの作成や修正が容易とされるスクリプト言語を学習し アプリケーション開発の手法を習得する 本カリキュラムでは まずスクリプト言語に位置づけされる Perl PHP Python JavaScript Ruby といった Ⅰ. 概要プログラミング言語の特徴に

N/A
N/A
Protected

Academic year: 2021

シェア "4-4- 基スクリプト言語に関する知識 コードの作成や修正が容易とされるスクリプト言語を学習し アプリケーション開発の手法を習得する 本カリキュラムでは まずスクリプト言語に位置づけされる Perl PHP Python JavaScript Ruby といった Ⅰ. 概要プログラミング言語の特徴に"

Copied!
13
0
0

読み込み中.... (全文を見る)

全文

(1)

4-4-基 スクリプト言語に関する知識

独立行政法人 情報処理推進機構

(2)

4-4-基 スクリプト言語に関する知識

Ⅰ.概要 コードの作成や修正が容易とされるスクリプト言語を学習し、アプリケ ーション開発の手法を習得する。本カリキュラムでは、まずスクリプト 言語に位置づけされる Perl、PHP、Python、JavaScript、Ruby といった プログラミング言語の特徴について解説し、動作環境の構築や基本 的な構文について習得する。 次に前述した言語のうち Ruby に焦点をあて、オブジェクト指向や正規 表現、連想配列といった技術について学習する。 Ⅱ.対象専門分野 職種共通 Ⅲ.受講対象者、 受講前提 本カリキュラムの「1-1-基 OSS の概要に関する知識」を受講済みで あること。または、同等の知識を有すること。 Ⅳ.学習目標 • スクリプト言語の概要や基礎知識、各言語における特徴について 理解する。 • Perl、PHP、Python、JavaScript、Ruby といったスクリプト言語の 動作環境の設定方法、プログラムの基本構文について理解す る。 • Ruby の組み込みクラスの利用方法について習得する。 • Ruby によるオブジェクト指向プログラミングを理解する。 Ⅴ.使用教科書、 教材等 『プログラミング Ruby-達人プログラマーガイド』

David Thomas/Andrew Hunt 著、ピアソンエデュケーション刊 その他、オリジナル教材やソースコードを教材として用いる Ⅵ.習得スキル の評価方法 講義終了後の受講レポート、定量アンケート、知識確認ミニテスト、 演習問題の取り組み状況を総合的に判断して評価を行う。 Ⅶ.カリキュラム の構成 レベル 2(基本) 第 1 回~第 15 回 独立行政法人 情報処理推進機構

2

(3)

講座内容

第1回 スクリプト言語の概要と基本(講義+ワークショップ 90 分)

スクリプト言語プログラミングの概要として、歴史や特徴、適用範囲について学習する。また、プログラム を開発する流れについて習得する。 (1) スクリプト言語の説明 1 スクリプト言語とは(概要、歴史、開発の経緯) 2 スクリプト言語の種類(Perl、PHP、Python、JavaScript、Ruby、など) 3 スクリプト言語とコンパイラ言語の比較(利用用途による種別、各言語のメリット・デメリット) (2) スクリプト言語による開発の流れ 1 動作環境の構築(Perl、PHP、Python、Ruby) 2 エディタによるプログラム作成(Eclipse プラグインの利用)

• Perl(EPIC : Eclipse Perl Integration)

• PHP(PDT: PHP Development Tools)

• Python(PyDev : Python Development Environment)

• JavaScript(EclipseWTP)

• Ruby(RDT : Ruby Development Tools)

3 実行までの流れ • ローカルでの実行(コマンドラインでの実行) • Web アプリケーションでの実行 4 サンプルプログラム 独立行政法人 情報処理推進機構

3

(4)

第2回 Web アプリケーションの紹介(講義 90 分)

言語に依存しない Web アプリケーションの基本的な知識について学習する。スタンドアロンアプリケーショ ンとは異なる、Web アプリケーションの構造を理解する。 (1) Web アプリケーションとは 1 Web サーバと Web ブラウザ 2 静的なページと動的なページ 3 HTTP リクエスト(get、post) 4 HTTP レスポンス (2) 画面遷移 1 リダイレクト (3) 状態管理 1 Session 2 Cookie 独立行政法人 情報処理推進機構

4

(5)

第3回 Perl の基本構造(講義+ワークショップ 90 分)

Perl の基本的な仕組みと構成、基本構文を学習し、プログラミングの内容を理解する。また、サンプルプロ グラムをもとに、簡単なプログラムの流れを確認する。 (1) Perl の特徴 1 Perl とは(概要、言語開発の背景、バージョンによる差異、など) 2 Perl の特徴 3 Perl の動作方法(環境構築、ローカルアプリケーションとしての動作方法、Web アプリケーションと しての動作方法) 4 拡張子の説明(pl、pm、cgi)

5 開発エディタの使用方法(EPIC : Eclipse Perl Integration) 6 Perl の基本構造と文法(プログラムの構成と言語仕様) 7 Perl のライセンス形態 8 Perl による開発事例 9 公式サイトとリファレンス紹介 (2) 基本的なプログラム記述の例 1 変数、定数、配列 2 演算子(代入、算術、比較、論理、文字列比較、文字列置換、など) 3 制御構造(条件分岐処理、繰り返し処理) 4 標準入出力 5 正規表現 6 サブルーチンとライブラリ 7 組み込みモジュール 8 サンプルプログラム(標準出力による実行例) 独立行政法人 情報処理推進機構

5

(6)

第4回 PHP の基本構造(講義+ワークショップ 90 分)

PHP の基本的な仕組みと構成、基本構文を学習し、プログラミングの内容を理解する。また、サンプルプ ログラムをもとに、簡単なプログラムの流れを確認する。 (1) PHP の特徴 1 PHP とは(概要、言語開発の背景、バージョンによる差異、など) 2 PHP の特徴 3 PHP の動作方法(環境構築、ローカルアプリケーションとしての動作方法、Web アプリケーション としての動作方法) 4 開発エディタの使用方法(PDT: PHP Development Tools) 5 PHP の基本構造と文法(プログラムの構成と言語仕様) 6 PHP のライセンス形態 7 PHP による開発事例 8 公式サイトとリファレンス紹介 (2) 基本的なプログラム記述の例 1 変数、定数、配列 2 演算子(代入、算術、比較、論理、など) 3 制御構造(条件分岐処理、繰り返し処理)

4 例外処理(try ブロック、catch ブロック、throw 文) 5 ユーザ定義関数と標準関数

6 拡張モジュール(php.ini での設定、など)

7 サンプルプログラム(リダイレクト処理による実行例)

独立行政法人 情報処理推進機構

(7)

第5回 Python の基本構造(講義+ワークショップ 90 分)

Python の基本的な仕組みと構成、基本構文を学習し、プログラミングの内容を理解する。また、サンプル プログラムをもとに、簡単なプログラムの流れを確認する。 (1) Python の特徴 1 Python とは(概要、言語開発の背景、バージョンによる差異、など) 2 Python の特徴 3 Python の動作方法(環境構築、ローカルアプリケーションとしての動作方法、Web アプリケーショ ンとしての動作方法)

4 開発エディタの使用方法(PyDev : Python Development Environment) 5 Python の基本構造と文法(プログラムの構成と言語仕様) 6 Python のライセンス形態 7 Python による開発事例 8 公式サイトとリファレンス紹介 (2) 基本的なプログラム記述の例 1 変数、定数、配列 2 演算子(代入、算術、比較、論理、など) 3 制御構造(条件分岐処理、繰り返し処理) 4 例外処理(try-except) 5 ユーザ定義関数と組み込み関数 6 外部ライブラリを利用した GUI の作成(Tkinter) 7 サンプルプログラム(CGI による実行例) 独立行政法人 情報処理推進機構

7

(8)

第6回 JavaScript の基本構造(講義+ワークショップ 90 分)

JavaScript の基本的な仕組みと構成、基本構文を学習し、プログラミングの内容を理解する。また、サン プルプログラムをもとに、簡単なプログラムの流れを確認する。 (1) JavaScript の特徴 1 JavaScript とは(概要、言語開発の背景、バージョンによる差異、など) 2 JavaScript の特徴 3 JavaScript の動作方法 4 EclipseWTP を利用した JavaScript 記述方法 5 JavaScript の基本構造と文法(プログラムの構成と言語仕様) 6 JavaScript による開発事例 7 リファレンス紹介 (2) 基本的なプログラム記述の例 1 変数、定数、配列 2 演算子(代入、算術、比較、論理、など) 3 制御構造(条件分岐処理、繰り返し処理) 4 例外処理(try-catch-finally、throw) 5 ユーザ定義関数 6 標準ライブラリ 7 XMLHttpRequest と Ajax 8 サンプルプログラム 独立行政法人 情報処理推進機構

8

(9)

第7回 Ruby の基本構造(講義+ワークショップ 90 分)

Ruby の基本的な仕組みと構成を学習し、特徴を理解する。また、サンプルプログラムをもとに、簡単なプ ログラムの流れを確認する。 (1) Ruby の特徴 1 Ruby とは(概要、言語開発の背景、バージョンによる差異、など) 2 Ruby の特徴 3 Ruby の動作方法(環境構築、ローカルアプリケーションとしての動作方法、Web アプリケーション としての動作方法)

4 開発エディタの使用方法(RDT : Ruby Development Tools) 5 Ruby の基本構造と文法(プログラムの構成と言語仕様) 6 Ruby のライセンス形態 7 Ruby による開発事例 8 公式サイトとリファレンス紹介 (2) 基本的なプログラム記述の例 1 サンプルプログラム(標準出力)

第8回 Ruby の基本文法(講義+ワークショップ 90 分)

Ruby の基本文法を学習し、プログラミングの内容を理解する。また、サンプルプログラムを通して具体的 な実装方法を学習する。 (1) Ruby の基本文法 1 変数、定数 2 演算子(代入、算術、比較、論理、範囲、など) 3 制御構造(条件分岐処理、繰り返し処理) 4 例外処理(rescue、Exception) 5 メソッド(モジュール関数、定義、戻り値の設定、呼び出し) 6 組み込みライブラリ(組み込み関数、組み込み変数、組み込みクラス、など) 7 ブロック構文 8 サンプルプログラム 独立行政法人 情報処理推進機構

9

(10)

第9回 クラスの基本(講義+ワークショップ 90 分)

Ruby のクラスの使用方法を学習することで、オブジェクト指向の考え方を習得する。また、サンプルプロ グラムを通してクラスの定義とカプセル化について理解する。 (1) オブジェクト指向の説明 1 オブジェクト指向とは 2 オブジェクト指向の特徴(継承、カプセル化、ポリモルフィズム)と利点 (2) クラスの定義 1 クラスの定義(クラス定義、特異クラス定義、モジュール定義) 2 メソッドの定義(メソッド定義、特異メソッド定義、クラスメソッド定義) 3 インスタンス化 4 サンプルプログラム (3) カプセル化 1 情報隠蔽の利点 2 メソッドの呼び出し制限(private、public、protected) 3 サンプルプログラム

第10回 継承と多相性(講義+ワークショップ 90 分)

Ruby におけるクラスの継承を学習し、継承の利点とポリモルフィズムを理解する。また、Ruby 特有の Mix-in によるクラスへの機能追加について理解する。 (1) 継承 1 クラスの継承 2 ダックタイピング 3 サンプルプログラム (2) 多相性(ポリモルフィズム) 1 オーバーライド 2 ポリモルフィズム 3 サンプルプログラム (3) モジュールと Mix-in 1 モジュール 2 Mix-in(クラスにモジュールの取り込み、include メソッド) 3 サンプルプログラム 独立行政法人 情報処理推進機構

10

(11)

第11回 組み込みクラス(データ操作)(講義+ワークショップ 90 分)

Ruby に組み込まれている数値や文字列、日付といったデータ操作に特化したクラスについて学習する。 また、サンプルプログラムを通じて、データ操作に関するクラスの使用方法を習得する。 (1) データ操作の説明 1 データ操作とは(概要、種類) (2) 数値の説明 1 数値とは(概要、数値の扱い、Numeric クラスの説明) 2 Numeric クラスの構成(メソッドの種類、など) 3 Numeric クラスの操作方法(算術演算、数値型変換、ビット演算) 4 サンプルプログラム (3) 文字列の説明 1 文字列とは(概要、文字列の扱い、String クラスの説明) 2 String クラスの構成(メソッドの種類、など) 3 String クラスの操作方法(文字列分割、文字列比較、文字列検索/置換、など) 4 サンプルプログラム (4) その他データ操作のクラスの紹介 1 日付/時刻の操作(Time クラス) 2 シンボルを表すクラス(Symbol クラス)

第12回 正規表現(講義+ワークショップ 90 分)

Ruby における正規表現による文字列のパターンマッチングについて学習する。また、サンプルプログラム を通して Regexp クラスの使用方法を習得する。 (1) Ruby における正規表現 1 Regexp クラスと正規表現オブジェクト(new、/~/) 2 パターンマッチング(match、=~) 3 パターンマッチ結果(MatchData 型、$~) 4 サンプルプログラム (2) String クラスと正規表現 1 文字列置換(sub、gsub) 2 文字列検索(index、rindex) 3 文字列分割(split) 4 サンプルプログラム 独立行政法人 情報処理推進機構

11

(12)

第13回 組み込みクラス(データ構造)(講義+ワークショップ 90 分)

Ruby に組み込まれている、配列や構造化といったデータ構造に特化したクラスについて学習する。また、 サンプルプログラムを通して、データ構造に関するクラスの使用方法を習得する。 (1) データ構造の説明 1 データ構造とは(概要、種類) 2 データ構造に関する組み込みクラス(Array、Hash、Struct、など) (2) 配列の説明 1 配列とは(概要、変数との違い、Array クラスの説明) 2 Array クラスの構成(メソッドの種類、など) 3 Array クラスの操作方法(要素取得、結合、ソート) 4 サンプルプログラム (3) 構造化クラスの説明 1 構造化クラスとは(概要、構造化クラスの説明) 2 Struct クラスの構成(メソッドの種類、など) 3 Struct クラスの操作方法 4 サンプルプログラム

第14回 連想配列(講義+ワークショップ 90 分)

Ruby に組み込まれているデータ構造のうち、ハッシュ(連想配列)について学習する。また、サンプルプロ グラムを通して、ハッシュの使用方法を習得する。 (1) ハッシュの説明 1 ハッシュとは(概要、Hash クラスの説明) 2 Hash クラスの構成(メソッドの種類、など) (2) Hash クラスの操作方法 1 ハッシュの生成(配列からの生成、空のハッシュ) 2 値の代入([ ]=、store)と取得(self、fetch、values_at) 3 値の削除(delete、delete_if) 4 サイズの取得(size) 5 each、each_pair、each_key、each_value 6 サンプルプログラム 独立行政法人 情報処理推進機構

12

(13)

独立行政法人 情報処理推進機構

13

第15回 組み込みクラス(入出力)(講義+ワークショップ 90 分)

Ruby に組み込まれている、ファイルに対する入出力やファイル操作といった、ファイル管理に特化したクラ スについて学習する。また、サンプルプログラムを通じて、ファイル管理に関するクラスの使用方法を習得 する。 (1) ファイル管理の説明 1 ファイル管理とは(概要、種類) 2 ファイル管理に関する組み込みクラス(File::Stat、IO、File、Dir、など) (2) ファイル情報の説明 1 ファイル情報とは(概要、File::Stat クラスの説明) 2 Fiile クラスに関する定数(File::Constants) 3 File::Stat クラスの構成(メソッドの種類、など) 4 File::Stat クラスの操作方法(ファイル情報の取得、など) 5 サンプルプログラム (3) ファイル入出力の説明 1 ファイル入出力とは(概要、IO クラスの説明) 2 IO クラスの構成(メソッドの種類、など) 3 IO クラスの操作方法(バイナリ入出力、テキスト入出力) 4 サンプルプログラム (4) ファイル/ディレクトリ操作の説明 1 ファイル/ディレクトリ操作とは(概要、File/Dir クラスの説明) 2 File/Dir クラスの構成(メソッドの種類、など) 3 File/Dir クラスの操作方法(ファイルコピー、ディレクトリ作成、など) 4 サンプルプログラム 以上

参照

関連したドキュメント

注5 各証明書は,日本語又は英語で書かれているものを有効書類とします。それ以外の言語で書

では,この言語産出の過程でリズムはどこに保持されているのか。もし語彙と一緒に保

Birdwhistell)は、カメラフィル ムを使用した研究を行い、キネシクス(Kinesics 動作学)と非言語コミュニケーションにつ いて研究を行いました。 1952 年に「Introduction

This paper presents a case of material and classroom guideline design to motivate autonomous learning of kanji and vocabulary in advanced Japanese language classes. The main goal

これまた歴史的要因による︒中国には漢語方言を二分する二つの重要な境界線がある︒

るところなりとはいへども不思議なることなるべし︒

2021] .さらに対応するプログラミング言語も作

しかし,物質報酬群と言語報酬群に分けてみると,言語報酬群については,言語報酬を与