Clasora

C++講師(オンライン、日本語で指導)

C++を日本語でオンライン指導

ポインタやテンプレート、コンパイルエラーでつまずく人に、C++を日本語でオンライン指導できます。料金も時間も自分で決められ、Clasoraは手数料を取りません。

概要

役割
C++講師(オンライン、日本語で指導)
勤務地
完全オンライン、どこからでも可能です
働き方
個人で活動します。料金と時間はご自身で決められます。
掲載日
居住国
日本

C++は、マシンをほぼ思いどおりに制御する力をプログラマーに与える代わりに、細心の注意を求める言語です。メモリは自分で管理しなければならず、ヘッダーファイルでセミコロンを一つ書き忘れただけで、まったく別の場所を指すエラーが画面いっぱいに並ぶこともあります。一見正しいコードに未定義動作が潜んでいて、別のマシンで動かしたときに初めて表に出ることも珍しくありません。学ぶ人の多くは、ポインタ、オブジェクトの寿命、テンプレート、そして古い教科書のC++と今書かれているC++との隔たりという、同じいくつかの場所でつまずきます。

よい講師がいれば、こうした壁はぐっと低くなります。デバッガでプログラムを一行ずつ実行しながらスタックとヒープを図に描く。デストラクタがなぜちょうどその行で呼ばれるのかを説明する。テンプレートのエラーメッセージを下から読み解いてみせる。一人で何日も悩んでいたことが、何度も説明してきた人と一緒なら、一回のレッスンで腑に落ちることがよくあります。

Clasoraが日本語で教えるC++講師を探している理由

Clasoraは、生徒がサイトを使っている言語で教える講師を、その生徒に表示します。Clasoraを日本語で見ている生徒には、日本語でレッスンをする講師が表示されます。つまり日本語で教える方は、まさにその生徒たちに見つけてもらえるということです。

C++の場合、これは見た目以上に大きな意味を持ちます。コンパイラのメッセージも、リファレンスも、規格書も基本的に英語ですが、大学の講義や教科書の多くは日本語です。ポインタ、参照、継承、メモリリーク、未定義動作といった概念を、学ぶ側は二つの言語を行き来しながら理解しなければなりません。概念を日本語でしっかり説明し、そのうえで同じものが英語のエラーメッセージでは何と表現されるかを示せる講師は、この二重の手間を省いてあげられます。

Clasoraは講師を雇用しておらず、これは求人ではありません。講師は独立して活動し、料金も時間も自分で決め、好きなだけ教えることができます。ソフトウェア開発の仕事のかたわら週に二晩だけ教える人もいれば、本業の代わりになるほどの時間を教える人もいます。

ClasoraでC++をオンラインで教える日々

指導は完全にリモートです。レッスンはすべてオンラインで行い、お住まいの場所から教えられます。

生徒はあなたのカレンダーから予約します。生徒に見えるのは、あなたが空きとして設定した時間だけで、それも生徒自身のタイムゾーンで表示されます。予約を何時間前まで受け付けるか、どのくらい先まで予約できるようにするかは、あなたが決めます。Googleカレンダーで一週間の予定を管理しているなら、Clasoraのカレンダーと同期できます。

レッスンはブラウザ上で行い、講師も生徒も何もインストールする必要はありません。C++の指導では、画面共有が大部分の役割を担います。Visual Studio、CLion、VS Codeといった普段使っている開発環境を開き、その場で短いサンプルを書いてみせることもできますし、生徒に画面を共有してもらい、つまずいているコンパイラの出力をそのまま見ることもできます。デバッガで一行ずつ実行し、ポインタの値が変わっていく様子を一緒に見ると、どんな図よりもよく伝わることが少なくありません。それでも図が役に立つ場面では、共有画面にホワイトボードアプリを開き、何が何を指しているかを箱と矢印で描くとわかりやすくなります。一行のコードをコンパイラが実際にどう変換するのかを見せたいときには、Compiler Explorerが便利です。通話中のチャットはコードの断片やエラーメッセージを渡すのにいちばん手早い方法で、背景ぼかしを使えば部屋の様子を映さずに済みます。

レッスンとレッスンの間も、生徒一人ひとりとのメッセージのやり取りの場があります。生徒はコンパイルが通らないソースファイルや、圧縮したプロジェクト、リポジトリへのリンクを送ることができ、あなたは修正版や短い課題で返事ができます。メッセージ、ファイル、共有されたリンクは、それぞれ関係するレッスンの隣に並ぶので、先月見たコードもすぐに見つかります。自分で作った練習問題やノートは個人用のファイル領域に置いておけますし、Googleドライブから文書を取り込むこともできます。

生徒がよく助けを求める内容

ポインタと参照:アドレスとは何か、ポインタと参照をどう使い分けるのか、そしてローカル変数を指すポインタが関数を抜けると無効になるのはなぜか。

メモリとオブジェクトの寿命:スタックとヒープ、newとdelete、メモリリーク、ダングリングポインタ、そしてC++が自分で後片付けをする仕組みであるRAII。

