やる気、進歩のない生徒への対応

このQ&Aのポイント
  • 初心者に対応するための効果的な教え方を模索中。
  • 学習意欲の低い生徒に向き合う難しさを感じている。
  • 参考書を読まない姿勢に戸惑っている。
回答を見る
  • ベストアンサー

やる気、進歩のない生徒への対応

私はパソコン、C言語を一般の方よりは知っています。 なので、C言語を教えて欲しいという人がいたので、C言語を教えることになりました。 私は、人に教えるのは初めてで、どう教えたらいいのかまったくわからず、 C言語の参考書をわたして、「これを読めばわかります」とそのままにしました。 それから、半年ぐらいがたち、現在になり、今度は マンツーマンで教えて欲しいというので、 ほとんどの初心者、Visual C++ の操作方法から教えました。 何かC言語でやりたいことはないのか尋ねたところ、1~10の数をすべて足して 合計を表示するプログラムを作りたいということだったので、Visual C++ の操作方法と 参考書をここまで読めばできます。といっておきました。 しかし、彼はまったく理解したようなそぶりはなく、次はいつ教えてくれますか?という ことだけを言って、参考書を見たようなそぶりはまったくありません。 彼のパソコンレベルは、「ダイアロボックス」という単語を発音するのすらおぼつかない ダ、ダイロアボックス?とか、ものすごいパソコン初心者で、プログラム以前の問題だと 思っています。 しかも、参考書を読んでおいて、といっておいているのに、一度は目を通したらしいのですが、 まったく理解せず、int float double など意味不明のままで、その状態で教えてくれと 言ってきます。 もう、参考書を渡して半年、いくらなんでも、int float double ぐらいは覚えているか 知っているかのレベルになってもおかしくないと思っていたのです。 VBを知っているらしく、20年ほど前の N88 BASIC をかじったとか、言っていますが、 いまの状況からみて、口だけか?とも思えます。 最低限、人がいったこと(参考書を読む)くらいはやっておいてほしいので、 会うたびに、参考書を読んでください。と言っているのですが、まったく聞きません。 私自身、知り合いは少なく、パソコンつながりはほとんどゼロといっていいほどで、 ひとりで勝手に勉強しろと、つきはなすこともできず、とても苦しい状況です。 なんど、「参考書を読んでくれ」と言っても聞いてくれない彼には、 今後、どのような方法で対応していけばいいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • k_kota
  • ベストアンサー率19% (434/2186)
回答No.8

相手がやる気ない異常にあなたが教える気がないように見えますが、それもありだと思います。 土台がない人に教えるのは大変なんです。 なので、大変な事を覚悟して教えるのか、大変だからやらないのかのどちらかを選ぶべきでしょう。 まあ、参考書を読むことができるレベルまで行ってないんじゃないですかね。 PCの操作で躓いてるのか、環境構築なのか、なんなのかは分かりません。 そういうのは教えずに参考書を読んだ後からじゃないと教えられないなら、 できませんと相手に言うしかありません。 問題点を探って、やっぱり相手がやる気ないならやっぱりお断りするしかありません。

その他の回答 (7)

noname#197650
noname#197650
回答No.7

質問者様が、彼との関係を続けたいのか、突き放したいのか、で話が変わります。 続ける場合、まず、「次回までに、参考書の○~□までを理解してきて」と言います。 そして、次回は確認テストから入ります。 合格点が出なければ、参考書の試験範囲を朗読させ、キーワードや間違いやすいところで 止め、彼がわかっているかチェックします。 最後まで読んだら、またテスト。 合格点になるまで(さらに言えば参考書を暗唱できるらいまで)これを繰り返します。 それから、新しいことをやります。 突き放す方が楽かな。

  • suzuko
  • ベストアンサー率38% (1112/2922)
回答No.6

教員です。 「知っている」=「教えられる」ではありません。 「知っている」ことを相手に「わかるように言語化する」のが「教える」です。 教師とは「誰にでも、ある事象について、簡単にわかりやすく教える」人だと言えるでしょう。(まぁ自分を含めて、これが難しいのですが…) 相手は、あなたに対して「C言語をマンツーマンで教えて欲しいという」と言ってきているのですから「参考書を読むのではなく、読み解いてほしい。単語レベルで、理解できないところ、知らないところを一つ一つ解説・補足してほしい」と言っているのです。 その気がないのならば「自分には、人に教える技量がない」と断るべきでしょう。 私見です。

  • ruck
  • ベストアンサー率44% (589/1322)
