工学部学生のための
JavaScriptを使ったプログラミング入門

(単位名:コンピュータプログラミング)

末広ページへ このコーナーの目次へ 最新情報

 このページは、岐阜大学 工学部 応用精密化学科の授業です。

私の授業は,授業開始前の2時間前に,どんな「警報」でも出ていたら休講です。「警報」が出ていない場合は,学校の方針に従います。

 岐阜大学のこの授業は,15時50分の時点で,「警報」が出ていたら休講です。


講師:

 斎藤末広(岐阜大学非常勤)

 岐阜大学教育学部教育学科治療教育コース卒業後、ソフトハウス、株式会社テスクを経て、現在、日本総合ビジネス専門学校、特別非常勤。

目標:

 リテラシー(タッチタイプ,メールの操作)
 プログラミングの基礎を学ぶ

授業の進め方

 出席はとらない。各自,このページをみて,授業内容を判断して参加すること。

 年内の授業は,10分ほどキーボード練習がある。

 タッチタイプの練習,メール操作練習

 JavaScript のプログラミング

単位課題

 出席はいっさい関係ありません。

 1 タッチタイプで目標数値をクリア

 美佳タイプのローマ字単語で,手元を隠して,45 字/分で合格。各授業最後に,テスト(学生証必要)可能,締切は,(休講になったらその前の)最後の授業,(参考:岐阜大学美佳タイプ選手権

 2 必須課題

 各自プロフィールを公開して,この授業をうけている人のプロフィールのページが表示できるボタンを貼り付けること。

 3 期末テスト

 コンピュータのハード・ソフト,プログラミングの用語の意味を問います。

使用するハード・ソフト

 岐阜大学総合情報処理センター実習室パソコン(IBM互換機)
 マイクロソフトWindows2000
 ユードラプロ 4.2 日本語版
 エクセル2000
 ワード2000

 美佳タイプ

教科書・参考資料

 教科書 使用しない,

 Winパソコン基本操作:チェックリスト
(日本総合ビジネス専門学校社会人向け短期パソコン習得講座用から)

 『驚異のブラインド・タッチ』増田忠 著 参考サイト:増田式キーボード学習法

 キーボード練習プログラム ミカタイプ:美佳のタイプトレーナ ダウンロード

強く薦めること

 この授業で、パソコン、インターネットを自分の道具にすること。そのためには、キーボードを見ずにたたけるようにすること、さらに、自分専用のパソコンを手に入れ、すぐにでも自分の道具して使用を開始することである。

 また、自分の学習パターンにインターネットを利用することを組み入れること。

授業の約束

 実習室を出るときは,自分の席,近くの席に椅子をしまう事


第14回目(7/22) ホームページ作成&キーボードテスト

 新しい課題はありません。

第13回目(7/15) ロジックを考える

目的

 見本のプログラムのもとに,プログラムを拡張できるようにする。必要なテクニックの箇所を見つける。

課題

 作成したプロフィール表示プログラムを修正して,15, 17, 19 番のとき,それぞれ,斎藤先生,過年度の学生のプロフィールを表示するように直す。

 占いプログラムも組み込み,公開すること。なお,これは,単位課題の一つとなる。

ヒント

 if 文を利用

 15 のとき,"http://www2.gifu-u.ac.jp/~jhs4002/profile.html”を表示する。

先生にメール出す内容

件名:0715

内容:

 本日の授業の感想

 

第12回目(7/8)  ロジックを考える

目的

 見本のプログラムのもとに,プログラムを拡張できるようにする。必要なテクニックの箇所を見つける。

課題

 見本の時計に,3秒タイマーというボタンを追加する。

先生にメール出す内容

件名:0708

内容:

 本日の授業の感想

 

第11回目(7/1) ロジックを考える

目的

 見本のプログラムのもとに,プログラムを拡張できるようにする。

課題

 見本の性格判断を,8つの性格が判断できるようにする。

余裕課題

 自分の作成した「性格判断」を自分のホームページに組み込む。おもしろくする。

先生にメール出す内容

件名:0701

内容:

 本日の授業の感想


第9・10回目(6/17・24) オブジェクト

目的

 オブジェクトを利用したプログラムを作成できるようにする。

授業の流れ

 Mathオブジェクトを利用して特殊電卓(smp0617.html)を作成する。

 円の面積と円周を求める電卓を作成する。GUI部品のテキスト枠も使用する。テキスト枠とは,

のように,文字・数字を入力を受け付ける枠のことである。

 参考:三角形の面積を求める電卓

オブジェクトとは

 命令に従って,状況を判断しながら仕事をしてくれるモンスター。オブジェクトがする仕事(関数)をメソッド,オブジェクトが管理している特別な値をプロパティという。

 参考:オブジェクトモンスター

書式

 オブジェクト名.メソッド名( )

  例 x = Math.pow(2, 3)     // 23 を x に代入する。

 オブジェクト名.プロパティ名

  例 y  = Math.PI * 3 * 3 // 半径3の面積:

第8回目(6/10) ロジック 判断

目的

 プログラムの実行の流れを制御する方法のうち,判断文(IF文)を勉強する。

授業の流れ

以下は,クラスメートをランダムに表示するプログラムである。これを利用して,ボタンを押すたびに,サイコロの目の数を表示して,偶数か,奇数かも表示する。

*
<html>
<head>
<title>クラスメート表示</title>
<script>
  function cMateHP(){
    var xrnd = Math.random();
    var mateNO = Math.floor(xrnd * 62) + 1; // 62 は,クラスの最後の番号の人
    if (mateNO<10) mateNO = "0" + mateNO;
    nw = open("http://www2.gifu-u.ac.jp/~h30250" + mateNO+ "/index.html")
  }
</script>
</head>

<body>
<hr>

<form>
  <input type="button" name="xbtn" value="クラスの友達のページ"
   onclick="cMateHP()">
</form>

<hr>
</body>
</html>

*

上記のプログラムを変更する上でのヒント

 関数名 cMateHP を,saikoroへ

 学生の番号 mateNO を,サイコロの目 saiNO へ

 ボタンの表示名が,"クラスの友達のページ" となっているが,これを,"サイコロをふる"に変更する。

 if (mateNO<10) mateNO = "0" + mateNO;

 は,

 if(条件式)  真のとき実行する命令; という書式になっている,これを,

    if(条件式) {
        真のとき実行する命令
    } else {
        偽のときに実行する命令
    }

を利用する。

 偶数かいなかの条件式は,saiNo%2 == 0   == とイコールを2つ続けるのは判断であることをしめす。= だけだと,代入してしまう。

 偶数と表示するのは, document.write("サイコロの目は偶数の " + saiNO)

 ボタンを押したあとは,ホームページ表示の「戻る」を押すと前の画面になる。

余裕課題

 クラスメート表示のプログラムに,先生のプロフィール,過年度の学生のプロフィール表示を追加する。

先生にメール出す内容

件名:0610

内容:

 本日の授業の感想

 

第7回目(6/3) ロジック 繰り返し

目的

 プログラムの実行の流れを制御する方法を勉強する。

 プログラム用語(,ブロック)を覚える。

 *ブロックは,式を { } でくくって作る。

授業の流れ

 1から10まで合計する方法

単純にやると 

*
	s = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10;
	document.write("合計は ", s);
*

これだと,もし,1から1000までになると大変なので,

while文を利用 smp0603-01.html で作成する

*
	s = 0;
	i = 1;
	while ( i <= 10 ){
		s = s + i;
		i = i+1;
	}

	document.write("合計は ", s);
*

for文を利用 smp0603-02.html で作成する

*
	s = 0;
	for(i = 1; i <= 10; i = i+1){
		s = s + i;
	}

	 document.write("合計は ", s);
*

余裕課題

 上記のプログラムをそれぞれ,smp0603-03.html , smp0603-04.htm として,奇数のみを10回合計する。100となれば正解

先生にメール出す内容

件名:0603

内容:

 本日の授業の感想

 

第6回目(5/27) 関数とGUI部品(コマンドボタン)

目的

 プルグラムの仕事をする部品である関数と画面(GUI)をつくる部品であるコマンドボタンを知る。

授業の流れ

 cmate を参考にして,profile.html に,「クラスの友達のプロフィール」のボタンを作成する。

 「コマンドボタン」を押すと関数が呼び出されるところを理解する。

 cmate のサンプルは,他のクラス,さらに,表示先が,index.html である。そこを修正する必要がある。

 各自,profile.html を修正充実させる。また,index.html を作成し,公開すること。index.html は,トップページ(玄関)になります。

第5回目(5/20) ホームページの公開

自分のprofile.htmlの URL

http://www2.gifu-u.ac.jp/~jhs4002/profile.html
補足:jhs4002 は,各自の ログイン名 が入る

ホームページの公開方法(岐阜大の場合)

FTP Exploer を起動し,ID(ログインネーム)とパスワードを入力して,「Conect」ボタンを押す
開いた場所に,を右ボタンを押して,new 選んで,public_html というフォルダを作成する。(public_htmlフォルダは一度作成するだけでよい)
public_htmlフォルダの中に,公開したいページを入れる。index.htmlは,以下のurlで閲覧可能になる。
http://www2.gifu-u.ac.jp/~jhs4002
補足:jhs4002 は,各自の ログイン名 が入る

第4回目(5/13) HTMLとJavaScript,変数

目的

 プログラム言語,変数を理解する。

授業の流れ

 smp01.htmを修正する。(ソース表示→上書き保存→更新)

*
<html>
<head>
    <title>あと何日</title>
</head>
<body>
<script>
    document.write("あと何日")
</script>

<hr>
<script>

  var xToday    = new Date();
  var xBDate    = new Date(2003, 7-1, 21);
  var xNokori = (xBDate.getTime() - xToday.getTime()) / (60*60*24*1000);

  document.write("誕生日まで,<br>");
  document.write(Math.ceil(xNokori), "日<br>");

</script>
<hr>

</body>
</html>
*

プログラムの説明

 全角スペースと半角スペース, "あ い" と "a b"

 プログラムの原則,半角の英数字のみ使用。ただし,表示部分には漢字OK.

 HTML部分とJavaScript部分

 JavaScript の埋め込み方法

 数学の変数との違い

追加課題

 自分の誕生日に変える

 夏休みの開始は,8月1日からである。夏休みまでの,何日を追加,表示させない。


第3回目(5/6) プログラム作成の流れ

目的

 簡単なプログラムの流れを理解する

設定項目

 自分用のホームディレクトリ(フォルダ)に,jwork フォルダを作成する。

授業の流れ

 jwork フォルダ作成 (操作 対象あるいは場所で,右ボタン→メニュー選択)

 サンプルプログラムをダウンロードし,jworkフォルダに入れる。

 smp01.htm を修正する。

 プログラム用語 ソースプログラム(人間が分かるプログラム)

 追加する内容 </body> の上に,以下の5行を入力する。漢字は後で入力する。

<hr>
<a href = "http://www.yscon.co.jp/j/lecture/200304/gifudaitaku/index.htm" >授業のページへ</a>
<p>
<a href= "mailto:sauto@yscon.co.jp" >先生にメール</a>
<p>

 実行テスト ソースプログラムを閉じて,ブラウザの"更新ボタン"を押す。”授業のページ”と"先生にメール"が表示され,クリックすると,授業のページが表示される(されたら,戻るボタン),メールが出せる状態になれば,OK。

追加課題

 上のプログラムで,ピンク色のところに,クリックしたら,Yahooのページを表示するようにする。

 同様に,Googleアルク岐阜大学生協を追加する。

 

 先生(sauto@yscon.co.jp)(←このメールに出すと届いたかどうか分る)にメールを出す。

先生にメール出す内容

件名:0506

内容:

 本日の授業の感想

 

第2回目(4/22) Winの基本操作

目的

 美佳タイプで,キーボード練習が,自宅でもできる状態にする。
 Winの操作を覚える

設定項目

 前回できてないかった人は,美佳タイプをダウンロードし,各自の[ホームディレクト]に入れる。

授業の流れ

 文字がきスピードの測定 日本国憲法の前文,1分間の測定

 美佳タイプを利用した練習をする。

 Windows基本操作確認

 jwork フォルダ作成 (操作 対象あるいは場所で,右ボタン→メニュー選択)

 サンプルプログラムをダウンロードし,jworkフォルダに入れる。

 smp01.htm を修正する。

 プログラム用語 ソースプログラム(人間が分かるプログラム)

 追加する内容 <body> の上に,以下の5行を入力する。漢字は後で入力する。

<hr>
<a href = "http://www.yscon.co.jp/j/lecture/200304/gifudaitaku/index.htm" >授業のページへ</a>
<p>
<a href= "mailto:sauto@yscon.co.jp" >先生にメール</a>
<p>

 実行テスト ソースプログラムを閉じて,ブラウザの"更新ボタン"を押す。”授業のページ”と"先生にメール"が表示され,クリックすると,授業のページが表示される(されたら,戻るボタン),メールが出せる状態になれば,OK。

 先生(sauto@yscon.co.jp)(←このメールに出すと届いたかどうか分る)にメールを出す。

先生にメール出す内容

件名:0422

内容:

 A アンケート,字を書くスピード(必須)

 B 本日の授業の感想

第1回目(4/15) 美佳タイプとメール設定

目的

 美佳タイプで,キーボード練習ができる状態にする。
 ユードラプロで,メールが出せるようにする。

設定項目

 美佳タイプをダウンロードし,各自の[ホームディレクト]に入れる。
 ユードラプロで,自分のメールを出せるように設定する。

 補足:[ホームディレクト]は,岐阜大学の方で用意してあり,卒業まで使用可能です。

 この2つを自分で出来る人は,出席する必要はありません。

授業の流れ

 電源の入れ方,ID(ユーザー名)とパスワードの入れ方,落とし方の説明

 文字がきスピードの測定 2のn乗がき

 指回しのやり方説明

 美佳タイプをダウンロードし,各自の[ホームディレクト]に入れる。
  メニューの4-2の確認

 ホームポジションの確認

 ユードラプロ(メールソフト)の設定
  設定して自分のメールアドレスに出す
  先生(suehiroweb@yscon.co.jp)に出す

先生(sauto@yscon.co.jp)にメール出す内容

件名:0415

内容:

A アンケート,パソコンの経験はどれくらいか?(必須)

1 今日が初めて
2 少しは経験がある
3 数ヶ月以上の経験あり

B アンケート 手書きのスピード(必須)

○○秒

C アンケート 趣味 できるだけ具体的に(任意,文字の入力に慣れているなら)
(良くない例 読書,スポーツ)
(良い例 漫画『ジョジョの奇妙な冒険』が好き,スキーを5年ほどやっている)


昨年度(H13後期)授業終了の感想

 昨年度は,キーボード練習,JavaScriptプログラミングを行った。今期は表計算を行うのでそこのところは少し違う。


授業をきっかけにパソコンに興味がもてるようになりました.。ミカタイプを練習することによって,上達することの面白さが分かりました。

いくつものプログラムをうちこんでいるうちに,そのプログラムの意味を考えることが好きになり,他のホームページのソースもみて,その意味を考え,それがどのように作用するのかも考えるようになった。

先生の授業は,とにかく例題と練習問題を作りまくるという感じでしたが,for と if 文ならば,完全に理解できたと思います。

いままで,プログラミングなんてやったこともなかったので,この授業はいい経験になりました。自分で苦労して作ったプログラムがちゃんと動作したときは,感動でした。それと同時にプログラムを作る大変さも分かりました。

この授業をきっかけにパソコンを購入しました。またこういう授業があったらうけたいです。

少しだけであるが,プログラムがただの文字と数字の羅列から,読むことのできるものにかわった。

プログラムとかは業界にいる人たちがすることだとずっと思っていたから授業でプログラムをやったときは驚いた。


spage@yscon.co.jp

末広ホームへ このコーナの目次へ