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

計算機入門教育の改善 : 実演システムと構造的FORTRANの試作 利用統計を見る

N/A
N/A
Protected

Academic year: 2021

シェア "計算機入門教育の改善 : 実演システムと構造的FORTRANの試作 利用統計を見る"

Copied!
6
0
0

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

全文

(1)

計算機入門教育の改善

―実演システムと構造的FORTRANの試作―

吉澤正 井内稔

(昭和51年8月31日受理)

Some Improvements in Introductory Computer Courses

-Realizing a demonstration system and a structured

FORTRAN-TadashiYOSHIZAWA MinoruIUCHI       Abstract  Some improvements in introductory computer courses at Department of Computer Science are reported. Two main improvements are as follows:astructured FORTRAN was imp・ 1emented and used in student’s exercises in order to train the students to describe algorithms definitely;ademonstration system with TSS terminals and with televisions in the class room was realized. The aims and effects of the improvements are briefly discussed.

1.はじめに

 計算機教育がわが国の大学で多少なりとも行われる ようになって15年,本学に計算機科学科が設置されて からも7回目の新入生を迎えている。最近ではいくつ かの大学に教育用計算機センターも設置され,計算機 科学科あるいは情報工学科という専門学科に限らず, ほとんどの分野の学生に程度の違いはあれ計算機教育 が実施されている。教育用設備をはじめとし多くの制 約の存在する環境の中で計算機教育を進めなけれぽな らないという事情は依然として残ってはいるが,幸い なことによりよい教育を実現しうる可能性は着実に増 加している。  ここでは,計算機科学科1年次生を対象とする計算 機入門第一の講義,およびそれに関連する演習を主と する計算機教育をとりあげ,その改善のための二,三 の試みを報告する。主要な試みは次の二点である:教 室に端末装置を持ち込み,講義中の実演を可能にす

る;構造的FORTRANを試作して学生実習に使用す

る。  以下,2節で改善のねらいを,3節で実演および実 習の実施方式を述べたあと,4節で構造的FORTRAN の仕様とその具現化について報告する。5節で改善の 効果を学生のアンケートや実習報告での感想から評価 し,最後に今後の問題点に触れる。

2.改善のねらい

 ここに報告する改善の試みは,直接あるいは間接に 多様な効果を目標としたものであるが,そのもっとも 直接的なねらいを集約すれぽ,   ・意欲的勉学態度を引き出すこと,および   ・算法の明確な記述に通じる文章力を養うこと といえよう。  意欲的,あるいは積極的主体的な勉学態度が,何を するにしても,基本的に必要なことはいうまでもなく, それがあってはじめてわれわれの願う発想の豊かさや さらには創造的工夫を生み出すことができよう。とこ ろが計算機教育では,下手をすると,かえって学生の 意欲を減退させるような障害が多く,その障害をとり 除くというある意味では消極的にきこえるような改善 から始めなければならないことがある。例えぽ,一つ の課題を完成させるまでの学生の時間の大部分が,プ ログラム入力の準備や,プログラミング言語あるいは 制御用言語のつまらない複雑さに起因する誤りの修正

(2)

に,費やされてしまうことなどがあげられる。また, 一括処理方式によるターソアラウソドタイム,すなわ ち,処理を申し込んでから結果の返却されるまでの時 間の長さも重要なマイナス要因である。幸いに,計 算機科学科では高澤嘉光助教授の開発になるミニコソ FACOM U−200によるTSS(時分割方式)があり, そのシステムの下で会話的に使えるコソパイラ言語の BASIC,アセソブラ言語のFASP−Y,および秀れた たファイル編集機能が用意されている1) ・2)。そのTSS の会話型使用によつて,学生は前述のような障害から ある程度解放され,本質的な工夫や学習にその努力を 集中できるようになりつつある。教育における会話 型システムの有効性は専門家の間ではほぼ定説であ り3)・4),経費上の制約も最近ではかなり改善されてい る。  次に,ねらいの第二点としてあげた文章力の養成に 言及しておこう。ここ数年,構造的プログラミングと か5)・6}・7),大規模ソフトウェアの開発過程全体の構造 的管理8)が問題となっている。それに伴って算法ある いは処理手順の構造的記述能力,そして一般的基本能 力としての明確な文章を書く能力が,プログラミング に携わる人に強く要求されるようになっている。これ