回答No.5

人に教わるからには最低限参考書を読む位の事はしてほしい、という あなたのお気持ちはわかります。 ですが教わる方としては、参考書を読んで理解できれば、 最初から人を頼らないのではないでしょうか。 パソコンはもちろん家電のマニュアルでさえ、作る人はそれらを完全に理解して作ります。 そういう人は最初から、なんでわからないの?もちろんこれくらい読めばわかるよね。 という感覚で作っているのでしょう。 でもわからない人には、なんでわかるの?読んでわかれば苦労しないよ!の世界なんです。 今回の事も、高校の数学を教えてほしいと言う中学生にいきなり微積の参考書を渡して、 読んでおいてと言っているようなものだと思います。 次はいつ教えてくれますか?と言ってくるのはまったくやる気がないわけではないと思いますので、 大変だとは思いますが、まったくの初心者に一から教えるつもりで面倒見てあげてほしいと思います。

  • 2080219
  • ベストアンサー率32% (627/1954)
回答No.4

こんにちは。 パソコンの勉強に限らず、 「教えてほしい」という方に参考書を差し出すことは”突き離し”ですよ。 参考書は書店で買えます。 読んでもわからないので、「教えてほしい」とお願いしているはずです。 まずは、「どこでつまずいているのか?」聞いてあげてください 私もそうですが、コンピュータに関する勉強はかなり難解です。 ひるがえり、得意な方からすれば、「何故これがわからないんだ?」 そのように感じるそうです。 繰り返しますが、「参考書を読め」は”教える”ことにはなりません。 手厳しい意見になり恐縮ですが、 あなたは人との付き合い方全般に問題がある可能性が高いですよ。 ただし、相手が完全な”教えて君”の場合は、突き離して大丈夫ですよ。 甘ったれるのもいい加減にしなければ、社会では生きていけませんので……。 ではでは(^_^)

  • ztb00540
  • ベストアンサー率18% (119/647)
回答No.3

プログラムで何をやりたいのかしっかり目標を持たせなければ無理です。 1~10までの足し算なんて目標の内に入りません。 BASICで作ったソフトをVCに変更したいくらいでないとダメでしょう。 BASICのプログラムも簡単すぎるのではやる気も出ないでしょう。 これから、そのソフトを使って何かをするという目標がなければ駄目です。 目標を持たせることが大切です。目標がないなら放っておくしかありません。 プログラムより貴女に甘えているか会いたいだけでは?・・・とも思ってしまいます。

回答No.2

専門学校での話なのかしれませんが、いずれにしてもカネを払うタイプの学校だと すると、基本的にはサービス業なので、生徒の意思を尊重するべきなのでしょう。 この質問文も5W1Hが明確に記載されておらず、質問者が挙げる人間と、質問者自身が 同類とさえ思えます。まあ、whoは挙げるわけにはいかないが、学校なのかそうで ないのかぐらいは記載して欲しいですな。

  • maiko0318
  • ベストアンサー率21% (1483/6970)
回答No.1

開いて何のことが書いているのかさっぱりわからないものほど読む気の失せるものはありません。 やる気がなくて読んでいないのか、読んでも理解できていないのか、どちらでしょう? また、勉強する上で何か役に立つ、なければ困るんだと思ってやるのと、そうでないのとも随分違います。 まぁ、勉強する必要ができるまでほっとけばどうでしょう?

