2017年2月26日日曜日

【コラム】プログラミングと英語は選択制にした方が良いのではないか。

  • 公開日:2017年02月26日

プログラミングと英語は道具。選択制で十分だと思うのだが…

2020年度以降の学習指導要領で、小学校から英語が教科化し、プログラミングが必修になることが決まりました。

これは愚策だと思います。私は仕事柄プログラミングと英語を使いますが、結局、プログラミングも英語も道具でしかないと思っています。この2つの現代ツールは過大評価されすぎです。

プログラミングや英語は、国語や算数や理科とは根本的に違います。小学生のうちは、道具の使い方よりも基本的な学力を伸ばすのに時間を使った方が、将来の役にたつ能力が身につきます。
というのも、道具は使い手の力量次第で、ゴミにも世界を制する武器にもなるからです。例えば、プログラミングで画像処理をする場合、微分積分と線形代数の理解が必要です。今をときめくAI技術、機械学習ならプラスで確率と統計学です。ハード系に関わるなら解析学や物理学、化学や電気回路の学習が必要です。英語はドキュメントや動画を確認し、より多くの人とコミュニケーションを取るツールとして活躍します。

教育者達がこの提案をした気持ちはわかります。facebookのザッカバークは英語を駆使し、プログラミングで20億人が集まるバーチャルな帝国を創りました。彼はプログラマーとしてもTop Coderの上位に入る腕前です。しかし、ザッカバークはプログラミングができなくても成功したでしょう。彼はfacebookの前にも色々なプロダクトを生み出し、企業から多くのオファーをもらっています。世界最高の大学のハーバード大学にも楽々入学し、フェンシングの腕前も一流です。彼のインタビューを読むと、様々な方面の知識量に驚かされます。彼は元々飛びぬけて優秀な人間なのです。

プログラミングは確かに素晴らしいツールだと思います。しかし、全ての人に必要はありません。
もし、学校でどうしても教えるというのなら、興味がある人だけが受講する選択制にするのが一番良いでしょう。英語も同様です。

これは決して差別なんかではありません。区別です。小学生のうちからあまりにも負担をかけすぎではないでしょうか。教育という言葉で武装して、大人のエゴを子供達に押し付けるのは反対です。

授業風景を想像する

さて、プログラミングが必修になったとして、どのように小学生にプログラミングを教えるつもりなのでしょうか。
決めるのは文部科学省だから、実績と汎用性のあるJavaを選定すると仮定して、実際の授業を想定してみます。

授業の初日、先生がパソコンに最初のコードを記述します。

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("小学生のプログラミング");
    }
}
      

手元のモバイルに映るこのコードを見て、小学生はどう行動を取るでしょうか。

「先生。読めません」

と多くの子供達が手を挙げるのではないでしょうか。

とはいえ、今の子供達は早期に英語教育を受け、簡単な英語くらい理解しています。なので、以下の質問が飛んでくるかもしれません。

「先生。argsってなんですか?」

当然の疑問です。しかし、この質問は文部科学省の想定通りです。先生は指導要綱の書き込まれた教科書のマニュアル通りに答えます。

「いい質問ですね、佐藤くん。argsはargumentsの略ですよ」

「そっか。argumentsを省略してargsなんだ」

「はい。佐藤くん正解です。皆さんもわかりましたね?」

子供達はそれを聞いて納得し、授業は進んでいく…

わけない!!

いや、今の子供は優秀で好奇心も旺盛です。ほとんどの子供はgoogleでargumentsの意味を検索するはずです。すると、モバイルの画面には答えが表示されます。

arguments 名詞:引数

さて、小学生達はこの漢字を何と読むでしょう。

いんすう?
ひきかず?

残念。
これはひきすうと読みます。
引数は変数を受けるパラメーターです。sがあるので複数のパラメーターを受けられるのだな、とここまで考えられれば満点です。

ここまで読んだ皆さんは、もう理解したと思います。

計画に無理がある

のです。

ちなみにほとんどの初心者用のプログラミング参考書では、public static void main(String[] args)を「おまじない」として認識させます。

十分な学習経験のある大人でさえ、最初はおまじないとして認識しながらゆっくりと学習していくのです。算数や国語で悪戦苦闘している子供達にこんなことをやらせて何の意味があるのでしょうか。優秀で意欲のある子供だけが学習すれば十分ではないでしょうか。

本当に大切なこと

子供達が未来を担う宝と考えるのなら、力を入れるべきはプログミングや英語ではありません。

数学、物理、化学

です。

現在の我々の生活を支え、豊かにしているのは科学です。そして、科学は高度な学力の上に成り立っています。
英語やプログラミングは、効率的に処理する道具でしかありません。