まで数多く出版されているFORTRANなどのプログ

ラミング入門書を見ても,簡単な問題の記述から入出 力の設計,流れ図,プログラムリスト,プログラムの 簡単な説明という書き方が多く,算法の構造的記述と いう観点からは不満足なものが多い。ここでいう算法 の構造的記述とは算法における個々の処理の制御の構 造を,まず大きな枠組を把握して次に細かい手順を規 定してゆくという,いわゆるtop−down的な明確さで, しかもある程度の形式に従って,記述することをい う。その一例として文献1)が挙げられる。われわれの 実習では,実習報告書において,算法の記述をはじめ として,問題の記述や感想によって文章を書く機会を 多くするように心掛けている。わが国の教育において は学生に作文をさせる機会が少なく,大学で改めて作 文教育をやり直さなけれぽならない現状である。

 ところで,従来のFORTRANのような言語は上記

の算法の構造的記述の態度をかえって阻害するよう な欠点を持っている。一方,その普及の状況から FORTRANをまったく教えないわけにもいかない。

そこで,既存のFORTRANを拡張して,算述の記述

の教育に適合した機能を持つ構造的FORTRANと呼

ぶ言語を準備したわけである。 3.実演および実習方式  計算機科学では,1年次生を対象とする計算機入門 第一という通年4単位の講義とやはり通年の計算機科 学演習が設けられている。後者は1976年度新設の科目 で,原則として計算機実習と数学関係演習が交互に行 われている。その計算機実習の分は講義との密接な関 連を持つように考えられている。講義と実習の詳細な 内容は省略するが,1年間の前半はBASICによる整 数計算と非数値的算法主体の講義(14回)とFACOM

U−200TSSによる実習(7回)が行われ,後半は

FORTRANによる数値算法主体の講i義(14回)と

FACOM 230−45 Sによる実習(6∼7回の予定)が 行われている。テキストには文献9)・1°}を用いている。  さて,講義方式に対する改善として,昨年9月から 特別講義室(計算機科学科2階)へ3階の計算機室か らケーブルを敷き,前述のミニコソに接続されている 端末装置(タイプライター)を台車に乗せて講義室に 運べぽミニコソのTSSを使用して講義中に実演がで きるようにした。今年度はテレビカメラと4台の専用 テレビを設置し,教官が端末装置を操作する様子や処 理の結果をテレビを通して約60人の学生が見られるよ うにした。昨年度はテレビが無く,端末装置で印字さ れた結果をオーバーヘッドプロジェクタ(OHP)用の

トランスペアレソシー(TP)に複写してOHPで表

示していた。  講義では,その回のテーマについて問題の記述,算 法の記述,プログラム作成等を黒板あるいはOHPを 使って説明し,そのあと実演に入る。端末装置からの プログラムファイルの作成(キーをたたいて直接計算 機にプログラムが送られる),その実行と修正といっ たサイクルを繰り返して見せる。テレビに写し出され る結果の記録についての討論の後,プログラムの内容 的あるいは効率的問題点,文法的疑問,さらには発展 的課題についてプログラムを修正して再びその場でや ってみせる。そのほかに,学生が実習で作成したプロ グラムの良い例悪い例をとりあげて,上記のようにや ってみることも多い。  前期の実習は,講義中と同じTSSを用いて行われ る。したがって講義中の実演が効果的であると期待さ れる。ただし,現在FACOM U−200は2システムあ るが,端末装置は一方に2台,他方に1台の合計3台 しかなく,60人の受講者に対して十分とはいえない。 その対策として,実習課題(大きいテーマを与え内容 的には自由課題とすることもある)を一週間前には与 え,各学生は実習で処理するプログラムをオフライソ