関連するQ&A

  • doubleからfloatへの変換でのトラブル

    double test = 0.01; float test2 = (float)test; このプログラムを実行すると、test2には何故か「0.00999999998」という数字が入ってしまい、「0.01」にはなりません。正確にdoubleからfloatへキャストする方法はあるのでしょうか。 環境はWindows XP、Visual C++です。

  • 型指定子についての教えてください。

    コンパイラはMicrosoft visual C&C++を使用しています。 (1)型指定子のfloat,doubleの大きい数値について。 計算をするとfloatは7桁までは正しくて、7桁より大きい桁はデタラメです。doubleは15桁までは正しくて、15桁より大きい桁はデタラメです。有効数字7桁,15桁とはこういうことでしょうか。 後、floatは有効数字7桁、doubleは有効数字15桁で本当に正しいのでしょうか。 (2)型指定子のfloat,doubleの小数点以下の数字について。 floatは10^-38まで、doubleは10^-308までの数字を扱えると参考書には書いてありますが、計算をしますと小数点以下6桁までは求まりますが、それ以下は求まりまりません。それ以下の数値はすべて0になります。なぜでしょうか。 (3)int,long intとdouble long doubleの違いについて。 intとlong intはともに-2147483648~2147483647までの範囲だと思います。またdoubleとlong doubleはともに有効数字15桁でした。何か違いがあるのでしょうか?

  • atan2 オーバーロード関数の呼び出しを解決することができません

    はじめまして。 超初心者のものです。 かなり古いMayaのプラグインのソースファイルをコンパイルすることになり、以下のようなエラーが出てどうにも解決することができません。 1>.\MayaMath.cpp(164) : error C2668: 'atan2' : オーバーロード関数の呼び出しを解決することができません。(新機能 ; ヘルプを参照) 1> C:\Program Files\Microsoft Visual Studio 8\VC\include\math.h(547): 'long double atan2(long double,long double)' の可能性があります。 1> C:\Program Files\Microsoft Visual Studio 8\VC\include\math.h(499): または 'float atan2(float,float)' 1> C:\Program Files\Microsoft Visual Studio 8\VC\include\math.h(110): または 'double atan2(double,double)' 大変申し訳ないのですが、こういった場合の回避の仕方 などご存じの方がいましたらよろしくお願いいたします。

  • Visual C++でCのソリューションファイル(.c)を動かすには

    仕事で利用するためにC言語を勉強しようと思い、Visual C++ 2005を購入しました。知り合いから頂いた、過去にC言語(拡張子.c)で作られた複数のソリューションファイル等で構成されるプログラムをVisual C++ 2005で動かそうと思い、市販のVisual C++ 2005の参考書籍類で調べていますが、その具体的方法が分かりません。C言語に関してはまだ初心者なので、まだ十分に参考書籍を読みこなすことが出来ず、どなたか御教示頂ければ幸甚です。

  • キャストした結果をその変数に代入

    C++でもC言語でも良いのですが、 int a = 10; という変数があったとします。 このaを別の変数を使ったりせずにfloatに直接変換することは可能でしょうか? float b = (float)a; とかやれば簡単なのですが、他に方法はないものかな・・とふと思いました。

  • C#のキャストについて(32bit浮動小数点)

    こんにちは。 現在、Visual Studio 2005を使用してC#のプログラムを作成しています。 32bitの浮動小数点のデータを表示しようとしているのですがうまくいきません。 具体的な例としては 0x42F6E9E0  → 123.456789 0x4476E9E0  → 987.654321 のように変換した結果を表したいと考えています。 c言語では int main() { int h = 0x42F6E9D5; float f; f = *(float *)(&h); return 0; } のようにすればfで値(123.45678)が取得できたのですが、 これと同じ事をC#ではどのように書くのでしょうか? ポインタを含んだキャストのやり方がわかりません。 以上よろしくお願い致します。

  • printfの変換仕様について

    C言語初心者です。 よろしくお願いします。 printfの変換仕様の機能の確認を参考書を参考に勉強していた所、以下のようなプログラムがありました。 --------------------------------- #include<stdio.h> int main(void) { float a; a=24.54F; printf("f=%f\n",a); printf("e=%e\n",a);      return 0; } ------------------------------------ 以上のプログラムの「a=24.54F」の「F」の意味が分かりません。 しかし「F」がないと、「 'double' から 'float' へ切り詰めます。」といったようなエラーが出てしまいます。 16進数を入れればいいのかなと思い、「D」や「E」を入れてもダメで、そういうことではないみたいでした。 「a=24.54F」の意味を誰か教えていただければ、嬉しいです。

  • Cプログラミングの質問です。

    方程式2.0*pow(10,-15)*pow(38.6,x)-2.73-0.909x=0の解xを二分法により求め、それを”atai=××”と表示させるプログラムを書こうと思っているのですが、エラーがでてしまい、さらにどこを直していいかわかりません。 詳しい方がおられましたら、アドバイスをいただけたらと思います。よろしくお願いいたします。 <エラー内容> 「コンパイルしています... tom.cpp .\tom.cpp(34) : error C2668: 'pow' : オーバーロード関数の呼び出しを解決することができません。(新機能 ; ヘルプを参照) C:\Program Files\Microsoft Visual Studio 8\VC\include\math.h(575): 'long double pow(long double,int)' の可能性があります。 C:\Program Files\Microsoft Visual Studio 8\VC\include\math.h(527): または 'float pow(float,int)' C:\Program Files\Microsoft Visual Studio 8\VC\include\math.h(489): または 'double pow(double,int)' 引数リスト '(int, int)' を一致させようとしているとき .\tom.cpp(34) : error C2059: 構文エラー : 'サフィックスが無効です。' .\tom.cpp(34) : error C2146: 構文エラー : ';' が、識別子 'x' の前に必要です。 ビルドログは "file://c:\Documents and Settings\satoutakaaki\デスクトップ\file\tom\tom\Debug\BuildLog.htm" に保存されました。 tom - エラー 3、警告 0」 <プログラム> #include "stdafx.h" #include <stdio.h> #include <math.h> double fx(double x); int main (void){ double x1=-1000; double x2=1000; double xn; double y; int i=0; for(i=1;i<100;i++) { xn=0.5*(x1+x2); y=fx(xn); if(y>0) {x1=x1/2+x2/2;} if(y<0) {x2=x1/2+x2/2;} i=i+1; } printf("atai=%f",xn); return 0; } double fx(double x) { double z; z=2.0*pow(10,-15)*pow(38.6,x)-2.73-0.909x; return z; }

  • C言語の型による処理速度の違い

    short int型よりint型。float型よりdouble型の方が 扱えるサイズは広いにも関わらず処理速度が速いと 聞いたのですが、それは本当でしょうか? もしそうならなぜそうなるのでしょう? (一度BCCでfloatとdoubleの処理速度を計ったらfloatの 方が少し早かったですが・・) 高速なプログラムを書く必要の出たときのために型に よる処理速度を教えてください。

  • SetPixel関数のmath.h

    WindowsXPのノートでVisualC++2008ExpressEditionを使っています。 SetPixel関数で円を描くプログラムで、math.hの問題だと思われる4つのエラーでコンパイルできません。 宣言は #include<windows.h> #include<math.h> ウィンドウプロシージャ内で switch (msg) { case WM_PAINT: hdc = BeginPaint(hWnd, &ps); for (i = a - r;i <= a + r; i++) { x = i; y = (int)sqrt(pow(r, 2) - pow(x - a, 2)) + b;←96行目 SetPixel(hdc, x, y, RGB(0, 0, 0)); y = (int)-sqrt(pow(r, 2) - pow(x - a, 2)) + b;←98行目 1>c:\documents and settings\REI\my documents\visual studio 2008\projects\setpixel01\setpixel01\setpixel01.cpp(96) : error C2668: 'pow' : オーバーロード関数の呼び出しを解決することができません。(新機能 ; ヘルプを参照) 1> c:\program files\microsoft visual studio 9.0\vc\include\math.h(575): 'long double pow(long double,int)' の可能性があります。 1> c:\program files\microsoft visual studio 9.0\vc\include\math.h(527): または 'float pow(float,int)' 1> c:\program files\microsoft visual studio 9.0\vc\include\math.h(489): または 'double pow(double,int)' 1> 引数リスト '(int, int)' を一致させようとしているとき 同じ内容のエラーが96行目なのが2回、98行目なのが2回出ます。math.hを編集すればいいんでしょうか?gccならコマンドラインから-lmでいいかもしれないんですが。自分の入力ミスはないと思います。 どなたかお分かりになる方、教えていただけないでしょうかm(_ _)m