新入社員研修も、基礎的な知識講義から、実践的なコンピュータ言語教育に入った。今更ながら的な感は否めないが、私の会社ではコマンドラインによるC言語を学ばせる。20名近い社員のうち、C言語を使ったことがあるのは4名程度。そのうち2名は日常的に使っていたようだ。
しかし大半の新入社員がプログラミング(作譜)をしたことがなく、その方法論さえしらないのだから、言語教育は面白い。
まずはテキストに沿って、提示された通りにテキストエディタをつかって、ソースプログラムを写していく。そして、コンパイル&リンクして、実行。
「うごいた!」「おお!」
という感動の言葉も2日目には聞こえなくなる。写すだけでは物足りなくなるのだ。だから問題を提示して、じぶんなりにソースプログラムを書いていくことになる。入力する、表示するといった程度はすぐにクリアできるのだが、くりかえし何かを処理する、処理条件を加える、といったひねりが加わるととたんに、解法手順が想像できなくなる。
ましてや、使用する変数名がへんてこりんで、これまでC言語を使ってきた人にもなかなかなじめない。そう、私の会社ではハンガリアン記名法を使っているのだ。変数の型や使用領域によるプレフィクスを変数名につけるのは、一度記憶するとわかりやすいのだが、まだそこまで練習を積んでいない人には酷なものだ。
しかも、変数名というからには名前に意味を持たせる行為自体が、「なぜ?」らしい。
1週間もたつと、ある程度の作譜ができるようになる。しかし、彼らは常に不安だ。なぜなら、いつの間にかできあがっているからなのだ。自分が完全に理解していない間に、コンパイル&リンクが通り、実行すれば思った通りの動きをしてくれる。それでも「なぜ?」なのだ。
それは、開発業務ではもっと複雑な問題に取り組まなければならないということを、実は、コンピュータ言語教育の前に体験しているからで、複雑なアルゴリズム(算法)をどのように考え出したらよいか、わからないことが、不安の中心にある。
今は、「その不安は、持ち続けること」と指導しているが、落ちこぼれてきている人もでてきた。 そこで、算法の一歩前の段階として、コメントをまず先に書くという方法論を教えてみようかと思っている。これは、問題を解く手順をコメント文に記述するもので、
/* 問題:キーボードから入力される二つの文字列を比較する */
/* 結果:同じなら 0、違っている文字数を表示させる */
int main(void) {
/* ここで変数宣言:文字列の箱を二つ作る */
/* ここでは作った箱に、キーボードから入力させる */
/* 入力した文字列をまず、表示させる */
... }
といった風に書いてみるのだ。そうすることで、 自分がどのような問題に取り組んでいるのがわかるし、問題を分割して、対処できるのだ。効果がどの程度かは、今のところ不明だが、実施してみて、後ほどここに報告しようと思う。
※このエントリは CNET Japan ブロガーにより投稿されたものです。シーネットネットワークスジャパン および CNET Japan 編集部の見解・意向を示すものではありません。
コンテンツ市場14兆円の中身と行方
原宿で野宿を含む15時間 - iPhone行列完全ドキュメント
「VMware Fusion 2.0 Release Candidate 1 Build 113392」、新たに「McAfee VirusScan Plus」を同梱 etc...
(エンジニアにとっての)モテ論
WEB2.0 じゃなくって PC0.5
taspoの必要性とタバコ屋でのコミュニケーション
できるだけ検索せずに情報を集める(試してみます)
@Tovas for AppExchangeのセットアップを30分で完了
夢幻∞大のエントリーアクセスランキング(8/29編)みんなのお題では、ブロガー同士で質問を出し合いそれに対する回答や意見を集めています。今日はどんな話題が盛り上がっているでしょう?
CNET Japan ブログネットワークは、元はCNET Japanの一読者であった読者ブロガーと、編集部の依頼により執筆されているアルファブロガーたちが、ブログを通じてオンタイムに批評や意見を発信する場である「オピニオンプレイス」、また、オピニオンを交換するブロガーたちが集うソサエティです。
広い視野と鋭い目を持ったブロガーたちが、今日のIT業界や製品に対するビジョンや見解について日々熱く語っています。
CNET Japanやその他サイトが提供するITニュースやコンテンツへの意見や分析、 ビジネスやテクノロジーに対するビジョンや見解について語っていただける方を 募集しています。ご応募はこちらから
ブログの投稿はこちらから(※ブロガー専用)
今年最も活躍したブロガーを表彰します。詳細はこちらから
これは、CNET Japan 編集部の依頼に基づいて執筆されているCNET Japan アルファブロガーによるブログの印です。
CNET Japan ブログネットワーク内で拍手の代わりに使用する機能です。ブログを読んで、感激した・役に立ったなど、うれしいと思ったときにクリックしてください。多くGood!を獲得した記事は、より多くの人に読まれるように表示されます。
[レビュー]高い信頼性を普通に使う地球に優しい電源ユニット--Antec EarthWattsシリーズ EA-650
今週の新製品総チェック:ノート、デスクトップ、UMPCまでPC秋モデルが続々
今週の新製品総チェック:薄さ13.9mmのサイバーショット登場!NEC「LaVie」はデザインモデルが