クラスとオブジェクト指向設計:コンストラクタとデストラクタ、継承、仮想関数、「3の法則」と「5の法則」。

モダンC++:std::unique_ptrやstd::shared_ptrなどのスマートポインタ、ムーブセマンティクス、ラムダ式、auto、範囲for文、そしてそれらが古い書き方のコードをどう変えるか。

標準ライブラリ:std::vectorやstd::mapなどのコンテナ、イテレータ、用意されたアルゴリズム。すでにあるものを手で書き直さずに済むようにするためです。

テンプレート:ジェネリックなコードの書き方と、テンプレートが生み出す長いエラーメッセージの読み方。

コンパイル、リンク、ビルド:ヘッダーファイルとソースファイルの分け方、「undefined reference」のようなリンクエラー、CMakeでのプロジェクト構成。

デバッグ:デバッガの使い方、セグメンテーション違反の原因の突き止め方、サニタイザによる未定義動作の検出。

データ構造とアルゴリズム:連結リスト、木、グラフを一から実装すること。C++で行われる大学の授業の課題であることが多く、競技プログラミングの練習もここに入ります。

応用分野:ゲーム開発、組み込みシステム、性能の最適化、std::threadとミューテックスを使ったマルチスレッドプログラミング。

課題と面接:課題を自分の力で書けるところまで理解すること、試験やテストに向けた準備、技術面接の練習。

求める講師像

C++を自在に書けて、その下で何が起きているか、つまりメモリの扱い、オブジェクトの寿命、コンパイラがコードをどう処理するかを理解している方。

日本語でわかりやすく説明でき、PythonでもCでも、あるいはまったくの未経験でも、生徒がすでに知っていることを出発点にできる方。

他人のコードを根気よく読み、すべてを書き直すのではなく、バグの本当の原因を探せる方。

たとえば、ソフトウェアエンジニア、ゲームや組み込みの開発者、情報系の大学教員やティーチングアシスタント、卒業生、この言語に精通した大学生など。

カメラとマイクの付いたパソコン、安定したインターネット回線、そして画面共有しながらでも使い慣れた開発環境をお持ちの方。

18歳以上の方。

指導経験があれば役立ちますが、必須ではありません。

Clasoraで得られるもの

手数料ゼロ。あなたが決めた料金から、Clasoraは何も差し引きません。

登録も公開も無料。月額料金も掲載料もかかりません。

料金は自分で設定。レッスンの長さごとに料金を決められ、初回を無料にすることもできます。

時間も自分で設定。毎週の対応時間と休みの日、予約を何時間前まで受け付けるか、どのくらい先まで予約できるようにするかを選べます。

あなた専用の公開ページ。あなたのサービスには独立したページがあり、検索エンジンからも見つけてもらえ、訪れた人それぞれが読んでいる言語で表示されます。写真、自己紹介動画、教える内容、話せる言語、レッスンの長さごとの料金が載ります。

指導についてのレビュー。生徒は知識、わかりやすさ、熱意の三つの観点であなたを評価します。

確認済みの資格。学位やその他の資格をプロフィールに追加でき、モデレーターが確認します。

ブラウザでレッスン。画面共有、背景ぼかし、通話中チャットに対応したビデオ通話で、インストールは不要です。

始め方

このページのボタンからアカウントを作成します。

C++のサービスを公開します。

カレンダーを開き、対応できる時間を設定します。

数分で完了します。講師になる際には利用規約に同意していただきます。また、サービスは公開前にモデレーターが確認します。

講師からよくある質問

情報系の学位は必要ですか?

必要ありません。大切なのは、C++をしっかり身につけていて、それをわかりやすく説明できることです。仕事を通じてC++を身につけた優秀なプログラマーもたくさんいます。学位やその他の資格をお持ちの場合はプロフィールに追加してください。モデレーターが確認します。

プログラミングがまったく初めての人にも教えられますか?

はい。専攻の授業で必要になるなどの理由で、最初の言語としてC++を学ぶ人もいます。何を教えるかはサービスに書けるので、完全な初心者を対象にすることも、ほかの言語から移ってくるプログラマーを対象にすることも、その両方にすることもできます。

モダンC++と古い書き方、どちらを教えるべきですか?

生徒と相談して決めてください。教科書や職場で古いコードに出会い、両方が必要になる人は少なくありません。古いコードを読めること、そして同じ処理を今ならスマートポインタや標準ライブラリでどう書くかを知ることです。どの規格に対応できるかは、サービスに書いておくとよいでしょう。

ゲーム開発など、一つの分野だけを教えてもよいですか?

はい。C++全般を教えることも、得意な分野だけに絞ることもでき、その内容をサービスに書けます。

報酬はどのように受け取りますか?

カード決済はまだ有効になっていません。現在は、カードなしで予約が確定し、支払いは講師と生徒の間で直接やり取りします。Clasoraは手数料を取りません。

Clasora で教えはじめる

アカウントを作り、サービスをひとつ掲載し、カレンダーを開いてください。数分で終わり、費用はかかりません。