(3)

のタイプライタで穿孔した紙テープを持参して実習を はじめるようにしている。TSSのファイル編集機能 が秀れているので,オフライソでは穿孔に誤りがあっ ても同じテープのあとに修正情報を付けるだけでよ く,オフライソでの紙テープの複写はさせない。

 昨年度の後半のFORTRANの実習は, FACOM

230−45Sを使い,処理系には常駐式コソパイラ

FAST11)12}を主に,プログラムの入力にはマークカー ドを用いて行った。その実習の一部に次に述べる構造

的FORTRANの使用を試みた。

4. 構造的FORTRANの仕様と具現化

 ここでいう構造的FORTRANは既存のFORT−

RAN11)・12)に構造的プログラミソグの見地からいくつ かの機能を追加したものである。構造的プログラミン グ言語という場合には,プログラム内での制御構造を IF−・FI文

IF(論理式)文

FI はじめとして,データ構造,およびそこで許容される 構造を持つデータに対する演算機能も重要である。し

かし,ここではとりあえずFORTRANの制御文関係

の拡張をとりあげた。なお,構造的FORTRANの考

えはいくつかの文献に見られるが13)・14)・15)・16},ここで はとくtlc Higginsi5)を参考にしながら,計算機科学科 のシステムに適合するように工夫した。 4.1拡張機能の仕様  採用した拡張機能は次の6個の文から成り,二種に 類別される。 (1) (ll) DO−CASE ELSE  文

DO CASE  整数型変数 CASE 整定数 文  ESAC ESAC OD

ELSE DO−OD文 DO−WHILE文 DO WHILE  (  論理式 )  文   OD DO−UNTIL文 DO UNTIL   (  論理式 )  文 OD DO−FOREVER文 DO FOREVE   文 OD 図一1構造的FORTRANにおける拡張機能の構i文図式   (矢印の無い線は右方向へ進むものとする) 選択用制御文

IF−FI文

DO−CASE文

反復用制御文

DO−OD文

DO 一 WHILE文

   DO−UNTIL文

   DO−FOREVER文

    上記の制御文の文法の詳細は付録1    に説明し,ここではそれらの構文を図    式的に示す(図一1)。このような機能    をとりあげた理由は,2節で議論した    ように,われわれの指導する日本語に    よる算法の記述の形式とプログラムと    の直接的な対応をねらったものであ    る。また,この機能を使うことによっ    て,学生がプログラムの構造をより明    確に意識するこことを期待している。    4.2 具現化     プログラミソグ言語の具現化(im・    Plementation)には種々の方式が可能    であるが,ここでは次の方法を採用し

   た。構造的FORTRANの既成の

   FORTRAN(以下,旧FORTRANと

   呼ぶ)に対する追加機能を旧FORT−    RANの機能自身を使って展開し,構

   造的FORTRANのプログラムを旧

   FORTRANのプログラムに変換す

   る。その変換されたプログラムを旧    FORTRANの処理系で処理させる。

   この方式での追加機能の旧FORT−

   RANへの展開の形はHiggins15)の    考えに近い。変換ルーチソの詳細につ    いては,今後さらに機能を追加するよ    うに検討しているので,別の機会にゆ

(4)

ずりたい。

 旧FORTRAN としてはFACOM 230−45 Sの

FORTRAN−Sl2)を用い,3節で述べた学生実習用に FASTでも使えるようになっている。なお,学生実習 用にとくに工夫した点は次のとおりである。   ・マークカード入力を可能にする。   ・学生から見て,FASTの使用時と同一のOS用    制御文で済むようにする。

  ・新機能を使わせるために,旧FORTRANのIF

   文とDO文の使用を禁止する。 今後改良すべき点もいろいろあり,6節で論じる。

5.改善の評価

表一1アンケートの集計

「言一一避」・2345

計 講 義

A

実 演 ) 実 習 興  味  度 理  解  度 将来役にたつか 興  味  度 理  解  度 将来役にたつか 0 4 1821 8(人) 4 9 29 7 2

