林幹人研究室 プログラミングII 授業計画3

お知らせ>

ページ選択 1〜56〜10/11〜15

page bottom

・USBメモリをPCから取り外す際は、面倒でも、起動中のアプリを停止し、エクスプローラーを開いてUSBメモリを右クリックし、メニューから「取り出し」を選び、USBメモリへのアクセスが終了してから、丁寧に取り外すこと(アクセス中に抜いてデータがすべて消えた例アリ)。「取り出し」ができない場合は、Xamppが起動している可能性があるため、タスクバーをチェックしてQUIT(停止)後に「取り出し」を実施する。
・USBメモリに他のデータが保存されている場合、定期的にバックアップを取っておく(例えば大学PCのマイドキュメントにUSBメモリの内容をコピー)。
・大学PCに資料やファイルを保存する場合は、マイドキュメント以下とする(デスクトップなどに保存すると自動削除)。
・課題の作成にあたりネットや書籍を調べることは制限しないが自らの力で実施すること。何らかの情報源や他の学生のプログラムのコピーが発覚した場合は課題を無効とする(学生間のコピーの場合はいずれがコピー元か判別がつかないため、した側された側を問わず同様に処分する)。
・教室では感染対策をとる。マスク着用、入退室時の手指消毒、近づいて話さないなど。
・教室での飲食、私語、PCの目的外使用、周囲への迷惑行為はしない。

SPONSORED LINK

