本6 コーディングを支える技術

 

これは本 Advent Calendar 2016 - Adventar6日目の記事です

6日目はコーディングを支える技術です。 プログラミング言語の主要な文法についてその文法がなぜ作られてきたのかについて書いてある本です。 特定の言語に依存した本ではないですが、 Pythonの講師でifやfor、関数などの文法の説明の参考にしようと読みました。

プログラミング言語は楽をするためにつくられたもの。ただし何を楽にしたかったのかは言語によって異なる。

ifやforの文法についてifやforのないアセンブリでの実装とCを比べたりしているので非常にわかりやすいです。

アセンブリを知らない人でもCのgotoを使った繰り返しの実装とforによる実装を比較して説明していたりするので わかりやすいです。

Pythonで教えるときはどうしようか。

関数の役割として理解と再利用を上げていたのは理解しやすいと思い、今度使います。

以前遭遇した問題

外のスコープの変数を再束縛できないという問題がPythonにはありました。変数宣言が必要のない言語だったため

こうなります。

x = 10

def f():
    x = 5 # 新しい変数をつくってしまう
    return

これはnonlocalという宣言を行うことで解決できるようになりました

x = 10
def f():
    nonlocal x
    x = 5
    return
 ```

---
プログラミングを経験したことのない人にプログラムがどのように動くのかとかをしっかりと伝えるのか、
それとも例えをふんだんに用いて教えるのか。これから考えていきたいです。
みなさんならどう教えますか?

借りて読んだのですが、今度買います。

本5 鍋の社会学

これは本 Advent Calendar 2016 - Adventar5日目の記事です

今回の本はナン・リン著『ソーシャル・キャピタル―社会構造と行為の理論』です。

先程、友達の家に行って友達の家に居候している友達に鍋を振る舞ってもらいました。 ちょうど友達の家に居候している(鍋を振る舞った友達とは別の)友達の地元の友達の誕生日のだったらしく、 バースデーケーキでお祝いをしました。

仲間と鍋を囲む。時には知らない人と。辺りが暗ければ、最後まで顔を知ることもなく同じ鍋の飯を食べることもある。 ぽかぽかの鍋を囲めば、目の前にいる人間が誰であろうとみんな幸せになれる。

顔が分からない相手なら何の先入観もなしに話ができる。あらかじめわかっているのは少なくとも自分の敵ではないことだけ

一人では鍋は出来ない。 一人じゃ囲めないからだ。 人と関わらなければ鍋は食べられない。 鍋をいつ食べても美味しいとは必ず一緒に食べる人がいるからだ。

鍋を食べることは人と関わること。

鍋ものはもののけ姫にもみられるように日本古来の文化。もっと鍋をしよう

最後には白飯を持っていき雑炊にして美味しくいただきました。

本4 入門Python 3

 

これは本 Advent Calendar 2016 - Adventar4日目の記事です

3日目で断念かと思いましたが、なんとかブログを書くことができ4日目に突入です。いつまで続くのやら

本日もオライリーです。入門Python 3、今Pythonの講師をしていて、自分の知識の補完と何を教えるか参考にするために買って、時々参照しています。

この本を読んで得られた知見を幾つか紹介します。

リストとタプルは別物

リストを関数の引数に渡して不幸なことにならないように気をつけよう。タプルなら副作用は起きづらい

クラスを多用しすぎるなら名前付きタプルや辞書を使った方がいい

問題はその問題にとって最も単純な方法で解決するべきです。 クラスやモジュールを利用するのに比べれば組み込みデータ型は単純です。 ひとつしかインスタンス作らないのにクラスを利用するのは辞めた方がいい

正規表現を学べ

BREとEREはこれまでも使えるし100年後でも使える

内包表記は高速

知りませんでした。今度時間を測ってみます

まともなプログラマになろうと思うならテストとデバッグを学ぶように

Pythonで意図した型とは別の型を引数にとったりすることがないように気をつけよう


Pythonの入門書として読むには分量が多くそこまで書くか?という詳細な記述が多いです。私はリファレンスみたいな感じで読んでいます。本当はもっと詳細なリファレンスがあると良いのですが...。私はPython文法詳解とこの本の2冊を持っているので、この2冊を参照してPythonを使っています。次のPython本は普通のPython本にするか機械学習よりの本にするか迷っています。

本3 実践デバッグ技法

 

これは本 Advent Calendar 2016 - Adventar3日目の記事です

昨日は寝てしまってかけなかったので23時に書き始めました。3日目はオライリーの実践デバック技法です。

プログラミングを始めたころはずっとprintfデバッグばかりやっていました。 JOIの本選か春合宿でCTFと競プロのプロであるポテチ先生にGDBの使い方を教えてもらいました。 それ以来、デバッガを使ったデバッグをするようになりました。

この本にはデバッグは「正しいと信じている」ことを「正しい」と検証にすることであると教えられました。 printfデバッグでもデバッガを使ったデバッグでもそのことを頭の片隅に置いてデバッグをするようになりました。 ちなみにprintfデバッグばかり使っています。たまにXCodeなどのIDEを使うのですがその時は付属のデバッガを使います。 GDBはtuiしか使ったことがないです。 デバッグがちゃんとできるように精進します。

本2 図表でみる教育 OECDインディケータ(2016年版)

 

これは本 Advent Calendar 2016 - Adventar2日目の記事です

図表でみる教育を読みました。500ページを越える大著です。ほぼ図表です。教育機会や教育成果の国際比較を行い、政策に反映させるための資料で、政策決定者や教育関係の人向けです。

この本は教育における重要な要素を測定することを目的として刊行されています。「すべての人々に包摂的かつ公平で質の高い教育を提供し、生涯学習の機会を促進する」ことを目指した「持続可能な開発目標(Sustainable Development Goals, SDGs)」の目標4を達成するために有益な指標が多く提供されています。

インディケータは大きく4つに分類することができます。

  • A:教育機関の成果と教育・学習の効果
  • B:教育への支出と人的資源
  • C:教育機会・在学・進学の状況
  • D:学習環境と学校組織

このうち、BとDを中心に読みました。図表を引っ張ってきたかったのですが、見つからなかったので勘弁してください。

教育からの収益:教育投資への誘因

OECD加盟国の平均の女性が高等教育を修了する場合の私的正味収益(学歴レベルが上がることによる家計の総利益と総費用の差)は、同等の学歴の男性の3分の2程度。日本は最も差が大きく、男性は女性の7倍にも及ぶ。税制や労働環境の問題で高等教育を修了したにも関わらず、フルタイムで働かない、または早期に退職するケースが多いことが影響しているようです。

私的な収益と公的な収益でそれぞれ収益率を計算していて男女ともに私的はOECD各国平均の収益率を下回っているものの公的な収益ではOECD各国の平均を大きく上回っている。公的費用の投資効率が高いように考えられる。しかし、これは罠で後で取り上げる指標からも分かるように日本の高等教育における公的支出の割合が低いだけです。高等教育の修了者は私的費用を公的利益のために投じている状況になっています。

国内総生産(GDP)に対する教育支出の割合

日本の初等中等高等教育機関に対する支出の対GDP比は4.5%でOECD平均の5.2%を下回っています。公的支出の割合は4分の3です。しかし、これも罠で初等中等教育機関高等教育機関を分けて考えないとまずいです。高等教育機関に対する支出の対GDP比は1.6%とOECD平均とほぼ等しいですが、私的支出が過半を占めます。初等中等教育機関に対する支出の対GDP比は2.9%とOECD平均の3.7%を大きく下回ります。こちらは私的支出が少なくなっています。

高等教育機関における私的支出が多いのは高い研究レベルの国家の傾向としてみられるものなのでそこまで心配することはないと思います。 しかし、世界トップクラスの教育水準を標榜する我が国がOECD平均に満たない支出というのはいささかどうなのでしょうか? まずは初等中等教育機関にもう少しお金を出してやってもいい気がします。

初等・中等教育学校の生徒の標準授業時間数

標準授業時間数についても初等・中等教育それぞれの教科別授業時間についても特筆すべきことはありません。にも関わらず日本の国語教育は非常にオワコンと言われています。授業時間は足りている。海外に比べて文学作品に偏重しているわけでもない。が、文章の書き方を学ぶことができない。一説には日本の社会人はアメリカの小学生以下の言語技術だそうです(つくばの言語技術研究所の三森さんが言っていました)。

漢字を覚えるのに授業を多くを割いているのが原因の一つではないでしょうか?家でもできることをわざわざ学校で行う弊害でしょうか。

学級規模と教員一人あたり生徒数

日本の初等中等教育機関の学級規模はOECD平均である20人前半の1.5倍程度です。しかし、教員一人当たり生徒数はOECD平均を少し下回る程度で大きく変わりません。むしろ、設備などの問題で学級規模を縮小出来ない可能性もあります。

教員の給与

教員の給与はどこの国でも少ないです。ルクセンブルクギリシャイスラエルなどを除けば。日本はほかの国に比べて勤続年数と給与の相関が強く、勤続年数の多い教員を多く抱えることは支出を大きく増やすことに繋がります。Teach for JapanのようなNPOは2年間の任期の講師を公立学校に派遣する事業を行っています。このように教員としてのキャリアを進まない人を活用することで教育水準を向上させつつ、支出を抑えることもできるのではないでしょうか。どの国においても教員の高齢化は問題視されています。


いくつか興味を持った指標について取り上げてきました。こうゆう統計を読んだりするのも楽しいですね。このOECDの図表でみる教育は是非教育関係者各位は読み込んでほしいと思います。SFCにたくさんいますよね?教育系の人々は

本1 性の短さについて

 

これは本 Advent Calendar 2016 - Adventar1日目の記事です

優秀なICPCのチームメイトのうちの1人の本 Advent Calendar 2016 - Adventarにインスパイアされてはじめました。

複雑な論証や小難しいことを好むギリシャソフィストとは違って簡潔で力強い文章を書くセネカ『生の短さについて』を読みました。 セネカについて少し説明しておくとかの有名なネロの家庭教師です。 そして、この『生の短さについて』は義父とされているパウリーヌスに宛てて書いたものと言われています。

世間でよく言われる人生の短いという主張を反駁する文です。 後半部分ではこの世で生きていると言えるのは哲学をするものだけであるという暴論を展開します。 その部分はまったく面白みがないのですが、人生は短いと嘆く人々に対する煽り方が半端なく胸にくる本でした。

われわれの享ける生が短いのではなく、われわれ自身が生を短くするのだ

見に覚えがありすぎて、家に監視カメラでもついているのかと疑いました。 朝目が覚めてベットから出ない時間だったり、二度寝した時間。 ブラウザゲームで潰した時間。Twitter...いやTwitterは情報収集、情報収集。

彼は無残にも死ぬ間際の老人に、あなたのその生涯のどれだけが他人に奪われたのか。病に奪われたのか。無駄に過ごした時間はどれだけある。 しっかりとした計画を持ち行動するようになったのはいつか。意図したとおりに進んだ日どれだけか。と聞くそうです。

今、僕がこんなこと問い詰められても発狂しそうだ。100歳を迎える老人からしてみれば、高層ビルの屋上から飛び降りるレベルの事案だろう。

たぶん君たちが千年生きたとしても、人生は短いといって酒と性のためだけに時間を浪費するだろう。憎悪や戦争のためかもしれないが。

酒と性のために時間を浪費できるなら、充分幸せだと思うのですがそれは。

いままでタダ同然で生を捨ててきたにも関わらず、死に直面するとなると大金を費やしてでも延命を望むやつらばかりだ。

全財産使っても延命を望むと思います。

他人にひけらかすために無駄な知識を詰め込むのも時間の無駄だ。

まじでごめんなさい。

自分のために生きた者は、どれだけ生が短かろうと十分で、最後の日を迎えるとしっかりとした足取りで、ためらうことなく死出の旅路につくのである。

龍狼伝という漫画のワンシーンを思い出しました。 赤壁の戦いの前(だったかな)で曹操が兵たちを鼓舞するときのセリフで、 死が怖いか?余も死が怖い。だが、余の志に共感し、受け継ぐものがいるならいつ死んでも構わない 的な事を言っていて感動しました。

人は未来にも過去にも生きてはいないっていうのは切腹したくなるぐらい、頭を抱えます。高校の生徒会長挨拶とか卒業式の送辞はかなりセネカに影響受けていた気がします。 当時セネカ読んでないんですがね。 この本はちょっと時間の浪費をしているなと感じるたびに読むと胸が痛くなる本なのでおすすめです。

最後に2chで有名な詠み人知らずの名言を

十年後にはきっと、せめて十年でいいからもどってやり直したいと思っているのだろう。

今やり直せよ。未来を。十年後か、二十年後か、五十年後からもどってきたんだよ

今。

僕はすでにアソシエイトプログラムに登録してあるのでアソシエイトリンクを貼って巨万の富を築こうと思います。みなさんよろしくお願いします。ちなみにアソシエイトプログラムで得た収入は書籍以外には使いません。

夏休み、やりたいことと頑張りたいこと

ことあるごとにTwitterで呟ける分量のネタしかないravenです。ひさびさにブログを更新できるチャンスがやってきました。

大学生になって初めての夏休みです。これまでの夏休みは特に予定がなかったのですが、何故か今年は予定が入っているので夏休みにやりたいことと頑張りたいことを宣言してやることなくなったらこの記事を読み返そうと思います。

頑張りたいこと

先に頑張りたいことを書いておかないとやりたいことばっかりやりそうです。

  • 人工知能の勉強(そんな最先端のことではなくもっと枯れた技術を勉強したい)
  • 数学(線形代数と解析を勉強します)
  • フランス語(フランス語インテンシブ2で舐めプをするぞ)
  • ロシア語(カチューシャ歌えるようになりたいですね)
  • 英語(ペーパー読む)

やりたいこと

  • ビジネス(わからん
  • 美術館や博物館へ行く
  • ラジオ体操
  • ポケモンGo
  • データビジネス創造コンテスト
  • 格闘技、シャドーボクシングでもいいんじゃないかな
  • ボルダリング
  • 日本一周(一周とまでは行かないけど青春18切符で遊びに行きたい)
  • 仙台(行くらしい)
  • 読書
  • 八丈島
  • パンケーキ
  • 花火
  • キャンプ
  • BBQ
  • 肝試し
  • ディズニー

ちゃんと仕事はやります。はい。たぶんまた追加することにはなると思います。なんかやりたいことある人がいればTwitterで声かけてください。それとやりたいことはまだまだ募集してるので リプ送ってください

以下、アイデアを提供してくれた方々