03161616

0 4 7 20 20 2 7 23 15 4 0 0 4 18 29 51(人) 51 51 51 51 51  1975年の学生の実習報告での感想および1976年7月 のアソケートなどを資料として,今回の試みを評価し ておこう。まず,後者のアンケートから今年の実演シ ステムと実習についての興味度,理解度,将来役に立 つかの5点法による主観的評価の集計結果を表一1に示 す。そのアンケートでは,さらに,‘講義(実演システ ム)についてその利点と欠点を’,‘演習実習について’, ‘その他の意見’,という見出しで自由に答えてもらっ た。以下に解答の一部を学生の記述のままに引用す る。[]内は筆者の注釈である。なお,この種のシ ステムの効果については文献17)にも記述されている。 5.1実演システムの利点 ・テレビを使っているので,タイプライタの動きがよ  く見える。 ・プログラムをその場で実際に先生がコソピュータに  かけるので,どういうことをやっているのかわかり  やすい。 ・テレビを使って実行結果がすぐにわかるところがよ  い。[仕事の所要時間や修正の簡単さなどについて  の実感が得られるので,自分でもすぐにやれる自信  がつく。とくに,計算機に慣れるまでの時間が短縮  され実習が効率的になった。] ・プログラムなどの欠点が授業中にわかってたいへん  よいと,思う。 ・テレビが備えてあるので大変役に立って勉強意欲が  わく。 ・レポートや実習の質問票に書いた質問などを授業で  とりあげて,みんなで考えるのはなかなかよいと思  う。なぜなら,案外みんな同じような疑問点を持っ  ているから。  [実演はハプニソグ性に富むほどおもしろい,プロ  グラムのデバック,すなわちプログラムの誤りをど  う発見して修正していくかを汗をかきながらやって  みせたり,端末やシステムの故障に対する応急策な  どをみせるのもよいことであろう。] 5.2実演システムの欠点 ・計算機を使うことで講義時間が少なくなる。 ・時間の延長はやめてほしい。[ときに計算機の調子  が悪いことがあり,講義時間にムダが出たり,昼休  みにくいこむことがある。] ・テレビの文字が小さすぎて読めないことがある。画  面が鮮明でない。 ・テレビカメラをあっちこっち動かすのに気をとられ  てしまう。テレビカメラを2台すえつけて切りかえ  すか,カメラマン(?)に来ていただいたらどうで  すか。[カメラ操作,タイプライタ用紙の反射と照  明に問題がある。講義中に助手を使わないことを原  則に実演システムを考えている。] ・机が小さくノートがとりにくい。 ・テキストに沿って進まないので手間どってしまう。 ・資料がもっとたくさんほしい。 5.3 演習実習について ・1人あたりの時間が少なく,まわりの男がせかすの  でなおさら時間がかかってしまう。[多くの学生の  感じることで,正規の実習時間以外にも計算機を使  えるようにはしてあるが,まだ不十分である。] ・自分の思うことができて非常に楽しい。[自由課題  は人によっては苦痛らしい。コ ・自分で操作できるから満足感が大きい。[一つのプ  ログラムを仕上げたときの充足感を味わうことが大  切である。] ・他大学にくらべてめぐまれている。 ・レポートがなけれぽもっと楽しい。  [このほか,学生からの要求は多様である。]

5.4構造的FORTRANについて

 以下は前年度の学生の感想である。 ・算法をほとんどその順番でプログラムが組めるとこ  ろがよかった。 ・GO TO文が少なくてすむので,文番号を気にしな  いで書け,整理しやすい。

(5)

・マークカードは多く使うが,マークそのものは楽に  なった。 ・構造的FORTRANでのソースリストへのエラーの 指示がない。[現在は,エラメッセージは旧FORT・ RANの処理系に依存している。改良すべき点であ る。] ・IF−FI文が使いやすい。後で見てフ゜ログラムがわか  りやすい。

・OD, ESACなどDOやCASEの逆になっている

 ところが面白い。

・従来のFORTRANもよく理解していないのに,

新しい機能を加えられては混乱する。 ・ODなどにとまどった。

6.今後の問題点

 講義内容および実習の充実が優先すべき問題である ことはいうまでもないが,実演システムについては次 の改善を行いたいと考えている。  ・テレビカメラの操作および照明の工夫。  ・端末装置をタイプライタから文字表示装置に換え   る。印字時間の短縮,騒音防止に役に立つ。  ・テレビを併用するにしても,大型のビデオ表示装   置を設置する。カメラを使わず直接に文字表示装   置からビデオ表示装置に映像を送ることもでき   る。  この実演システムは,二,三の専門科目(プログラ ミングシステム,確率統計)などでも使われている が,使用範囲をさらに拡げたいと考えている。講義内 容が高度になれぽ,初心者向け講義のようにハプニソ グ性の面白さだけをねらうわけにもいかず,一層の準 備工夫が必要になろう。

 構造的FORTRANについては,その展開前の原始

プログラムの構文検査やそれに伴うエラーメッセージ の印刷などをさしあたっての改善点と考えている。さ

らに,高度の改善については,FORTRANにこだわ

ることなしに,むしろ新しいプログラミング言語その ものの開発に向うべきであろう。計算機科学科の有澤 研究室ではその方向での研究も進められている。 謝 辞  一つの科目の講義にも,担当の教官以外に,多くの 人の援助が必要である。また,ここで報告したような 試みには学科全体の理解があってはじめて可能にな る。TSSシステムを開発し実演システムの実現の原

動力となった高澤嘉光助教授,構造的FORTRANの

試作を示唆した有澤誠助教授,演習の指導にあた一.た 藤本洋子助手,山下茂,風間みどり技官,教室に端末装 置を持ち込むためにケーブルの敷設やコネクタの取り 付けをしてくれた二木弘教務職員の諸氏に深甚の謝意 を表する次第である。また,学科内各講座には直接あ るいは間接に経済的負担をかけたことに感謝したい。          参考文献  1)森口繁一編:NHKコンピュータ講座(1975),日本送   放協会(1975) 2)高澤嘉光:シンガポールで計算機教育を行って(1)∼(6)    bit, Vol.7, No.2∼7(1975)  3) Comψuters in Higher Educ2tion, Report of   the President’s Science Advisory Committee    (1967) 4)森口繁一:アメリカの大学における計算機の教育,情   報科学の動向1(北川編),共立出版(1968) 5)Dah1,0. J., Dijkstra, E.W.,&Hoare, C.A.   R.: Structured Programming, Academic   Press(1972) 6)Wirth, N.:Systematic Programming :An   Introduction(野下他訳:系統的プログラミングー   入門,近代科学社(1975))  7)Knuth, D.E.:Structured programmig with   goto statements, Computing Surveys 6−4   (1974) 8)IBM:Management overview, Internal Report   (1973) 9) Forsythe, A.1. et a1.:Comりuter Science,   AFirst Course, John Wily&Sons(1969)   (浦他訳:コンピュータサイエンス入門 1,2,4,共   立出版,1971) 10)森口繁一:JIS FORTRAN入門上,東大出版会,   第2版(1973) 11)富士通:FAST使用手引書(1974) 12)同上:FACOM 2300S皿FORTRAN文法書(1975) 13)Ralston, A:The future of high level lan・   guages(For teaching), Proceedings oゾthe   International Comψuting SymPosium, PP.1−   12 (1973) 14)Charmonman, S.,&Ralston, A.:Structured   FORTRAN and the first course in computer   science, Computers in Education (Lecarme   and Lewis eds.) North・Holland Pub. Com・   pany (1975) 15) Higgins, D. S.:A structured FORTRAN   translator, Sigplan∧lotices, February(1975) 16)Me輌ssner, L.P.:Acompatible“Structured”   extension to Fortran, SigPlan Notices, Oc・   tober (1974) 17)森口er−一・ :端末機を講義室に持ち込んで,東京大学教   育計算機センター報告,No。4(1974)

