わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

情報系学科の学生が在学中に学んでほしい14個のプログラミング技術(フォロー)

ゴールデンウィークの初日に電車の中で書いてみたメモを,5月2日に文章化して,2回に分けて公開し,旅行に行って帰ってくると,ありがたいことにトラックバックをいただいていました.
学部時代は何をしていたっけ - ログ日記

自分はどうか?

n314様は自身の経験を振り返られていますので,私もしてみましょう.まずはリテラシー,というよりも学生時代の計算機環境….大学1〜2年は全学計算機システムはVMS,3年以降はUnixもの*1に代わりました.学科演習用の計算機はX Window Systemで,2年後期から使用し始めました.ディスク使用量は,2年のときは4MB,3年のときは25MBほどでした.
入学してから1年半,プログラミング言語としてはPascalを学びました.プログラム例だけでなく,BNFとNSチャートも学びました.入学前からBASICやZ80アセンブラでプログラムを書いていましたが,それが弊害となって,変数のスコープの概念を理解するのに苦労しました.
論理プログラミングのProlog,データベースのSQLは,講義の中であれこれ書いた記憶があります.「紙と鉛筆による演習paper-and-pencil exercise」でした.
ハードウェア実験では,3年前期に,Z80を使ってマイコンを組み上げました.回路図は配布されていて,組み立てるだけです*2.制御部は,Z80アセンブラでプログラムを書いて,アセンブルして,EPROMだったかに焼き付けます(1回あたり30分).3年後期は,CPUを設計し,組み上げ,計算プログラムを作って動作確認をしました.前期は2人一組で,後期は4人一組だったので,「ハードウェアプログラミング」と「2人以上でプログラミング」の両方を実施したことになります.
それ以外は,教わった記憶がありません.演習の中で「Perlはいいねえ」と言われて,研究室に配属される前後にラクダ本を買って勉強しました.CGのうちラスタ画像の処理は,大学院に入ってから,それも趣味のプログラミングでした.
大学で教わったことの中で,特筆したいのを2点あげると

  • 語学(英語)で,前期はEmacs,後期はTeXのオンラインマニュアルだったこと.試験でkerningやligatureを日本語で説明させられたのが,記憶によみがえります.後に知ったのですが,担当の語学の先生,専門は英語ではなく情報なのでした.
  • 演習中に先生がものすごい勢いでタイプして,必要な情報を見つけていたこと.grepコマンドでした.私自身も講義をするようになって,できるだけコマンド実行のデモを見せるよう心がけています.

フォロー

  • 各項目の先頭の黒太字は「表の技術」,赤太字*3は「裏の技術」とも言えるものです.表の技術はどちらかというと外面的なもの,裏の技術は内面的なものです.
  • 「ハードウェアプログラミング」の中で,「回路図・タイミングチャートの読み方」も習得しておきたいものです.
  • 「2人以上でプログラミング」では,「情報(ファイル)の共有」という技術的課題があるのを忘れていました.共有すべき情報として,ソースファイルはもちろん,レポートなどのドキュメント類も,アイデアメモなども含まれます.

*1:具体的なシステムを書かないのは,ここの日記では,出身大学を明かしたくないためです.

*2:部品は使い回しです.担当の先生の「不良品を見つけるのも,実験のうちです」は名言です.

*3:はてなダイアリーのヘルプ - 自動リンクを止める(自動リンク停止記法)を使って,赤太字の自動リンクをなくしました.