memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

GOTO 懐かしいなぁ。。。

HNの以下のエントリーを読んで、確かにGOTOはわかりやすかったということを思い出しました。JavaにはGOTOないし。。。そもそもモダンなプログラミング言語には行番号はないし。

Link: GOTO considered helpful


このエントリーで知ったことが2つありました。


1つはStanford大学でJavaを教えるときに簡易クラスライブラリ?を使っていること。このライブラリを使うことでJavaアプリ、Javaアプレット、その他のユーティリティクラスなどを簡単に書くことができます。サンプルプログラムは以下のような感じです。System.out...とかpublic static void...とか、呪文(完全修飾名)を唱えなくて済むようになります。いいですね。Processingも同じような感じで書けますが、やはり初学習者にとって修飾は少ない方がいいでしょうね。

import acm.program.*;
 
public class Add2 extends Program {
 
   public void run() {
      println("This program adds two numbers.");
      int n1 = readInt("Enter n1: ");
      int n2 = readInt("Enter n2: ");
      int total = n1 + n2;
      println("The total is " + total + ".");
   }
} 

Link: ACM Java Task Force


もう1つは、Stanford大学のプログラミング授業の資料のありか。ハンドアウトはもちろん講義の動画も見ることができました。プログラミング言語の授業はどちらかというと文法中心に教えてしまうと思うのですが、この講義では問題解決のための道具としてのJavaプログラミング言語、コンピュータ、アルゴリズムなど様々な話しを有機的に結びつけて講義されています。パワポは使わず要点(キーワードと図解)を大きく黒板に殴り書きします。シンプルだけど強力な響き。動画をみながら勉強させてもらいます。

Link: introduction to computer science | programming methodology


あとおまけにもう一つ。この講義の動画を見ていて思ったのですが1コマが50分くらい。で、28回登録されています。50分くらいだと講師も学生も集中力がもつな。。。と感じました。で、アメリカの大学の授業時間ってどうなんだろう。。。と調べてみると以下のリンクによると1コマが2時間!説明文を読むと宿題が必ず出され予習もすると。留学経験がないのでまったく知りませんでしたが。。。”標準的な一週間の時間割”を見ると勉強時間は半端じゃない。これだけやったら身に付かないわけがない。しかも卒業率が50%を下回る。。。我が国とは違うな。。。という実感です。厳しいからこそ価値がある。やる気があるならアメリカへ!というのも寂しいですが。そんな気がします。

Link: 米国大学スカラーシップ協会