(6)

付録1 構造的FORTRANの文法

 構造的FORTRANに採用した機能について各文

ごとにの文法をJIS FORTRAN(水準7000)(3)の形式 に従って記述する,そこでは,[]はその部分がなく てもよいことを示す。 (1)IF−FI文 IF−FI文は,次の形とする。    IF(e)      σ1    [ELiE]      FI  ここで,eは論理式とし,σ1とσ2は一つのあるい は二つ以上の文の集まりである。  この文の実行の際に論理式eが評価され,eの値が 真なら文σ、が実行され,eの値が偽ならぽ[]の部

分がないときはa1がCONTINUE文とみなされて実

行され[]の部分があればELSEに続く文σ2が実行 される。 (2)1)O−CASE文DO−CASE文は,次の形とする。

DO CASE

 CASE i

  oi

 ESAC

[ [ | indeX

    籔㎜]

    ODESAC

 ここで,indexは整数型変数, iは整定数, Oiと σは一一つの文あるいは二つ以上の文の集まり,三個の ・はCASE i, ai, ESACの形の繰り返しとする。

 この文の実行の際にindeXの値に一致するCASE

ゴがあれぽそのCASE iとESACの間の文Oiが実

行され,indexの値に一致するCASE iがなければ

CASE ELSEと対応するESACの間の文が実行され

る。もし,indeXの値に一致するCASE iがなくか

つCASE ELSEもなけれぽODESACの次へ制御が

移る。 (3)DO−OD文DO−OD文は次の形とする。    DO i;Ml, M2,[M3]     a

   OD

 ここで,iは整数型の変数, Ml, M2, M3はそれ ぞれ初期値パラメータ,終値パラメータ,増分パラメ ータであり,Oは一つの文あるいは二つ以上の文の集

まりである。OD文を端末文としてFORTRANの

DO文と同じ方式で実行される。 (4)1)O−WHILE文 DO−WHILE文は次の形とする。

  DO WHILE(e)

     σ

  OD

 ここで,eは論理式,σは一つの文あるいは二つ以 上の文である。  この文の実行の際に論理式eが評価され,eの値が 真であるかぎり文σが反復実行され,aの値が偽にな

