All posts by admin

2.Install Java env.

Javaのインストール

MacBookでのJavaのインストール方法

http://java.com/ja/download/help/mac_install.xml

MacにJavaをインストールするには、次の手順に従います。
jre-7u6-macosx-x64.dmgファイルをダウンロードします。ファイルをダウンロードする前に、使用許諾契約の内容を確認し、同意します。
.dmgファイルをダブルクリックして起動します
パッケージ・アイコンをダブルクリックし、インストール・ウィザードを起動します

結果確認

chen-no-MacBook-Air:~ chen$ java -version
java version “1.8.0_11”
Java(TM) SE Runtime Environment (build 1.8.0_11-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mixed mode)

 

Windows7でのJavaのインストール方法

http://java.com/ja/download/help/windows_manual_download.xml

手動ダウンロード・ページに移動します
「Windows Online」をクリックします
ダウンロードするファイルを実行するか保存するかを尋ねる「ファイルのダウンロード」ダイアログ・ボックスが表示されます
インストーラを実行するには、「実行」をクリックします。
ファイルを保存して後でインストールするには、「保存」をクリックします。
保存先として、ローカル・システムのフォルダを選択します。
ヒント: デスクトップなどのように、コンピュータ上のわかりやすい場所にファイルを保存してください。
保存したファイルをダブル・クリックし、インストールを開始します。
インストールが始まります。「Install (インストール)」ボタンをクリックして使用許諾契約の条項に同意し、インストールを続行します。

Javaアプリケーションのサンプル(HelloWorld)

Java の Hello World

class Hello {
  public static void main(String[] args) {
    System.out.println("Hello World!");
  }
}

 

chen-no-MacBook-Air:Workshop chen$ vi Hello.java
chen-no-MacBook-Air:Workshop chen$ javac Hello.java
chen-no-MacBook-Air:Workshop chen$ java Hello
Hello World!
chen-no-MacBook-Air:Workshop chen$

ブラウザで実行できるサービス

例えばちょっと○○言語触ってみたいなーと思ったとき、
環境を作る手間を考えて辞めてしまうことは割と多い。

統合開発環境(IDE)みたいにインストールするだけで使えます!とかならまだしも、
手動で環境変数を設定したり設定ファイル編集したりしなければならないとなると・・・

そんなときに使えるのがこのIdeone。
http://ideone.com/

ユーザ登録をしなくても使うことができる。
しかしユーザ登録をした方が間違いなく便利なのでオススメ。

ユーザ名とパスワード、メールアドレスだけで登録できる。
「I have read and agree to the Ideone Terms of use.」にチェックをいれること。

Processingのインストール

ProcessingはJava言語の機能をより簡単に使えるよう工夫されており,また開発環境から実行環境までがワンセットになっています。初心者が学習する言語として最適です。作成したプログラムは単独で動く実行ファイルに簡単に変換できます。これも大変魅力的です。

ダウンロード