他の分野、例えば芸術分野だって同じです。

エレキギターがロックを生み、音声技術がボカロを生み、DTMがEDMを生みました。芸術だってイノベーションを起こすには、科学が必要になります。つまり、学力が全ての礎なのです。

つい先日、科学誌Newtonを発行するニュートンプレスが民事再生法の適用を申請しました。社会は科学に興味を失っています。世間で理系の人材は貴重だと言われていますが、言われているだけで実際の現場はどこもひどい人手不足で待遇も良くないです。労働基準法? なにそれ? という雰囲気です。トランプ大統領や安倍政権の行動、芸能人のゴシップではネットのコメント欄が賑わいますが、科学関連は閑古鳥がないています。

日本は岐路に立っていると思います。我々の子供たちは、先進国の人間として豊かな生活を送り続けることができるのでしょうか。今のままでは厳しいと思います。

だからこそ教育は何よりも大切です。教育は、多くの富を生み出し、生活を豊かにし、命を救います。

文部科学省や政治家には、なにが世の中を支えているのかを再考して欲しいと思います。お金が必要なのはわかりますが、あまりに金融政策に偏りすぎです。人類の生み出した英知が手に入るからこそ、お金に価値があるのです。

将来の日本は、少子高齢化が避けられません。だからこそ多くの可能性と時間を持つ子供達の教育は大切です。日本のためにも、良い教育が導入されることを願います。

PICK UP オススメ書籍

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

2017年2月22日水曜日

2017年2月に読んだ本 2/2 - 2/21日まで

  • 公開日:2017年02月22日

目的

ネットの情報がテレビ化してつまらなくなってきたので、2017年からは再び読書量を増やそうと思います。
読書記録のまとめです。

前回の記録はこちらです。

今年(2017年)の読書数 : 現在 15冊(2017/01/01 - 2017/02/22)

科学雑誌Newton2017/03月号

  • 開始:2017年01月26日 - 終了 : 2017年02月02日
  • 評価 : A

アルツハイマー病の研究の特集が思った以上に良かったです。アルツハイマー病の名前くらいしか知らない人は、この機会に読んだ学んだ方がいいです。あとは今月から連載がはじまった シリーズ 炭素の科学の1回目が非常に良かったです。
来月号が楽しみです。

ナショナルジオグラフィック2017/02月号

  • 開始:2017年02月02日 - 終了 : 2017年02月05日
  • 評価 : B

寡婦の特集が印象に残りました。途上国での寡婦の扱いが中世かと驚くような扱いです。グローバル化してもインドやアフリカが発展するとは思えませんね。モディ首相は有能だと思いますけど。

スバラシク実力がつくと評判の統計学キャンパス・ゼミ―大学の数学がこんなに分かる!単位なんて楽に取れる!

  • 開始:2017年01月21日 - 終了 : 2017年02月08日
  • 評価 : B

微積を理解している人が、統計を理解するのに適した本です。カイ二乗分布やt分布あたりの説明が微積の計算式だらけで、何に利用するかが書いていないのは、どうなんだろうと思いました。あとは、モーメント母関数の説明が少なすぎです。なのにあとで何度も出てくるので、理解できるまでストレスが溜まります。今は、統計の本が沢山でているので、数学が苦手な人はそちらの方が良いでしょう。仕事で知識として利用する人ならもっと良い本があると思います。 とはいえ、数学的な裏付けは重要なので、必要性を感じたらこの本を使うと良いでしょう。

サピエンス全史

  • 開始:2017年02月02日 - 終了 : 2017年02月20日
  • 評価 : S

色々考えさせられた本でした。

農耕社会や工業社会より、狩猟採集社会のほうが健康によく多様な食物を取り、労働時間も短く、感染症も少なかったらしいです。人の手先も器用で、多様な知識をもっていて、古代の狩猟採集民は、知能と技能の点では、歴史上最も優れていたというのは驚きです。本当でしょうか。

とにもかくにも、我々はこれからも歴史と科学を学び、時代に合わせて変化し続けないといけないということです。
それが、我々ホモサピエンスに埋め込まれた遺伝子であり、世の中をうまく渡っていく唯一の方法なのだと思います。

すべての疲労は脳が原因

  • 開始:2017年02月21日 - 終了 : 2017年02月21日
  • 評価 : C
  • 1回目

すごく売れてますが、個人的に読む意味がないと思います。健康本は当たり外れが大きいですよね。

まとめ

サピエンス全史は滅多にお目にかかれないレベルの名著です。量はありますが、読むべきです。

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

