初心者に何をどのように教えたらいいでしょうか?
また初心者はどのようなことを求めていて、何が知りたいでしょうか?
プログラミング言語は特に指定しません。
どういう初心者を対象にするのかによりますが、趣味でプログラミングをはじめたいと思っている初心者が対象で、
右も左も分からない人が、自分で学ぶためのとっかかりとなるような入門書を前提とするなら、
また初心者はどのようなことを求めていて、
それなりに実用的なものを作れるようになることかな。
何が知りたいでしょうか?
コードの書き方と書いたコードを実行する方法です。
サンプルを実行して、理解して、それをベースに改造してみて、実行してみて、というのができるようになれば入門書としては十分だと思います。
以上を踏まえて
初心者に何をどのように教えたらいいでしょうか?
モチベーションが維持できるように、基礎は必要最小限だけにして、やっててワクワクするような実践的サンプル(既存アプリの超簡易版みたいなやつ)を中心にすると良いと思います。
スクリーンショットでサンプルアプリに興味を引きつけサンプルを実行させるところまで導いて、実際に動かすことで仕組みへの興味を掻き立て、
アプリのコードの解説を読ませ、改造例、機能追加例をいくつか見せて、自分で改造するところまで導く、という感じですかね。
あとは、
必要なツール類とそのインストール方法と使い方
マニュアルの読み方(APIマニュアルなどのURLとかアクセス方法と読み方)
次のステップ(入門書を読み終えたら、次は何にチャレンジするべきか)
があると良いかと。
使ったこと無いけどSilverlightとか良いかもしれませんね。
プログラムが書けるようになると、こういうことができるようになるんだ、という動機づけが大事だと思います。
辞書順の sort ができたって、Excel よりは簡単にはならないですもんね。
一昔前だと、ゲームかなあ、という気がするんですが、最近のゲームに慣れてる人には、○×を並べてもつまらないですしね。
それなら携帯アプリは目標にも作る練習にもなりそうです。
少し前までプログラムなど全く書けませんでしたが興味だけはありました。
その時強く思っていたのが(今でも新しい言語や環境はそうですが)、
Windows98からネットはやっていましたし、Vectorなどでフリーソフトは使い倒していましたので、パソコンの基本操作は分かりますが、
それでも、プログラムの開発環境の作り方がとにかく分からなかったです。
実は、この段階で何度か挫折しています。
まずは、ここをしっかりと記載して欲しいです。
様々なページから環境をダウンロードというのも非常に煩雑で難しく感じました。
.
また、書籍のサンプルプログラムは公開不可となっていたり、ちょっと作って誰かに見てもらいたいなどもできず使い勝手が悪かった記憶があります。
特に、初心者の頃であれば、とりあえず、動くものができたら人に見せたりブログで紹介したりしたいでしょうが、これが難しいというのはモチベーションが下がります。
初心者向けと言うことであれば、このあたり気になるところです。
.
アプリについて、今ですと、Firefoxのプラグインなどの制作方法などあればうれしいです。
開発環境の作り方と規約がよく分からずまだ手が出せません。
いつも使っているソフトに機能に追加できるのは強い動機付けになる気がします。
携帯アプリも良いですが、私の周りにはパソコン付きな人が多く、パケット代金が気になると言うことでソフトを作ってもあまり興味を持って貰えず作る意欲がなくなっています。
iPhoneなどのセンサーを使ったソフトなどおもしろそうですけど、iPhoneの購入までの敷居が高いですね・・・
開発環境の準備も敷居が高いのですね。
著作権フリーのソースも用意すべきですね。
どういう初心者を対象にするのかによりますが、趣味でプログラミングをはじめたいと思っている初心者が対象で、
右も左も分からない人が、自分で学ぶためのとっかかりとなるような入門書を前提とするなら、
また初心者はどのようなことを求めていて、
それなりに実用的なものを作れるようになることかな。
何が知りたいでしょうか?
コードの書き方と書いたコードを実行する方法です。
サンプルを実行して、理解して、それをベースに改造してみて、実行してみて、というのができるようになれば入門書としては十分だと思います。
以上を踏まえて
初心者に何をどのように教えたらいいでしょうか?
モチベーションが維持できるように、基礎は必要最小限だけにして、やっててワクワクするような実践的サンプル(既存アプリの超簡易版みたいなやつ)を中心にすると良いと思います。
スクリーンショットでサンプルアプリに興味を引きつけサンプルを実行させるところまで導いて、実際に動かすことで仕組みへの興味を掻き立て、
アプリのコードの解説を読ませ、改造例、機能追加例をいくつか見せて、自分で改造するところまで導く、という感じですかね。
あとは、
必要なツール類とそのインストール方法と使い方
マニュアルの読み方(APIマニュアルなどのURLとかアクセス方法と読み方)
次のステップ(入門書を読み終えたら、次は何にチャレンジするべきか)
があると良いかと。
使ったこと無いけどSilverlightとか良いかもしれませんね。
実践的サンプルを改造させるといいですね。
意外と盲点なのが、IDEの使い方じゃないでしょうか。初心者は、プログラム以前にこれに引っかかる場合が多いのじゃないでしょうか。やはり本を読むだけではなく、実際に作ってみないとプログラムは身につかないので、コンパイラの導入からIDEの使い方まで詳しく説明した方がいいと思います。たとえば、こちらの本など、参考になると思います。
それから、資格が取れるとか、何か目標があったらいいかも知れません。たとえば、下記の本では、Java言語プログラミング能力認定試験2級に87%が合格するそうです。
●わかりやすいJava
>ぜひメイキングストーリーをお読みください.→メイキングオブわかりやすいJava
http://powercampus.jp/wjava/support
○わかりやすいJava入門編 著者: 川場隆 -Google ブックス
http://books.google.co.jp/books?id=-apWBzG7RlsC&printsec=frontco...
それから、逆引きの本とかよくありますが、ネットの方が引きやすいので、CD ROMか何かでネットみたいに検索できるとか、あるいはサポートサイトで検索すると本のどの辺に詳しく書いてあるか教えてくれるといいですね。
●C# と VB.NET の入門サイト>Visual Basic .NET (VB.NET) - すべてのサンプル
http://jeanne.wankuma.com/tips/vb.net/all.html
それから、個人的には、何かプログラムを実際に作る過程を書く型の本もいいのですが、それプラス、文法全体を概観できるリファレンス的なものがあると助かります。つまり、どちらかになってしまうのじゃなくて、併用型の本がいいです。
思いつくままにあげてみましたが、参考になれば幸いです。
IDEの使い方は初心者には説明すべきでした。
僕は資格を持っていなので考えもしませんでした。
のを頼む」のですが、人間に頼むのとは大きな違いがあります。
それは(一部の関数型言語を除いて)、「してもらいたい順に」
頼むことです。
○○のときはccを」というように、条件を後だしにできます。
しかしプログラミング言語では、「もし●●ならbbを、もし○○なら
ccを、そうでなければaaを」という順番に書く必要があります。
いうのは、△△を測って、ee以下になったらね」というのも、
順に「△△を測れ。その値がee以下になったらddを」とやります。
案外と新鮮です。
コーディングの順番も教えるべきですね。
出来るだけ自力で打ち込まない
ブラックボックス化を理解すること
変数の扱いとか、if 論理構造,ループ,関数など基本的な制御を理解することが基本です。
javascriptが様々な意味で一番簡単です。
実行のための開発環境なんて用意する必要もないですし、
直ちにブラウザで結果を確認出来ます
いきなりプログラム全部を理解する必要はないですね。
初心者に何をどのように教えたらいいでしょうか?
「プログラミング言語は特に指定しません」といっても、教えるのは手続き型(関数型)言語になると思います。
その基本要素である「変数」「型」「制御文」から教えるのがよいと思います。
参考:プログラムの基本要素である変数,型,制御構文をマスターしよう
また初心者はどのようなことを求めていて、何が知りたいでしょうか?
初心者といっても、プログラミングの動機付けは千差万別です。
簡単にできるプログラムの目的を絞るしかないと思います。
今どきは、Webプログラミングに関心を持っている初心者が多いでしょう。
まずは「変数」「型」「制御文」からですね。
書かれてる手順通りに操作すれば、書かれてる通りの結果が出る事ですね。
細かい理屈は置いといて、とりあえず動かない事には先に進めません。
興味や素質があっても、入り口でつまずいて転んで諦める人がそれなりに居ると思います。
とにかく動くことを最優先すべきですね。
ゲーム作成希望者は多いかもしれませんが、既に多くのツールがwebにあります。書籍や市販ツールもあります。
希望者が何かないだろうかと探せば、すぐに見つかるし、Q&Aでも回答がつきます。
http://oshiete.goo.ne.jp/qa/1023934.html
新たに、ゲームプログラミングの入門書を作成しても、利用者を増やすのは難しいでしょう。
理系で計算をしたい人は、MATLABやScilabで必要な結果をえるようなことが多い気がします。
MSのマクロVBAを使いたい人の数は多いけれど、本もwebもQ&Aも多いので、VBAプログラミングの入門書を作成しても、利用者を増やすのは難しいでしょう。
C、JAVA、コボルなどを覚えないと仕事にならない人は、既に入門段階を過ぎているか、これから入門するにしても、いくらでも参考書があります。
既にあるプログラミング手法の入門書をこれから作成しても利用者は少ないと考えた場合、特殊なニッチの操作に関して手引きや案内ならば、少しは可能性があるのかな、という気がします。
本格的なプログラミングをするための入門(その後も続く) ものではなくて
ちょっとした操作ができればそれで終了(その後はない。類例処理はあるかもしれない) ものです。
(小技集+IDEの使い方+実際の応用場面集)のイメージのものは、[入門書]ではなくても需要があるかもしれません。
根拠:(年賀状作成ソフト+住所録管理ソフト)はよく売れている
(写真加工、レタッチ)のソフト需要がある
3Dアニメ編集加工、Flash 作成も、ムービー編集も沢山あるようなので、別のことを考えてはどうでしょうか。
Windosの小技、htmlの小技、エクセルの小技、ワードの小技は既に出てますね。
Yahooでプログラミングの質問の傾向を見るとか
http://list.chiebukuro.yahoo.co.jp/dir/list/d2078297622/new
教えて!gooで ソフト関係の質問の傾向を見るとか
http://oshiete.goo.ne.jp/category/218/
なにか、『これっ!』て感じのは出てきませんか?
ブログを作成している人のための【何か】とかはないものでしょうか。
何かからデータを変換して、何かに使い回したいという人も多いようですが。
そう言うことをするための簡単なツールを作って、それをIDEで使用者がちょこっと直して、実際場面で使えるまでの、実例見本つき説明はどうでしょうか。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PRですが、次の様なサイトがありました。
http://school.topposystem.co.jp/Support/Man-to-man.htm?GB&gclid=...
私の経験では、ソースコードが説明付で掲載されたものをみても、どうするのかわからないことが多いものです。IDEの使い方でも、環境の整え方でも同じです。さらにできあがったプログラムを、どうすれば、目的のことに使って期待成果を得るのかが、さっぱりわからない/もろに止まってしまうことも多かったです。
誰かが、そばにいて教えて欲しい!という気が強くしました。
(そういう状況のため、今もって、ソフトの開発や利用ができません)
本を出すのであれば、著者との質疑応答のサイトを開設して、質問も回答も画像付き、コード記入、コードコピーも可能なような形で、誰でも見れるようにして下さると良いと思います。(web管理は大変でしょうが、、、)
【はてな】の回答欄は色々できますが、質問欄やコメント欄は制約が多くて、、、
できれば、はてなの回答欄のような機能を備えた[著者とのQ&A]兼[読者・利用者相互の支援]サイトがついていると、本だけよりは良いと思います。
~~~~~~~~~~~~~~~~~~~~~~~~
全然別ですが、IDEの環境でやっているときに、画面だけでなくて、印刷して確認したい、比較したいことがあるように思います。選択対象部分だけを(うまく並べて)印刷できると良いなと思ったことが私はあります。
既に入門書はたくさん出てるので、ニッチな分野も考慮します。
プログラミングはやっとこさVBAが扱える程度のSEもどきなんですが、ちょっとだけ回答します。
プログラミングの学習を始めたばかりではどのような関数が存在するかすらわかりません。
そのため、逆引きのような形で、○○したいといった探し方をしています。
その際に、動くサンプルつきだととってもわかりやすいです。
理解しにくいと思うのはアルゴリズム。
これがあるからこれができるといった当たり前の部分が理解するまで大変でした。
全体のフローがイメージできる状態になるまでがチンプンカンプンです。
自分は仕事柄自然と身に付いた部分もあり、この辺はOKだけど、関数がわからない状態です。
物事を順序よく考えられない人間も結構います。
最終的に目的に行き着くまでにどのような機能が必要か。それを把握できることが第一歩でしょう。
ちょっと抽象的で申し訳ありませんが。
家(成果物)はイメージできるけど、その設計ができない。
設計図はできたが、どんな道具(関数)があるのかわからない。
道具は見つかったが道具の使い方がわからない。
完成までに通る道は上記のようなかんじですが、よくない参考書では前半に出てくるサンプルでこの辺が抜けているものもあります。
いきなり難しくなって「え?」って読み返したり、してました。
豪華な開発環境だと、そもそもツールの操作から覚えないといけません。
この辺は選ぶ環境で変わるんでしょうね。
なんか曖昧で申し訳ありませんがこんな感じです。
わかりやすい本がふえるとうれしいんでがんばってください。
どのような関数が存在するかも教えた方がいいですね。
実践的サンプルを改造させるといいですね。