So-net無料ブログ作成
検索選択

大学で初めてのプログラミング教育とPython と PyQ [家族]

http://nakagami.blog.so-net.ne.jp/2017-04-18 の続き

息子が大学1年でプログラミングの実習がありそうだぞ、ということになって
Python Workshop the Edge 2007 のいうイベントのことを思い出していた。
もう、そんな記録残ってないよな、と思っていたが、自分のおぼえがきがあった。偉いぞ、自分。
http://nakagami.blog.so-net.ne.jp/2007-07-01-1
んで、そこからたどれる↓が、メインセミナーの様子がわかりやすい
http://d.hatena.ne.jp/SumiTomohiko/20070630/1183226206
僕が思い出していたのは、この中の、
「教育現場におけるPythonの利用」
のお話。

内容をおおざっぱに要約すると
- 学生のモチベーションと能力が低くてプログラムが作れるようにならない
- 添削する教員の労力が大きい
- Python はインデントがずれていると動かないので、提出されたものはインデントはあっていて添削が楽
というような話だった。
あの頃より Python は実用的なプログラミング言語になっていると思う。
また、プログラミングの重要性も、あの頃よりは理解されるようになったんではなかろうか。
(小学生のプログラミング教室がブームになるくらいなんだから)
いまは、学生の意欲の面は変わっているのかな?スマートフォンが普及してパソコン使えない子が増えてるらしいけど入学時に、ある程度のタイピングはできるのかな?
ああいうのと PyQ を組み合わせるといいんじゃないかな、と今の世の中の状況とくらべて、いろいろ思いを巡らせている。

あの時、菊池先生が
「情報の教員免許のためのプログラミング教育が、教員には、いかに大変で虚しい仕事か」
ということをとうとうと語っていたのが、今の自分にグサグサくる。

息子の大学一年のプログラミング演習も、そんなんなんだろうなぁ。
まだ、実際のプログラミングは始まってないそうだが、一回目の講義で、先生が言うには
「毎年、クラスに一人か二人くらいはプログラミングができる子がいる」
そうな。つまり、残りの 100人はできない、、、と。

先生(教授)は、研究者であって、初心者に Java を教えるのが仕事ではない・・・いや、仕事ではあるんだが、教授がそんなことしてていいんだろうか?僕にもおぼえがあるが、実習を手伝ってくれる修士の学生にも申し訳ない。
息子が PyQ で、少しでも先生や先輩に迷惑かけないで、できることなら周りの子のことを助けてあげられるといいな、と思う今日この頃。
コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

MicroPython を ubuntu 16.04で動かす [日記]

基本的にはこれを見る
https://github.com/micropython/micropython/wiki/Getting-Started#debian-ubuntu-mint-and-variants

Ubuntu 16.04 にインストールしようとしたら、微妙に追加でインストールしないといけないものがあった。具体的には pkg-config と python
必要なのは、 python2 じゃなくて python という名前で実行できる python みたい。
$ sudo apt install build-essential libreadline-dev libffi-dev git pkg-config python
$ git clone --recurse-submodules https://github.com/micropython/micropython.git
$ cd micropython/unix
$ make axtls
$ make
$ ./micropython


コンパイルして動くようにはなったけど、ぶっちゃけ Ubuntu だと python3 がインストールされているし、わざわざ micropython を動かすと嬉しい状況がない。なんか、いい使いどころないかな

(2017-04-23 追記)

minimal の下で make しようとしたらコンパイルエラーになった

$ sudo apt install libc6-dev-i386

が必要みたい。それをインストールしたら minimal/build/firmware.elf に動くバイナリができた。
できたけど、i386 バイナリみたい。まじかー

コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

謎の自信と謎の謙虚さ [日記]