【書評】RxJavaリアクティブプログラミング

  • 公開日:2017年02月22日

概要

リアクティブプログラミングを日本語で説明した初めての本です。
まだRxjavaの需要は少ないと思いますが、よくぞ出版してくれたと思います。著者と出版社に感謝します。

私はRxjavaを使い始めて1年くらいで、まだ十分に使いこなせていません。
ドキュメントとコードを読みながら四苦八苦してRxjavaを使用していますが、理解が深まればと思って本書を購入しました。

Rxjavaとは

データの通知と取得に特化したプログラミング技法です。スマートフォンアプリの開発において、強力な武器になります。
しかし、リアクティブプログラミングに慣れるには、時間がかかるでしょう。

JavaとScalaの経験があり、オブジェクトプログラミングと関数プログラミングに慣れている技術者でも多くのトライアンドエラーが必要になるでしょう。
サーバーサイドでも利用できますが、必要ないと思います。WEBで使うならフロント側のjavaScriptで導入するべきです。

本書の対象者

丁寧に説明されていますが、リアクティブプログラミングの経験がないと、理解できない可能性が高いと思います。逆に、リアクティブプログラミングの経験がある人には良書です。Rxjavaを使う開発時には、側に置いておきたい本です。索引がとっても使いやすいです。

紙面の都合上仕方のないことですが、Androidのコーディングに関する情報はほとんどありません。あくまでRxjavaの説明です。

気になったこと

指摘する内容は本の問題点というより、リアクティブプログラミングの問題です。
リアクティブプログラミングは素晴らしい技術です。しかし、学習コストが高いのが気になります。

巨人の肩に乗るという格言がありますが、この巨人の肩に乗るにはかなりのプログラミングの経験値が必要になります。

リアクティブプログラミングを理解するにはデザインパターンのObserverパターン、ビルダーパターン、イテレーターパターン等の基本は押さえてるのが前提となります。 また、それなりのスレッドの知識も必要です。Producer-Consumerパターンなどの基本は知っている必要があります。でないと、リアクティブプログラミングの何が優れているか、どこで使うべきかを理解できないでしょう。

上記の知識や技術は、Javaを利用したことのないエンジニアにはわかりづらいと思います。

一方で、リアクティブプログラミングを比較的理解しやすいのは、Java、Scala、JavaScriptに長く関わってきたエンジニアでしょう。理想はこの3つの言語でWEBとアプリ開発の両方を経験したエンジニアです。であれば、理解は早いと思います。
もしくは既存のプログラミング知識のないエンジニアなら、先入観がないので逆に理解が早いかもしれないですね。。。(理解できればですが)

まとめ

リアクティブプログラミングの経験がある人が、知識と技術を深めるのに役立つ本です。Rxjava未経験の人は、購入前に手にとって中身を確認しましょう。さっぱり理解できない場合は、まだ手に取るのは早いです。ただし、良書であるのも事実なので、今後Rxjavaを必ず使うことが決まっているなら、絶版対策として購入した方が良いかもしれません。

追記

リアクティブプログラミングの理解と習得に役立つ本を紹介します。

増補改訂版Java言語で学ぶデザインパターン入門

デザインパターンを学習するならこの本です。リアクティブプログラミングをきちんと理解するならIterator、Observer、Bulderは抑えときましょう。

Java言語で学ぶデザインパターン入門 マルチスレッド編

超良書。結城さんは説明が上手でわかりやすいです。全部目を通しましょう。分厚いけど、10日もあれば読めます。

Java並行処理プログラミング ―その「基盤」と「最新API」を究める―

これは神。スレッドの本で1番良い本です。なかなか手に入らないので、見つけたら速攻買いましょう。

関連記事

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

2017年2月12日日曜日

【税金】新しく自営業・フリーランスになった人のための確定申告 サラリーマン時代の収入の確定申告方法を理解する

  • 公開日:2017年02月12日
  • 青色申告者向け

税金の仕組みは複雑。しかし、今の時代はテクノロジーと簡単な学習で誰でも十分に乗り切れます。

2月,3月は確定申告の時期です。
サラリーマンから自営業に転身した人は、サラリーマン時代と自営業の売り上げを合算した確定申告書を作成する必要があります。
しかし、自営業・フリーランスの初年度は税金の知識も経験もほとんどありません。なので、調べてもよくわからないのが現実でしょう。

そんなわけでこの記事では、

年度の途中でサラリーマンから自営業・フリーランスになった人が、サラリーマン時代の収入を確定申告で処理する方法

をまとめました。青色申告者向けです。

会計ソフト