れば文σはCONTINUE文とみなされて反復を終わ

る。eがはじめから偽ならσは一度も実行されない。

(5)DO−UNTIL文DO−UNTIL文は次の形とする。

  DO UNTIL(e)

   a

  OD

 ここで,eは論理式,σは一つの文あるいは二つ以 上の文の集まりである。  この文の実行の際は,まずσが実行され,次に論理 式eが評価され,eの値が真ならaが反復実行され, eの値が偽なら反復を終わる。

(6)DO−FOREVER文 DO−FOREVER文は次の形

 とする。      ・

  DO FOREVER

   σ

  OD

 ここで,σは一つの文あるいは二つ以上の文の集ま りである。  この文の実行の際にはaが単純に反復実行される, 反復の終了はσによって決まる。

参照

関連したドキュメント

本節では本研究で実際にスレッドのトレースを行うた めに用いた Linux ftrace 及び ftrace を利用する Android Systrace について説明する.. 2.1

テューリングは、数学者が紙と鉛筆を用いて計算を行う過程を極限まで抽象化することに よりテューリング機械の定義に到達した。

キャンパスの軸線とな るよう設計した。時計台 は永きにわたり図書館 として使 用され、学 生 の勉学の場となってい たが、9 7 年の新 大

利用している暖房機器について今冬の使用開始月と使用終了月(見込) 、今冬の使用日 数(見込)

3)The items classified in the “communication” category were: “the child can’t use honorific language when speaking to teachers,” “the child is susceptible to mood

 学部生の頃、教育実習で当時東京で唯一手話を幼児期から用いていたろう学校に配

 学部生の頃、教育実習で当時東京で唯一手話を幼児期から用いていたろう学校に配

「AI 活用データサイエンス実践演習」 「AI