Processing の公式サイト(http://processing.org/)を開き,メニューから DOWNLOAD をクリックします.Linux ,Mac OSX,Windows,Windows (without Java) というメニューがありますので、自分のPCに合わせてダウンロードしてください。

Windows版であれば,ダウンロードしたファイルを展開するだけです。展開したフォルダに入っているProcessingのアイコンをダブルクリックすれば開発環境が立ち上がります。展開したフォルダをMy Documentsなどのお好みの場所へ置いてください。USB へのセットアップすれば、自分の Windows PC 以外でも USB メモリを挿せば Processing プログラミング環境が利用できます。

Mac OS X 版はさらに簡単です。ダウンロードしたファイルをダブルクリックすれば開発環境が立ち上がります。ダウンロードしたファイルはアプリケーションフォルダにドラッグ&ドロップしておきましょう。

Processing のサンプル(HelloWorld)

プログラミング学習の第一歩は,Hello World という文字列を画面に表示するのが一般的ですが,Processing は視覚的な表現が得意,具体的には図形(グラフィック)描画が得意なので,最初の一歩も図形を描画することをしてみます.

基本 RGB

 

では,入力エリアに次の文字列を入力してください.

line( 0, 0, 100, 100 );

入力が終わったら,入力エリアの上にあるボタンのうち,一番左にある音楽再生ボタンのような絵柄のボタンをクリックしてください.小さなウィンドウが表示され,直線が描かれていると思います.ここでは,このウィンドウを 実行ウィンドウ と呼ぶことにます.

ブラウザで実行できるサービス

練習問題

  1. 画面に適当な大きさの正方形を描くプログラムを作れ
  2. 画面に「田の字」を描くプログラムを作れ

作ったプログラムはProcessing のメニューの File ⇒ save で保存する。プログラムの名前を変更するときは save asを使う。保存先のフォルダが上で作ったものになっているのを確認すること。

1.Introduction

プログラミング言語

 

コンピュータ上で動くプログラムには様々な目的のために,様々な動きをするものがあります.その動きによって,プログラムの書きやすい書き方が異なります.そのために,これまで様々なプログラム言語が考え出されてきました.

プログラム言語の分類

プログラム言語を書き方の種類で分類すると,手続き型言語,関数型言語,論理型言語, オブジェクト指向言語に分けられます.

手続き型言語は,命令文を実行する順に並べます.その順を変えるには繰り返し文や分岐文などの制御構造を利用します.手続き型言語には FORTRAN や COBOL,PASCAL,C などがあります.

関数型言語は,関数を定義することで動作を指示するもので,LISP や ML が代表的な例です.

論理型言語は,形式論理,数理論理に基づいたプログラム言語で,事実を定義することである問題を解決することができます.論理型言語には Prolog などがあります.

オブジェクト指向言語は,データとそのデータに対する操作をまとめたオブジェクトの性質を定義することで動作を指示します.オブジェクト指向言語には Smalltalk,C++, Objective-C,Java などがあります.

上記の高水準プログラム言語を実行するためには,アセンブリ言語で書かれたプログラムを実行するためにアセンブラで機械語に変換するように,機械語に変換しなければなりません.この変換作業を行うプログラムを言語処理系と呼びます.代表的な言語処理系にはコンパイラとインタプリタがあります.

コンパイラ

コンパイラは高水準言語を機械語に変換して出力する言語処理系です.実際にはコンパイラはアセンブラ言語までの変換を行います.その後アセンブラによって機械語への変換を行います.また,アセンブラが作成するのはオブジェクトプログラムと呼ぶもので,実際に実行するためには実行時ライブラリと結合する必要があります.この結合にはリンカを利用します.市販されているプログラム開発環境では,コンパイラ,アセンブラ,リンカを意識することなく利用できるようになっています.

インタプリタ

インタプリタは高水準プログラム言語で書かれたプログラムを順次解釈しながら実行していきます.コンパイラの場合,実行するときには機械語にすべて変換してから実行するため,実行速度が速くなるメリットがあります.一方,プログラムを作るたびにコンパイラを使って変換しなければならないという面倒もあります.

Javaとは

◆Sun が開発したプログラミング言語

Java は、1995年頃に Sun Microsystems 社によって発表されたプログラミング言語です。プログラミング言語には他に BASIC、COBOL、FORTLAN、LISP、C、C++、JavaScript、Perl、PHP、Ruby などがあります。

◆オブジェクト指向プログラミングが可能

Java は、オブジェクト指向 的なプログラミングが可能な言語です。オブジェクト指向とは継承機能を持つクラスに基づいてインスタンスを生成することで記述性を高める・・・と言っても 説明しきれないので、どこか別の場所で詳しく説明します。オブジェクト指向プログラミング言語には他に、Smalltalk、C++、C# などがあります。

◆ 中間コードへのコンパイル言語

プログラミング言語は、プログラムを逐次解析しながら実行する インタープリタ型言語 と、あらかじめマシン語コードに変換しておく コンパイル型言語 に大別されます。Java は基本的にはコンパイル型言語ですが、CPU に依存したマシンコードではなく、CPU に依存しない 中間コード にコンパイルするのが特徴です。

Processingとは

Processingは比較的新しいプログラミング言語だ。どのくらい新しいといって、正式版が公開されたのが2008年11月のこと。

◆Java を単純化したプログラミング環境

Processing は Java という言語をベースとしたオープンソースのプログラミング言語です.プログラムのソースコードを入力する,実行する,デバッグするというプログラミングの一連の作業を行うための一つのソフトウェアとして動くものですので,プログラミング環境といった方がよいかもしれません.公式サイトでも environment という語を使っています.

The syntax isn’t alien, actually, Processing code is Java code, just hiding some syntax points unnecessary to start a quick sketch (wrapping in a class, declaring a static main function to create the object from the class and call it, etc.).

Processing は Windows でも Mac でも Linux でも利用できること,作ったプログラムを,どのような OS でも動作する Java アプレットやプログラミング環境なしでも実行可能な形式に変換できることも大きな特徴です.

簡単に記述できるのですが、文法はJavaやC言語などと同じような形になっているので、プログラミング言語のアルゴリズムの学習に最適となっています。

◆視聴的な表現を得意

Processing は、 画像やアニメーションを用いた視聴的な表現を得意としています.そのため,対象者の中にアーティストやデザイナ,建築家が含まれています.また,Processing を対象とした書籍も,「ビジュアライジング・データ ―Processingによる情報視覚化手法」,「Built with Processing デザイン/アートのためのプログラミング入門」,「Processing: Creative Coding and Computational Art」など,視覚表現に関連したものが多くなっています.

ProcessingはJavaを単純化し、グラフィック機能に特化した言語といえる。

学習環境

参考サイト

TinyWebDB API Tester

TINIWEBDB-API5-512x512

TinyWebDB API is a App Inventor TinyWebDB API plugin, use you WordPress as a TinyWebDB web service.

After you setup TinyWebDB API on WordPress, you will need a tester to make sure the API work well.

This tester use for the API test.

https://play.google.com/store/apps/details?id=appinventor.ai_chen_waseda.WP_TinyWebDB_API

Algorithms and Data Structures

授業概要  ソートとコレクションを中心にアルゴリズムとデータ構造に関する基本を学習する。
Java言語によるプログラミング技術の基本事項を習得する。
特にアルゴリズムとデータ構造の理解を中心に、講義および演習を行う。
授業の到達目標 ・オブジェクト指向言語の概念を理解するとともに、Javaを用いて課題を解決するスキルを身につける。
・アプリケーションの開発に必要な概念を理解するとともに、Java言語を用いて実用的なWebアプリケーションの開発が行えるようになる。
事前・事後学習の内容 予習としてMyWasedaに掲載するレジュメの事前読了を求めることがあります。各回の予習には90分~120分かかると想定されます。
授業計画
1: 本講義の目的と進め方について説明する。最終的に作成するアプリケーションの実例を説明する。
2: 基本概念を理解する。Javaのインストールからコマンドライン実行の方法を学ぶ。
3: 基本的なアルゴリズムを学ぶ。
4: 基本的なデータ構造を学ぶ。
5: 探索アルゴリズムを学ぶ。
6: スタックとキューを学ぶ。
7: 再帰的アルゴリズムを学ぶ。
8: ソートを理解する。
9: 集合を学ぶ。
10: 文字列探索を学ぶ
11: 線形リストを学ぶ
12: 木構造を学ぶ
13: Webアプリケーション作成に必要な概念を理解する
14: RESTアーキテクチャとJSON オブジェクトを学ぶ
15: Webアプリケーション作成(コーディング・テスト、デバッグ、仕上げ)
教科書 「明解 Javaによるアルゴリズムとデータ構造」 柴田 望洋 (著)ソフトバンククリエイティブ (2007/11/7)
参考文献 「明解Java 入門編」 柴田 望洋 (著)ソフトバンククリエイティブ(2007/8/8)
「Javaによるはじめてのアルゴリズム入門」(河西朝雄著、技術評論社、2001年)
成績評価方法
割合 評価基準
レポート: 80% 与えられた課題に対する、プログラム、プログラムの説明、考察をレポートに書いてください。レポートの内容で評価することになります。
平常点評価: 20% 授業および課題に対する取り組みを総合して評価します。

Reference(jp)

  • 「明解 Javaによるアルゴリズムとデータ構造」  柴田 望洋 (著)ソフトバンククリエイティブ (2007/11/7)
  • 「明解Java 入門編」  柴田 望洋 (著)ソフトバンククリエイティブ(2007/8/8)
  • 「Javaによるはじめてのアルゴリズム入門」(河西朝雄著、技術評論社、2001年)
  • 「標準Javaプログラミングブック」(河西朝雄著、技術評論社、2001年)
  • とほほのJava入門 (http://www.tohoho-web.com/java/index.htm )