C#基本編セミナー受講報告
9月8日~12日まで5日間にわたり開催された「高度IT人材育成プログラム研修 C#基礎編」を受講しました。
このセミナーは愛媛県と日本マイクロソフトが共催したもので、会場は、愛媛大学工学部の2教室。(愛媛大学は、日本語変換方式を確立した浮川夫妻を輩出したことでも知られています)
対象は、県内企業の従業員や創業予定者、県内の大学生、専門学校生、学校関係者。
講師は、技術統括室のエンジニア衣川朋宏氏でした。
1日目:配列とコレクション
.Net Frameworkの概要と、Visual Studio の基本操作について学んだ後、お決まりの「Hello World」に始まり、配列と型の使いかたを練習しました。テキストを見ながら処理の一部を写経するもので、コンソールアプリでの実装でした。
2日目:オブジェクト指向とライブラリ
オブジェクト指向プログラミングについての説明の後、C#の基本構文についての説明があったようです。実習は、クラスやDLLに関するものだったようです(2日目は早退したため、午後からは受講できていません)
3日目:ファイルアクセス
ファイルシステムと処理の流れについて説明を受けた後、Streamの読み書きを実習しました。
4日目:WebService利用
Webサービスの概要について説明を受けた後、DOMを使ったXML文書へのアクセスと、Webサービスの実習をしました。ストアアプリ開発で必要になる、非同期処理についても、簡単ですが説明がありました。
5日目:コンソールからのネットワーク利用
ネットワークの種類、プロトコルの概要、IPアドレス枯渇問題など、ネットワーク周りの雑多な話題について知識を得た後、1台のPC内でのリスナーとクライアントの通信を実習しました。
定員は40名(先着順)で、満員御礼だったようです。
PCには、Visual Studio 2013 Ultimateがセットされていました。懐厳しい学生や、これから起業する人が、Ultimateの姿を拝むには、最高の実習環境だったと思います。休憩時間や昼休みに、自由に使うことができました。ただインターネットには未接続で、実習中にmsdnを参照して、メソッドやプロパティの詳細を確認できなかったのは、少々残念でした。
それでも、主催者側は、毎日、40台、ハンズオンのデータをセットしていたわけですから、頭の下がるおもいです。こういったセミナーは、段取り八分なんですよね。設備の選択や配送や設定、テキストやサンプルデータの作成、配布資料のセット、タイムをカウントしながらの予行演習など、本番よりも準備のほうが大変だったりします。
衣川氏は、言葉を選んで丁寧に話す先生でした。5日間立ちっぱなしで、最後まで、同じテンション、同じ話し方を崩しませんでした。主催者側も講師も、プロの仕事です。
ところで、実際に受講してみると、募集要項からセミナーの内容を誤解する人がいるかもしれないと思いましたので、書いておきます。
まず、受講内容が多岐にわたるからといって、過度の期待をしてはいけません。
(あたりまえですが)5日間座って話を聴くだけでC#プログラマを名乗れるようになれる魔法のセミナーなどありえません。時間が限られていますから、ハンズオンは講義の合間に挟む形であり、セミナー期間中に書く行数は限られています。
C#の仕様は膨大で、さらに取り囲む技術も膨大です。C#の概要と周辺技術との関係を知識として理解し、開発への弾みを付けられれば十分でしょう。
このセミナーをきっかけとして捉え、msdnなどで公開されている技術仕様を参考にして、しくみと構文とロジックをしっかり理解したうえで、多くの良質のコードを読み、多くの行数を書いて、自分の知識にしていく努力が必要だと思います。
そうした努力をするなかで、応用編、実践編のセミナーに参加すれば、ノウハウも身に付けられるのであろうと思います。
また、受講の前提条件となる知識についても、誤解が生じるかもしれません。
募集要項では、3日目を受講するには、XMLについて「テクノロジについて、まったく知識がない」あるいは「テクノロジについて、どのようなものかは知っている/理解している」ことが前提条件となっていますが、すくなくとも、XMLあるいはHTMLのソースを見たことがなければ、厳しいでしょう。
逆に、5日目を受講するには、TCP/IPについて「テクノロジについて、どのようなものかは知っている/理解している」ことが前提条件となっていますが、1から解説する内容でした。ネットワークには疎いから、などと心配することはありません。
ハンズオン・トレーニングについては、五日間のどの実習についても、(JavaScritpやVBAの一処理の写経でもいいので)なにかしらのコーディング経験は必要だと思いました。
インテリセンス頼みであっても、コードをほとんど書いたことがない人では、初めて目にするメソッド名やプロパティ名を選ぶ作業に戸惑いそうです。VSの導入やC#への移行を検討中の企業の純スーツの方が受講する場合は、多少プログラミングをたしなんでから臨んだほうが、受講の効果を実感できると思います。
もっとも、分からなければ挙手すると講師が指導してくれますし、一定時間を過ぎるとサクッと打ち切る方式なので(自分で帰宅後再挑戦してね、な感じ)コーディングが遅くても他の受講生に迷惑をかけるという事態にはなりません。その意味では、プログラミング未経験者の怖いもの見たさ受講も不可能ではありません。
私は常々、コラムなどの中で、技術普及には「敷居は低く、壁は高いほうがよい」と主張していますが、このセミナーでは、敷居がかなり高めに設定されているという印象をもちました。もっとも、そのほうが、敷居低けりゃ壁まで低いと勘違いする人(コードのクオリティには頓着せず納品すればオッケーな人)をブロックできるという利点はあるのですが。
こういった企業主催のセミナーは、現場を反映した内容になっていますので、プログラマを目指す学生には、とくにおススメします。学校で理論を学び、セミナーで実践力を学ぶと、両輪が揃うでしょう。
一方、主催者側には、大学生と専門学校生だけでなく、小学生、中学生、高校生も参加できる体制が望まれるのではないでしょうか。必要なのは受講システムの拡張であり、参加者の年齢に合わせてカリキュラムを見直す必要はないと思います。
そして、もし、学生が参加するにあたって、授業への出席との兼ね合いについて、保護者や教師に相談してきた場合、次世代エンジニアの育成のためにも、学校側には柔軟な対応を望みたいと思います。
学校の先生も一緒に受講するというのもアリかもしれません。指導方法が参考になるはずだからです。
なお、予想はしていましたが、女性の参加者は数えるほどしかいませんでした。県内には、女性のITエンジニアは、まだまだ少ないのかもしれません。
余談になりますが、会場が愛媛大学につき、同大学に仕事の打ち合わせに行くときと同じ恰好(理工学系の教官や学生たちと同じような)で出かけたところ、暗黙のドレスコードありのビジネスセミナーの雰囲気でした。受講者に斬新なアプリ開発を望むなら、痛PC持参者やレイヤー学生でも浮いてしまわないような、突き抜けた雰囲気の演出があればよかったかもしれません。(と書きつつ、最終日には仕方なくブレザーをひっぱり出した、一応右へ倣えの日本人)。
講師の人に、ななみ痛車でのりつけてほしいとまでは言いませんが、最低でも、工学部本館前にクラウディアさん等身大看板を立てるくらいのことはあってもよかったのではないでしょうか。演出次第で、学生の反応、それに伴う口コミ、拡散範囲は、大いに変わるのですから。
私は、マイクロソフトのユーザー応援団員(?)の立場ですから、スケジュールが調整できれば市内のイベントにはできるだけ応援にかけつけます。ただ今回参加したのは、VBからC#に移行するためのエンジンをかけたかった、また、技術指導の手法を学びたかった、という、個人的な理由もあります。
その昔、C#という言葉がささやかれ始めたころ、コピーライター的直感から「C#」という音に反応し、これは流行すると確信したのですが、VBプログラマと協業していた関係で、長年VBを使い続けてきました。
さいきんは、協業よりも単独作業に比重を移しつつあるので、今後はできるだけC#に移行していければと思っています。C#のほうがリソースが多いですし、VBに書き換えながら理解するよりも、そのまま理解する方が効率がよいからです。
とはいえ、セミナー数日前の風呂場掃除中のトラブルで眼科通院中だったため、VSのロジック画面は[Ctrl]+ホイールで拡大したものの、ハンズオンのテキストやメニューの文字はよく見えておらず、勘でこなしていたものですから、今後復習してよく理解しなければなりません(そういった点では、[]{};を多用することのないVBはラクです)。その後、ストアアプリ特有のUIデザインについても学ばなければならないので、C#によるアプリ開発までは、まだもうすこし時間がかかりそうです。でも、作りたいものがあるので、がんばりますっ!
以上、受講報告でした。
C#セミナーのもうすこし詳しい内容は、マイクロソフトのこちらのページを参照してください。同様の講座が他の会場でも開催予定ですので、これからC#に取り組みたい人は、ぜひ参加をご検討ください。