プログラミング入門ネタ

MOONGIFT オープンソース - Scratch - プログラム学習用。猫を動かしてみよう

コードを書かずにプログラミングを学ぶ (Nizah blog)で紹介した Aliceに続いてこれもメモ。

コードを書く前にやる事があるだろう。

って話をこないだ書いたんだけど アルゴリズムの学習でもまぁ、色々と問題はあるんだよね

アルゴリズムってのは、幾つかの処理の組み合わせなわけで 分割していくと、そのうち atom に当たるわなぁ

例えば ・Aであるか、あるいはないかの条件判断 ・要素数の回数だけ繰り返す みたいな(ifとforだ) あるいはもっと単純な「変数に値を代入する」とか

こういうのは「そういうものだ」として身に付けなきゃいけないのかもしれないけれど # 算数で言う所の九九みたいな

そういう、atom な要素と、 molecule なアルゴリズムは同じ扱いじゃ良くないよね "Hello world" みたいなのを除外して、アルゴリズムっぽい事を考えると 大体、配列のイテレートくらいから、引っかかる子が増え始める。

「配列をforでぶん回して1個ずつprintする」

これを atom と考えるか、molecule と考えるかは人によって意見が分かれるかもしれない。 # idiom といえば皆賛成するだろうけど

単純なイテレートは微妙なので置いといて ・平均値を求める ・最大値を求める

このくらいの例にすると、これは基本ではあるけれど "要素を組み合わせて構築した" アルゴリズムといって文句無いだろう。

で、だ。

こういう基本のアルゴリズムをどう扱うべきかと言うお話。

教科書通りのコードを写して「わぁ動いたぁ」ってのが多いと思うんだけど 自分で考える事も大事だと思うんだなぁ

成長期のコード書きに必要なのは「問題を解決する方法を沢山知ってる」事じゃなく「未知の問題に遭遇したときに、それを解決出来る」事なのだ

いや、一人前になった後は経験やら知識が増えるのは仕事を楽にする為に役に立つから良いんだけど

一人前になるまでは、知識は必ずプラスに働くわけではないと思うんだな むしろ、マイナス。自分で考える機会の損失だと俺は思う。

商売柄、色んな子を見るわけですが プログラミングとかした事ない普通の子、ちょっとプログラミングできる子、かなり出来る子 と居たとして、かなり出来る奴ってのは放っておいても尖がってくからどうでも良いんだけど ちょっと出来る子って、意外と伸びない。 経験のない子の方が伸びたりする(まぁ、数が多いから中にはそういうのも居るってだけ)

で、ちょっと出来る子とかなり出来る子の差は何かというと 実際に何かが出来る、何かを知ってるっていう「量」の違いじゃなくて 「知ってる事が出来る」「知らない事も出来る(やる)」っていう「質」の違いなんだよね で、その質ってのはポテンシャルも大きいんだけど、姿勢に拠る所が大きい

なんか、書いてたら面倒になってきたな……

あれですわ「習ってないので出来ません」とか寝ぼけた事を言う奴がたまに居るんすわ 「じゃあ一生ボンクラやってろ」って言えりゃ楽なんだけど、そんな事を言うと怒られるので、言わない。 「習ったから出来る」っていう間違った考えが身に付かない様な展開にすりゃいいんじゃないかって話

問題ってのは既知のものじゃなく、未知の物であると。 習うのは「問題の解き方」じゃなくて「問題の解き方の考え方」であると

コードの書き方は、コードの書き方として、それはそれ。 問題の解き方は、問題の解き方として、これはこれ。

別のものとして考えなきゃいけないんじゃないかなぁ的な話。

関連して、なんかネタ振ったときに「出来ません」って返って来るのが一番イヤだね。 んな事ぁ分かってる、出来ねぇからやるんだよ。

しかし、テキストはまだ白紙なのでした