プログラマーで 30歳を超えたくらいから、
「俺くらいのキャリアがあったら何でも知ってるから・・・」
みたいなのを滲ませてくる人がいる。
〇〇を以前使った経験で・・・じゃなくて、やたら聞きかじりの伝聞調の話をしつつ、
「俺ぐらいのキャリア」
を滲ませる。
そういう人は、謎の自信で「できました」→「ここができてません」→「できました」→「不具合です」→「直しました」を繰り返して、全然終わらないのに、なぜか自分ではできてることになっているようだ。
というか、いくら僕が若作りだからって、あなたより10歳は年上に見えるでしょ?
なんで僕の前で、経験年数の話するの?経験年数なら負けないよ。あなたが中学生のころには僕働いてたんですけど・・・って言わないけど思ってた。
20代のころから今まで、そんな人はよくいて、幸か不幸か最近はそういう人もほとんどが僕より若いので、あまりあからさまに経験年数自慢をされなくなった。

一方で、若くて高学歴でめちゃめちゃ優秀な人が謙虚すぎてビビることがある。
高校では数学クラブで大学はコーネルの天才が
(日本のゲームが好きで日本の大学院に来て、そのまま日本のゲームメーカーに安月給で就職して日本語もよくできる人が同僚だったことがあって)
気が付いたら Flash の画像を動的に差し替えるプログラム書いてて、それがすごくうまくできていて
「さすが、すごいじゃーん」
って言ったら、謙遜してて、でもあんまり謙遜すると嫌味になると思っているらしく軽く言葉を濁してた。
僕が会社を辞める時だったかにも
「nakagami さんに色々教えてもらって・・・」
と言われ
(いやいや、そんなわけないやろ)
と思った記憶がある。
日本で知り合う外国人は、日本が好きな人たちだからなのか、みんな謙虚で、
(グローバルでもそれでいいんだ。自分もそうありたいな。)と思う
コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

PyQ で教える側の都合 [家族]

http://nakagami.blog.so-net.ne.jp/2017-04-15 の続き

教養として、もしくはこれから学ぶための下準備のためにプログラミングを教えたい、という側(僕)からすると、始めるにあたって今は教えたくない雑多な作業がたくさんある。

- Python のインストール
- コマンドラインプロンプトや、エクスプローラーからのパソコンの(ファイルの)操作
- エディタの選択と使い方

Python のインストールだけでも、Mac か Windows か、公式インストーラーか anaconda か OS にビルトインされているものかで微妙に異なる。
「それは Mac に元々インストールされてた 2.7 で、今回インストールした 3.6はー」
なんて、今、教えたいことではない。
エディターは、自分自身は過去の経緯で vim を使っているが、それを最初に教えるのは、僕がめんどくさい。
いま時だと Atom ? VSCode ? プログラミング演習で Java を使うなら Eclipse を使うんだろうけど、僕わかんないし・・・大学でプログラミングを学ぶので emacs 使うんだろうか?エディタの選択や使い方も、僕が今教えたいことではない。

また、プログラミングといえばプログラミングなんだけど、つまらないインデントのずれや typo で、お互いの時間を浪費したくない。
行き詰ったら聞いてくれればいいんだけど、PyQ を使うと、Syntax エラーやインデントのエラーは問題と解いている人間が、自分ですぐ確認できるので、予想以上に教える側の負担が減っている。

最初にプログラミングを教えたいとなったときに、なかなかスタートに立てない、もしくは、1を教えるために10を教えないといけなくなっちゃう。我ながら、改めて考えると、よくこんな(日常生活に関係ない)いろんなことを知ってるよなって感心する。
僕は、コンピューターのことは(Excelの操作みたいなごく基本的なことも含めて)学校で勉強したことはないので、中学から大学の間に暇だったんだろうなぁ。

そんなこんなで、PyQ では(雑事を省略して)プログラミングについての質問に答えられるのが非常に良い。

昨日は

if a == 'A' and b not in b_list:

という条件文の「かつ b が b_list に含まれてない場合」の 'and not in XXX' と続ける条件式の書き方について質問されて、(無事答えられてホッとしつつ)
「ド・モルガンの定理で

if not (a != 'A' or b in b_list):

とも書けるよね。」
という話をした。
これが、以前なら一字一句 typo がないことを確認する作業で精一杯(下手すると自分が書いているコードの意味を理解する余裕もない)ということになってしまいそう。

うーん、それにしても、大分理解しているつもりだったが、 if 文のちょっと組み合わせのある条件式で行き詰るとは、まだまだ先が長いな、息子よ。
コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

息子の PyQ 体験記 [家族]

数学好きで数学科に行きたいのかと思っていた息子が、どちらかというと応用数学科に行きたいと言っていて、
好きなことを勉強するのは大変良いことだけど、プログラミング大丈夫なの?と思った。
http://nakagami.blog.so-net.ne.jp/2017-02-27-1

最後の大学入試が終わった日、確か 2/16 だったと思うけれども
「どうも、大学では1年から Java のプログラミング演習があるみたい。
ちょうど、会社で PyQ という Python のプログラミングの勉強ができるサービスのβテストをやっているんだけど、春休みは暇だしやらないかい?
プログラミングがどんなものか知るのに良いと思う。やる気があるなら、会社の人に頼んでみるけど」
と聞くと、やってみるという。社内でお願いしてみると、すぐにアカウントを発行してくれたので大学入試の翌日から、息子の PyQ が始まった。

僕としては、プログラミングが嫌いにはなって欲しくないし、PyQ が、プログラミングを知らない高校〜大学生が自力で進められるのかどうか知りたかったので、質問されたら答えるけれども、できるだけ口を挟んだりしないようにしていた。
結局、春休みのあいだ、毎日2〜3時間づつやっていたと思う。
まあ飽きたら飽きたで途中でやめてもいいし、と思っていたがなぜか、ここ2ヶ月土日も含めて(少しづつでも)毎日やってた。なんでそんなに頑張ってるの?
10日もするとかみさんも「毎日毎日よく続くわねー」といっていた。
息子的には、
「物理(学)よりは好きみたい」
とのこと。誤解のないように書いておくと、息子は数学は特別好きで、他の科目では数学に近い物理は好き。
数学 > PyQ > 物理 > 化学 >>> 生物 >>>>>>> 国語、社会
プログラミングに馴染めるかどうかは、事前にはわからないので(おそらく応用数学科の中の子でもプログラミングがめっちゃ苦手な子はいるはず)
苦手意識がないらしいことがわかって親としてホッとしている。

問題についてもっと聞かれるかと思ったが、実際には、最初に何回か、 typo とか、インデント間違いとか
全角スペースとかで(我々が見たら数秒でわかることを)聞かれただけで、問題の内容については聞かれなかった。
やっぱり、最初の typo は難関だけれども、書いて動かせる環境で問題を解くということと、あの問題はなかなかよくできていると思った。

2ヶ月の間に、「Python 中級」までできればいいなぁと思っていた。
https://pyq.jp/quests/
いま、その中級までが、だいたい終わっていて、やり残しの演習問題をやっている。
ちなみに、 「osモジュール」と「クラスの基本」は、まだ難しかったみたいで、途中で止まっている。
os モジュールはファイルシステムという概念を理解しないといけないけれども、それはプログラミングとは別問題なので、今はできなくてもよいと思う。
クラスも、使えればよくて、今は作れる必要はないので、トータルでは応用数学徒として学ぶための十分な理解が得られたと思う。
それぞれの問題の想定時間よりはだいぶ長く時間がかかっているが(2倍くらい?)、自分なりにいろいろ考えながらやっているようで、途中の値を見るために、print 関数を使って表示したり、変数に違う値を入れて結果を print してみたりしていて、
「おおー、我が息子ながら、こいつなかなか頭いいなぁ」
と思った次第。