確定申告書を作る場合、個人事業主なら会計ソフトにMFクラウドを使うのがおすすめです。
小規模や中規模の事業者でも利用できます。最初は無料版か一番安いプランで様子をみましょう。

簿記3級程度の知識があると、より使いやすいと思います。

仕分け作業は簿記2級くらいの知識があると良いと言われてますが、3級でもなんとかなります(調べて解決出来る最低限の知識です)。まあ、専門家ではないので、必要に応じて身につけていけば良いと思います。

また、MFクラウドを使うと全自動で色々な作業が可能になりますが、裏付けとなる知識は本や実務を通してざっくりで良いので理解しておきましょう。経営者は、最低限の税金の知識を持つべきです。

サラリーマンから自営業へ

サラリーマンから自営業になった人は、サラリーマン時代と自営業の売り上げを合算した確定申告書を作成する必要があります。確定申告書の作成には、以下のサイトが役に立ちます。

10-20分もあれば読めると思います。目を通しておきましょう。

以下の記事でも具体的に説明します。

源泉徴収票の取得方法

在籍していた会社に連絡して、「源泉徴収票の送付をお願いします」と頼みましょう。メールで良いと思います。

サラリーマン時代の源泉徴収票処理

例えば、前年の1-3月までサラリーマンをしていて、4月から自営業(もしくはフリー)で仕事をした場合は、収入を別々に仕分けする必要があります。
以下のように記入します。(* 会計ソフトはMFクラウドを利用しています。)

確定申告書 → 所得から差し引かれる金額を選択します。

まずは収入の処理をします。

源泉徴収票の【支払金額】を転記します。

[収入金額等]の[給与]欄に、源泉徴収票の【支払金額】の金額を入力します。

次に、支払済みの税金を処理します。

源泉徴収票の【社会保険料等の金額】を転記します。

[社会保険料控除欄]に

源泉徴収票のとおり

と入力して金額を転記します。

これだけです。
簡単ですね。素晴らしい!!

その他

源泉徴収票はコピーを取っておきましょう。

まとめ

税金処理は最初はとっつきにくいですが、慣れでできるようになります。なんてことはありません。経験を積むと色々なことがわかってきて、結果としてお金を稼ぐ能力も向上します。
焦らず、定期的に仕分け処理をする習慣を身につけましょう。そして確認をして、本を読んで、良い経営者へと成長してください。一見遠回りに見えますが、一番力がつく方法です。

PICK UP オススメ書籍

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

2017年2月5日日曜日

【matplotlib】円グラフを作成する

  • 公開日:2017年02月05日

記事概要

matplotlibで円グラフを作成する方法をまとめた記事です。
色々とハマった箇所があったので、ポイントを整理しました。

環境

  • Ubuntu 14.04.4
  • Python 3.5.2 :: Anaconda custom
  • matplotlib 1.5.3

作成したグラフ

以下のような円グラフを作成しました。

Newtonのアルツハイマーの特集の感想ページを作るのに、グラフ作成ツールとしてmatplotlibを使いました。

はまったのは以下の点です。

  • 日本語文字化け
  • 余白不足
  • 円の形

対応方法を以下に記述します。

日本語

matplotlibはデフォルトだと日本語が利用できません。以下のように文字化けします。

matplotlibで日本語を使用するには、フォントの導入が必要です。
独立行政法人情報処理推進機構がIPAフォントをオープンソースで用意してくれているので、これをダウンロードして使います。

ダウンロードしたフォントは、実行ファイルと同じフォルダに置きます。

次に、コードでフォントの使用を実装します。

sample1.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import matplotlib.font_manager

FONT_PATH = 'ipaexg.ttf'

prop = matplotlib.font_manager.FontProperties(fname=FONT_PATH)

label = [u'アルツハイマー型認知症', u'脳血管障害型認知症', u'レビー小体型認知症', u'その他']

patches, texts, autotexts = plt.pie(x, labels=label, counterclock=False, startangle=90, autopct="%1.1f%%")
# 日本語化(使わないと文字化け)
plt.setp(texts, fontproperties=prop)

plt.pieは (patches, texts, autotexts)のタプルを返却します。textsがlabalデータなので、この変数にフォントを割り当てています。

プログラムを実行します。

日本語で文字が出力されました。

余白調整

matplotlibは余白調整をしないと、ラベルが画像からはみ出してしまいます。

余白はコードで調整できます。

sample1.py

plt.subplots_adjust(left=0.28, bottom=0.1, right=0.72, top=0.9)

パラメーターは画像の位置です。ドキュメントに詳しい説明があります。画像を何度も出力しながらパラメーターを調整しましょう。

