ふくだぶろーぐ

福田知弘の公式ブログです。

ノート:講義で学んだC++の学習をどう発展させたらよいか?

f:id:fukuda040416:20210419212152j:plain

PexelsのThisIsEngineeringによる写真

環エネB2秋冬学期の講義・情報処理で取り組んだC++(教科書:高橋麻奈 著「やさしいC++」)の後、プログラミング学習をどう発展させたらよいか?という相談が年々、増えているように感じます。講義では、複数の担当教員で、1章~15.1章「演算子オーバーロード」まで実施しました。以下、書き出したばかりですが、自分ノート。

  1. 講義では時間切れとなりましたが、よく使う基本的な機能のひとつとして、ファイルの入出力があります。これは教科書(やさしいC++)では、第16章が該当します。
  2. もう一つは、既存のライブラリの活用です。講義でも、<stdio.h> のような、C++でよく使われる標準的なライブラリのインクルードは何度もやりました。が、実際は、数えきれないほどのライブラリが外部で開発されており、それらの多くはオープンソースでも出回っているので、フリーで使うことができます。目的に応じてそれらを使った方が、効率的にプログラミングを進めることができます。
  3. その他、筆者らの研究分野の場合、Ubuntu上で開発することが多いです。そのため、Ubuntuをインストールした上で、GitHubなどにリリースされているような最新のライブラリをインストールして、システム開発できるスキルが必要になります。対象は例えば、xR、コンピュータビジョン、深層学習、点群、ウェブアプリケーションなどです。この作業は、OSとライブラリの相性などに気を配る必要もあり、中々ハードな場合もあります。相性が悪かったり、機嫌が悪いと、動かないことも多い。しかしながら、研究室の学生さんははじめは苦労しつつも、できるようになっていきます。

因みに、B3環境デザイン学の担当講義の3回分では、B2情報処理で学んだスキルを発展させるため、空間情報学Ⅰ・空間情報学Ⅱなどで講義したコンピュータビジョンを具体的に理解してもらうべく、OpenCVをインクルードして実装してもらいます。このためには、上記1, 2の要素を新たに学ぶ他、Visual Studioで外部ライブラリをどうやってインクルードするのかも、併せて経験できます。

また、環境工学演習Ⅰ(環境工学コース B3)の私の担当演習では、xRを開発しよう、と題して、短い期間ながらも、受講生に開発テーマから考えてもらい、xRシステムを実装してもらいます。B2で取り組んだシステム開発の発展版です。既存のスクリプトをインクルードしたり、カスタマイズしたり、あるいは自ら開発することが必要となります。こちらはC#がメインです。

上記については、目の前の仕事によって、必要度合いは異なると思いますが、知っておくと何がどう動いているのか中身を推測できますし、さらには、自分自身でできれば、仕事の機会や貢献度合いはかなり異なってくると思います。

 

B2: 学部2年生, B3: 学部3年生