最初のプログラミング演習は Java だけれども、いつかは Python を使うと思う。
プログラミング入門のためだけのプログラミング言語を学ばせるのは忍びないので、PyQ が Python で良かった。
息子が近い将来 (3年後くらい?)Python を使うようになったとき PyQ をやっておいてよかったと思うだろう。

というわけで、 PyQ http://pyq.jp/ をよろしくお願いします
コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

クラスの LINE のグループ [日記]

3月初めに LINE デビューした娘
http://nakagami.blog.so-net.ne.jp/2017-03-11

高校の入学3日目にして
「クラスの女子で、クラスの女子の LINEグループに入ってない子1人いるよね」
と言われて、クラスの女子のグループがあることと、その一人が自分だと気づいたそうな。
入学してからの2日で猛烈に広まった・・・というだけでなく、入学式前から自分が何組かはわかっていたので、高校とクラスを表明している人を検索して友達申請してグループに招待してたらしい。
・・・って、マジで!危険じゃん!
まあ、あとほかの中学の子で同じクラスの子になったことかもいたんだろうが、娘には高校のクラスの LINEグループを作って入ろうという発想が(まだ)あまりなかったのが、後塵を拝した最大の理由らしい。
その後、クラスの子に招待してもらって、娘のクラスの女子のLINEグループは入学3日目にして参加率 100%になった。

ちなみに、息子は、高校三年生の卒業間近になって
「うちのクラスにクラス LINE入ってない奴が2人いるんだぜ(誰かはわからないけど、人数が合わない)」
と言われて、その時その場にいた友達の一人と息子は、クラスの LINEグループがあるのを知った。
まぁ、知らないでそこまで来たんで、重要な内容のやりとりはないんだろう
コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

社長の孤独 [日記]

新卒で会社員になった直後ぐらいまで、会社の社長が友達が一番多いと思っていた。
友達というのは語弊があるけれども、「仲のいい知り合い」とか「縁のある人」くらいの意味ではやっぱり会社では一番に仲のいい知り合いが多くてうらやましいと思った。
会社で付き合いのあるひとはもちろんだけれども、社長はその会社 100人くらいの従業員とは顔見知りなはずで、一方で僕は自分の同期と配属先の先輩くらいしか知らないんだから。
その頃までは採用の最終面接は社長がやっていたので、社員全員、社長だけは何らかの会話を交わしたことがあったはずだった。

入社してしばらくたつと、その考えはまったく間違っていたということに気づいた。

社長は会社のあらゆることの決定をしないといけないけれども、そのとき他人に相談はできない。
平社員は課長に不満を持ち、中間管理職は結託して社長に文句を言うこともあるだろうが、社長は一緒に文句を言う仲間がいない。
昇給が少ないのも休めないのも社長が悪く、社長は世の中の景気や働かない一部の社員のせいにはできない。
あとで考えると、社内の特定の人と仲良くするようなこともしていなかったと思う。
僕が考えても、自分以外の特定の人と仲良くて、仲良いことが理由で引き揚げられたりしたらやる気をなくす

総務部に用事があって社長室の脇を通ると、だいたいはドアが開けてあって、僕が通過するのを見かけると
「nakagami 君、最近どうだね?」
と声を掛けて、招き入れて世間話をするような人だったが、転職して辞めていく人の送別会に出たのを見たことはなかった。
あれは、社長のポリシーだったんだろう。
僕が辞めるとき、
「とにかく同じ会社にずっと居続けるのは転職できなくなってやばい」
という一心でやめたが、社長と喧嘩したつもりはなかった。でもやっぱり社長は送別会には来なかった。