プログラムを実行します。

余白が調整されて出力されました。

円にする

デフォルトは楕円です。コードで円にすることができます。

sample1.py

# 円にする(つかわないと楕円)
plt.axis('equal')

これは画像を使った説明は不要でしょう。

まとめ

最近は画像(動画)学習をしています。せっかくの機会なのでExcelよりプログラムを使った方が便利だし早いだろうと思ってmatplotlibを利用したのですが、Excelはやっぱり便利ということが再認識できました。
とはいえ、画像や数学の知識が蓄積すれば、プログラムの方が多くのことを素早く実現可能なことも分かりました。

しばらくは、画像と映像を中心にした学習をしていきたいと思います。

以上です。

PICK UP オススメ書籍

参考記事

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

2017年2月1日水曜日

2017年1月に読んだ本 その2 1/13 - 2/01日まで

  • 公開日:2017年02月01日

目的

ネットの情報がテレビ化してつまらなくなってきたので、2017年からは再び読書量を増やそうと思います。
読書記録のまとめです。

前回の記録はこちらです。

今年の読書数 : 現在 10冊(2017/01/01 - 2017/02/1)

世界システム論講義: ヨーロッパと近代世界

  • 開始 : 2017年01月13日 - 終了 : 2017年01月15日
  • 評価 : B

学んだ事柄

  • 圧倒的な経済力をもつヘゲモニー国家は、必ず自由貿易を主張する。17世紀オランダ、19世紀イギリス、20世紀アメリカ。なぜなら、ほかの国を圧倒できるから。そして、中心都市は世界一リベラルな場所になる。
  • 今日のアジアとヨーロッパの差を分けたのは、内向きか外向きかの違い。農業の生産性では、帝国内で完結していたアジアの方が高かった。ただ、内向きすぎて生産性を向上させるインセンティブが働かなかった。それが、時を経てヨーロッパの支配を許すことになった。

近代世界がどう作られてきたかを考察した本です。2001年に書かれた本ですが、生産から情報が世界システムの中核になる時、世界は変わらざるえないという結びが印象に残りました。確かに世界はこれから大きく変わっていくでしょう。

微分積分キャンパスゼミ

  • 開始:2017年01月08日 - 終了 : 2017年01月20日
  • 評価 : A
  • 2回目

技術ドキュメントを読むのに、もっと正確な微分積分の知識が必要だと感じたので手に取りました。1年ぶり2回目の読了。もうちょっと短いスパンで繰り返し読んだ方がいいと思いました。3回目もやる予定です。
マセマは本質が分からないと批判する人がいますが、数学を道具として使うエンジニアであれば十分役に立ちます。学習時間も短縮できますよ。

コンテナ物語

  • 開始:2017年01月15日 - 終了 : 2017年01月22日
  • 評価 : B

少し冗長な内容が目立ちますが良い本でした。グローバル化の原因はITでも移民でもないことがわかります。グローバル化は、資本主義のシステムの結果に過ぎません。トランプが大統領になろうが、移民が禁止されようが、世界が右寄りになろうが、左寄りになろうが何も変わらないでしょう。ビルゲイツがこの本を薦めるのも納得の内容です。

日本3.0 2020年の人生戦略

  • 開始:2017年01月27日 - 終了 : 2017年01月28日
  • 評価 : B

本の前半で作者のガラガラポン願望が強くてちょっと引きました。「こういう系の本なの?」と。しかし、徐々に意味ある内容になったので良かったです。

結論として、日本が豊かな国であり続けるには、大学、大学院レベルの高等教育の充実とイノベーション以外に解決方法がないってことです。
あとは、未読の面白そうな本がたくさん紹介されていたのが凄く良かったです。未来が気になる人は、目を通してみてはどうでしょう。

また、感想のツイートを作者の佐々木 紀彦氏がリツイートしてくれました。ありがとうございます。

高校数学でわかる半導体の原理―電子の動きを知って理解しよう

  • 開始:2017年01月22日 - 終了 : 2017年02月01日
  • 評価 : B

半導体の基礎が記述された本です。半導体に関わりがない職業に就いていても、この本の内容くらいは理解しておきましょう。理系のエンジニア職なら必ず目を通して欲しい内容です。現代科学に関わる人が常識で持つべき知識といっても過言ではありません。
読みやすい上に値段も安いので、手元に置いておきましょう。電子書籍で発売されているので、kindleで購入するのが良いでしょう。

まとめ

コンテナ物語は名著です。ちょっと長くて、中だるみしがちですが、一度は読んでおいたほうが良いと思います。

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加
Related Posts Plugin for WordPress, Blogger...