ページ選択 1〜56〜10/11〜15

    配列処理
     配列(変数)とその扱い方について学び、演習に取り組む。 前回までの課題を完了していない人は完了後に以下課題を実施する(わからない場合はチームメンバーに協力を求める)。PHPプログラミングでは、しばしばエラーが出るが、まずは個人で解決の努力をする→参考(このページ最下部)。それでだめならチームメンバーに質問して解決を図る。それでもだめなら教員に連絡する、という流れで進めること。プログラミングは、教えられた通りにすれば誰でもできるが、スキルを高めるためには自己解決の努力をすることが重要。最終的には、各自が人の手を借りずに簡単なウェブアプリを制作できるようになることを目指す。
    これまで同様、サーバーを起動。エディタも起動し、演習環境を準備せよ。
    PHP資料を参照し「配列」について理解せよ。そのうえでサンプルを見てkihon07.phpを編集し、array()関数とforループによって配列の定義と要素の処理を作成し、localhost経由で動作させよ。
    続けてPHP資料を参照し、区切り文字によって区切られたデータを受け取り、分割して配列に設定して処理する方法について理解せよ。サンプルを作成して「カンマ区切りで入力された文字を配列処理して改行して出力する処理」を実現せよ。
    さらにPHP資料を参照し、配列操作の様々な関数について理解せよ。
    資料にある練習問題は行う必要はありません。
    作業が終了したら、XAMPPコントロールパネルでサーバーをSTOP。右下のQUITで終了(USBメモリが抜けない原因)。その後、Windowsのエクスプローラーで「PC」をクリックして、表示されたUSBメモリのドライブを右クリック。メニューから「取り出し」を選択。あるいはWindowsのタスクバーから「ハードウェアの安全な取り外し」をクリックし、USBメモリの「取り出し」を選択。USBメモリへのアクセスが停止したらUSBメモリをPCから取り外す。
    課題が完了したら、こちらより、(1)内容の理解度と、(2)課題の難しさ、(3)反省や感想などを含め完了報告をせよ。(授業翌週の火曜17:00まで)。
    配列処理2
     前回に続き、配列処理、特に、foreach関数を用いた配列の処理について学び、演習に取り組む。 前回までの課題を完了していない人は完了後に以下課題を実施する(わからない場合はチームメンバーに協力を求める)。PHPプログラミングでは、しばしばエラーが出るが、まずは個人で解決の努力をする→参考(このページ最下部)。それでだめならチームメンバーに質問して解決を図る。それでもだめなら教員に連絡する、という流れで進めること。プログラミングは、教えられた通りにすれば誰でもできるが、スキルを高めるためには自己解決の努力をすることが重要。最終的には、各自が人の手を借りずに簡単なウェブアプリを制作できるようになることを目指す。
    これまで同様、サーバーを起動。エディタも起動し、演習環境を準備せよ。
    前回の続きであるため、前回作成したkihon07.htmlとkihon07.phpを[Ctrl]+[c]でコピーし[Ctrl]+[v]で貼付けて、バックアップを作成せよ。そして、kihon07.htmlとkihon07.phpをエディタで開いて準備せよ。
    PHP資料を参照し、foreachによる繰り返し処理について理解した上で、kihon07.htmlとkihon07.phpを編集し、localhost経由で動作させて確かめよ。
    PHP資料を参照し、foreachをはじめとする繰り返し処理を中断するbreakについて確認し、サンプルを作成して動作を確かめよ。
    PHP資料を参照し、連想配列の定義や、foreachによる処理をについて確認し、サンプルを作成して動作を確かめよ。
    資料にある練習問題は行う必要はありません。
    作業が終了したら、XAMPPコントロールパネルでサーバーをSTOP。右下のQUITで終了(USBメモリが抜けない原因)。その後、Windowsのエクスプローラーで「PC」をクリックして、表示されたUSBメモリのドライブを右クリック。メニューから「取り出し」を選択。あるいはWindowsのタスクバーから「ハードウェアの安全な取り外し」をクリックし、USBメモリの「取り出し」を選択。USBメモリへのアクセスが停止したらUSBメモリをPCから取り外す。
    課題が完了したら、こちらより、(1)内容の理解度と、(2)課題の難しさ、(3)反省や感想などを含め完了報告をせよ。(授業翌週の火曜17:00まで)。
    ファイルの読み書き
     入力データをサーバー内のファイルに保存する方法について概説した後、演習に取り組む。 前回までの課題を完了していない人は完了後に以下課題を実施する(わからない場合はチームメンバーに協力を求める)。うまくいかない場合は、チェックリスト(このページ最下部)を参考に、チームメンバーにも相談して解決の努力をすること。最終的には、各自が人の手を借りずに簡単なウェブアプリを制作できるようになることを目指す。
    これまで同様、サーバーを起動。エディタも起動し、演習環境を準備せよ。
    PHP資料を参照しPHPでのファイル操作について理解せよ。特に、読み取りモード、上書きモード、追記モードがあることを確認せよ。
    資料の続きを確認し、ファイルにテキストデータを書き込む方法について理解せよ。そのうえで、サンプルを見てkihon08.phpを編集し「上書きモード」でファイルにテキストデータを保存する処理を作成し、localhost経由で動作させよ。
    さらに資料を読み進め「追記モード」でファイルにテキストデータを保存する方法を確かめよ。そしてサンプルを参照してkihon08.phpを編集し、ファイルにデータを追記していく処理を実装せよ。localhost経由で実行した後、プログラムで作成されたテキストファイル内にデータが追記されていくことを確認せよ。
    同じくPHP資料を参照し、file関数を使ってテキストファイルからデータを読み込む方法を理解せよ。その上でサンプルを実装し、ウェブページから入力されファイルに書き込まれたテキストデータを読み込んで表示する処理を完成させよ。
    参考情報としてファイルのパーミション(許可)について理解せよ。
    資料にある練習問題は行う必要はありません。
    作業が終了したら、XAMPPコントロールパネルでサーバーをSTOP。右下のQUITで終了(USBメモリが抜けない原因)。その後、Windowsのエクスプローラーで「PC」をクリックして、表示されたUSBメモリのドライブを右クリック。メニューから「取り出し」を選択。あるいはWindowsのタスクバーから「ハードウェアの安全な取り外し」をクリックし、USBメモリの「取り出し」を選択。USBメモリへのアクセスが停止したらUSBメモリをPCから取り外す。
    課題が完了したら、こちらより、(1)内容の理解度と、(2)課題の難しさ、(3)反省や感想などを含め完了報告をせよ。(授業翌週の火曜17:00まで)。
    ネットビジネス応用1:アクセス管理
     これまでに学んだことを総合して、簡易のアクセスカウンタの構築を行う。応用課題であり、できるだけ自分の力で完成させること。内容は、これまでの授業でやったことに基づいているため、過去の資料を見たり、ネットで調べるなど、自己解決可能なはずである。なお、前回の課題を完了していない人は完了後に以下課題を実施する。うまくいかない場合は、チェックリスト(このページ最下部)を参考に解決の努力をすること。最終的には、各自が人の手を借りずに簡単なウェブアプリを制作できるようになることを目指す。
    これまで同様、サーバーを起動。エディタも起動し、演習環境を準備せよ。
    PHP資料を参照しPHPでアクセスカウンターを構築せよ(資料の最後まで)。
    作業が終了したら、XAMPPコントロールパネルでサーバーをSTOP。右下のQUITで終了(USBメモリが抜けない原因)。その後、Windowsのエクスプローラーで「PC」をクリックして、表示されたUSBメモリのドライブを右クリック。メニューから「取り出し」を選択。あるいはWindowsのタスクバーから「ハードウェアの安全な取り外し」をクリックし、USBメモリの「取り出し」を選択。USBメモリへのアクセスが停止したらUSBメモリをPCから取り外す。
    課題が完了したら、こちらより、(1)内容の理解度と、(2)課題の難しさ、(3)反省や感想などを含め完了報告をせよ。(授業翌週の火曜17:00まで)。
    ネットビジネス応用2:コミュニケーション管理、最終課題
     応用課題として簡易掲示板を構築する。今回の応用課題が最終課題の基礎となるためしっかりと取り組むこと。最終課題であり、自分の力で完成させること。内容のほとんどは、これまでの授業でやったことに基づいているため過去の資料を見たり、ネットで調べるなど、自己解決可能である。
     公欠カードやそれに類する診断書などの書類がある人は、最終回の授業時間内に教室で提出する。最終回に登校できない人は、事前に電子メールまたはTeamsで連絡して指示を受ける。
     最終課題の提出方法は、最終回の授業時に本ページの下部に公開する。
    これまで同様、サーバーを起動。エディタも起動し、演習環境を準備せよ。
    PHP資料を参照しPHPで掲示板を構築せよ。資料にある練習問題は行う必要はありません。
    授業内の課題が完了したら、以下の4つを実施。
    1. 授業アンケートの回答(ご協力をお願いします)。
    2. 授業全体を通しての感想や反省をこちらから回答(授業翌週の火曜17:00まで)。
    3. これまで作成したphpkiso以下のhtml、phpファイルを大学PCや自宅PCのマイドキュメントなどにコピー(バックアップ)。
    4. 以下の最終課題に取り組む(期限などは下記に従う)。

    【最終課題】
     最終課題は「最終回の課題である簡易掲示板を完成させること」とする。また「できればカスタマイズしオリジナルな掲示板とすること」を加点要素とする。具体的には以下の通り。
    1. 最終課題の詳細
      • 最終回の課題である簡易掲示板を完成させる。資料をよく読んで自分の力で取り組むこと。完成後、様々な入力を試し、きちんと動作することを確認する。最終回の課題には、考えて入力しなければならない伏せ字の箇所があるため、資料の通りに簡易掲示板を作成するだけでも最終課題として合格とする。
      • 力のある人はカスタマイズにチャレンジする。カスタマイズ分は加点とするが、カスタマイズの結果、基本となる簡易掲示板がうまく動作しなくなった場合などは、基本部分を評価できないため、自らの力量を考えて慎重に行うこと(バックアップを取ってからチャレンジするとよい)。カスタマイズしなくても合格点は得られるため無理をする必要はない。
      • カスタマイズの方法は、背景の色や文字のサイズを変えたり、投稿日時を表示したり、授業で作成した簡易アクセスカウンタを追加するなど自由とする。ただし、簡易掲示板の原型をとどめないほどには変更しないこと。また、授業の課題であるため、授業で習ったことを駆使して行うカスタマイズを評価する。そうでないカスタマイズ(Javascriptの組み込みや、マップ、SNS、動画等の外部コンテンツの組み込みなど)は評価しない。なおカスタマイズ部分については、独自性も考慮するため、他の履修者と同じにならないよう工夫すること。例えば、誰かが作ったものに対して、文字や色を変更しただけ、といったものは実質同じなので評価は低い。
      • 課題制作においては著作権や肖像権に配慮する。ネット上の画像を使う場合は、著作権フリーのサイトなどで配布されているものを使用する(「画像 著作権フリー」などと検索すると関連サイトを発見できる)。
      • 簡易掲示板がうまくできない場合、できたところまでで構わないので、期日までに課題を提出すること。提出しなければ得点はないが、提出すれば得点は与えられる。また期日を遅れた場合は、完成していても大幅に減点する。成績処理に入った後は未提出扱いとなる。
      • 他の履修者のプログラムやネット上で配布されたプログラム等のコピーは決してしないこと。定期試験の不正行為に相当する。発覚した場合は課題は無効(履修者同士でのコピーは双方無効)とし不合格とする。
      • 最終課題のプログラムの内容についての質問は受け付けない(試験に相当)。うまくいかない場合は自己解決すること。
      • 評価は、簡易掲示板の基本機能、授業で学んだことを使ったカスタマイズの程度、結果として掲示板としての完成度など総合的に評価する。
    2. 提出方法
      • 次のワードファイルをダウンロード→課題フォーム
      • 課題フォームファイルに、(1)ページのスクリーンショット(数枚に分かれても可、スクリーンショットの方法は各自調べる)、(2)カスタマイズや工夫した箇所の説明、(3)プログラムファイルの全文、を指定箇所に指示に従い入力する。ページ数は問わないが、サイズの大きな画像を何枚も貼り付けるとファイルを送信できなくなるためスナップショットの解像度を下げるなど工夫する。課題ファイルのサンプルはこちら。開く際のパスワードはいつも通り。
      • 提出用ファイルが完成したら、ファイル名を「学籍番号+氏名.docx」に変更する(例:99m999愛学太郎.docx)。
      • 提出は、以下の「課題提出システム」から行う。ログインIDとパスワードはいつも通り。
      • うまく提出できない場合は、Teamsチャットにファイルを添付して連絡すること。
      • 提出期限は最終回翌週2023/1/25(水)17:00とする。提出期限まではいつでも提出できるので、PCのトラブルなどのリスクを踏まえ、早めに提出すること。期限間際や期限後のトラブル連絡は対応できない。また提出期限後すぐの提出は受理できるが(大幅な減点)、成績処理に入った後は提出されても受理できない。なお、コロナやインフルなどの病気が原因で提出できない場合は診断書などに基づき判断するが、メールやTeamsですぐ連絡し指示を受けること。
      • その他、不正行為には厳しく対処する。
      • 不明な点は早めに問い合わせること。


    ●PHPでエラーになったら最低限のチェック
    • PHPのプログラム部分がブラウザに表示されてしまう!
    • 何も表示されない!
    • プログラムを編集しているのに反映されない!
      1. サーバーが正常に動作しているか?(XAMPPをチェック)
      2. サーバー(localhost)経由でアクセスしているか?(URLをチェック)
      3. 違うファイルを編集していないか?(エディタで「名前を付けて保存」して保存先を確認。違っている場合は適切なフォルダに保存し直す)
      4. PHPプログラムを含むファイルの名前が〜.phpで終わっているか?
      5. PHPプログラムが「<?php」と「?>」の間に挟まれているか?飛び出していないか?
    • Parse errorやFatal error・・・line 18のようなエラーが出る!
      1. 18行目かそれより前の行の命令にスペルミスはないか?
      2. 18行目かそれより前の行にセミコロン「;」の忘れはないか?
      3. 18行目かそれより前の行にシングルコーテーション「'」やダブルコーテーション「"」やカッコ「(」「{」の対応がとれているか?
      4. 18行目かそれより前の空白(表示する文字列以外)に全角スペースが含まれていないか?
      5. 18行目かそれより前の行のプログラムの命令やセミコロン「;」、シングルコーテーション「'」、ダブルコーテーション「"」、カッコ「(」「{」の文字が全角になっていないか?

ページ選択 1〜56〜10/11〜15

page top

SPONSORED LINK