少し驚いたのは、僕が在職中に創業時から一緒にやってきた(らしい)専務が辞めたことだった。
二人三脚でやってきたように見えたし、社長派、専務派っていうのなかったと思う。少なくとも仕事上は仲良くなっているように思えたが辞めた。
僕は、社長や会社に対する不満というよりは、いつまでも No 2. でもつまんないなー、とか、大きくなりすぎた会社よりももっと小さいところで気楽にやりたいことをやりたいなー、とかそんな理由なんじゃないかと思った。
僕は専務の送別会にも出たと思うが、社長がいた記憶がない。専務の送別会でも出ないんだーと思ったような気がする。
(あとで2人でこっそりやったのかもしれないけど)

その会社を辞めてから、いくつかの会社の社長を見ているが、続いている会社の社長って孤独だな、と思っている。


コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

今度は DB2 Express-C を Windows 10 にインストールしてみる [RDBMS]

この時 Ubuntu 16.04 に DB2 Express-C 11.1 をインストールしてみた
http://nakagami.blog.so-net.ne.jp/2016-07-21
残念ながら、その Ubuntu16.04 のイメージを無くしてしまって
代わりに Windows 10 を入手したので、今度は Windows10にインストールしてみることにした。

ここらへんの「free download」から v11.1_win64_expc.zip をダウンロード
https://www.ibm.com/analytics/us/en/technology/db2/db2-trials.html
unzip して setup.exe を実行して「製品のインストール」から「新規インストール」でインストールを開始。
ユーザーを登録するところでデフォルトで入っているユーザー db2admin のパスワードを入れたが、それ以外はデフォルトのチェックボックスの状態のままインストールした。
これで

- ユーザー db2admin
- パスワード→入力したもの
- DB2インスタンス→DB2
- ポート → 50000

となって、サービスは自動で起動される。
Ubuntu 16.04 のときのほうがいろいろ手動で作業しなくちゃいけなくて、それに比べて Wizard 形式で簡単にインストールできたように思う。
ただ、Ubuntu のときに手動でやったのと同じように db2admin が Windows のローカルユーザーとして
登録されていて、実際に Wizard で登録したユーザー、パスワードでサインインできてしまう。
こういうの雑だなぁって思う。

(おまけ)DB2 コマンドでほかのサーバー、ポート、データーベースに接続する設定
- 別サーバーや別ポートに接続する場合→その別サーバーのホスト、ポート、データベース名をノードとして登録
- そのリモートデーターベースのノードの情報をカタログする
- そのカタログを指定して接続
というようになっているらしい
http://db2.jugem.cc/?eid=111
ほかのデーターベースと比べるといろいろと様子が違うなぁ

(追記)古いけど、これが参考になる
https://www.ibm.com/developerworks/jp/offers/db2express-c/installwin_v95/

ノードを設定して別サーバーに接続する
http://qiita.com/hit/items/55e696a844a0c17fd30d
コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

SQLServer 2016 にSQLServer認証で接続 [RDBMS]

久しぶりに SQL Server (今回は 2016)とSQL Server Management Studio を
インストールしたが、やっぱり(自分が今回目標にしていた) SQLServer 認証で接続できない。ググって試行錯誤したらなんとかなったが、いつも、なんだかんだで苦労してできるようになるのでメモっておく

(SQLServer Management Studio から)
- サーバーのプロパティーのサーバー認証モードを「Windows 認証モード」→ 「SQL Server 認証モードと Windows 認証モード」に変更
- 外部からの接続を受け付ける
- sa のログインを有効化(sa じゃなくていいので SQLServer認証のログイン追加でもよし)

(SQL Server 構成マネージャから)
- TCP/IP プロトコルの有効化
- TCP Dynamic port をやめて 固定IP 1433 に設定

と思ったらここ↓ に一通り書いてるひとがいた。
https://creativeweb.jp/fc/remote/

歴史的経緯により、Windows 統合認証がデフォルトで TCP/IP 接続であっても Dynamic にポートを割り当てるのがデフォルトになっているのがはまる理由なんだよなぁ・・・
いまだと、Azure SQL もあるから、SQLServer認証で固定ポートも普通になっているというのに。
コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感