TIM Labs

2018年7月アーカイブ

日本でも、大学の講義がビデオで公開されるようになったとはいうものの、通常行われている講義がそのまま公開されるのではなく、かなり短い特別な講義だけが公開される感じで、とても世界と比較てきるようなオープン性は見られない。

まあ、そんなことを言っても仕方がない、ここは日本だ。
それよりも、世界の大学でどんな講義が公開されているのか、探して勉強したほうが良い。

MITOPENCOURSEWAREでは、MITの実際の講義がそのままビデオでじゃんじゃん公開されている。
現在、2400コースあり、3億人が見たそうだ。
この数字は、MITだけでの数字である。

実際の正規のコース授業がそのまま公開されているようで、形態もいろいろあるようだが、VIDEOが一番気楽でよい。
VIDEOだけではなく、資料、問題、なども用意されていて、とても親切である。

日本の大学だと、あれこれ登録しないと見せてくれないケチな根性のところが多いが、ここは何の登録をしなくても、見せてくれる。
ちゃんと授業を受けて、試験も受けて、サーティフィケイトを貰いたいとかの場合は、登録などが必要みたいだ。

さて、最近、MITでパズルの授業を行っているというのを伝え聞いた。
それで、さっそく調べて見つけたのが、Programming for the Puzzled というコースだ。

レベルは学部生向けで、パズルでアルゴリズムを考えることで、プログラミング能力の基礎を鍛えようという意図らしい。
実際、この授業だけではなく、パズルやゲームを授業に使っている例は簡単に見つかる。

先生は、Srini Devadas教授で、インド人である。
あのIITマドラス校出身で、バークレーで学位を取得し、MITのFull Professorになっている。
ということで、ちょっと英語にインド訛りがあるが、そんなに気にしなくて良い感じだ。
そもそも、MITとかでコンピュータ関係を勉強しようとしたら、インド英語は必須科目だろう。
この講義には、トランスクリプション(発言内容を全部文字にしたもの)が用意されているので、聞き取りにくければ、テキストとして読むこともできる。

講義は全部で11本のビデオになっている。
毎回、色々なパズルを取り上げて、アルゴリズムについて細かく解説し、Pythonのプログラムを示しながら講義は進む。
Pythonのプログラムや、課題の解答プログラムも用意されていて、懇切丁寧だ。

講義の中に、SUDOKUがあるというので、この講義を知ったわけである。
SUDOKUの回は、再帰呼出しが話の中心であった。
最後の方で、再帰呼出しをしないで解くやりかた(普通にルールや手筋に基づく方法)の説明が簡単にされていた。
SUDOKUの問題を作ることには触れていなかった。
まあ、そこまでやると、さすがにMITでも、学部生向けの入門コースとしては無理があるのだろう。

第3回は、Puzzle 3: You Can Read Minds というタイトルで、トランプ手品が題材であった。
手品を1つ身につけたい場合には、ちょっと聴講するとよいだろう。

その他にも、アルゴリズムを考えないといけない、アルゴリズムによって大差がでてしまう例などが取り上げられている。

といっても、どれも基本的なものばかりだ。
パズルに関する高度な内容ではないので、プログラマなら出来て当然と思われるものばかりである。

去年の夏に、A1プリンタを入手し、幅60cm、長さ2mほどの大きさの印刷を良くしていた。
A1プリンタなのだが、ロングといって、ロール紙を使うことで、A1の標準よりも遥かに長い印刷ができるものだ。
このあたりは、以下の記事を参考にされたし。

通常はポスター程度の印刷なのだが、時々長い長い印刷物を印刷しなくてはならなくなることがあり、今年もそういう時期がやってきた。

それで、ちょっとプリンタの試運転ということで印刷してみた。

HPFalseDriverOutput.jpg

非常に大きなExcelの印刷を試したのだが、なぜか2mのうち、半分くらいが罫線が消えて文字だけになってしまった。
設定をいじっても、同様の現象になってしまう。

これは、大きくなって、ラスター化に失敗したということであろうか。
つまり、インクジェットプリンタに出力するのに、ピクセルにしないといけなくて、その変換途中でメモリ不足かなにかのトラブルで、罫線のラスター化を放棄したように思われる。

ということで、諦めてトボトボと帰っている途中で、原因を思い出した。
Windowsマシンから出力しているのだが、プリンタにインストールされていたドライバに問題があったのをプリンタメーカー(HP)のカスタマサポートから教えてもらったのを思い出した。
去年使っていたパソコンは動かなくなって、パソコンを新しくしたので、また同じ現象が起きてしまったのだ。

自動インストールされるものを使ってはいけないのだが、たぶんA1標準サイズまでなら、それでもとりあえずは動くのではないかと思う。
実際、普通のA1程度までは問題なかったのだ。
でも、勝手に入ってしまうというか、デフォルトのドライバがダメというのは要注意だ、というか酷い話だ。
メーカー提供の正式ドライバ以外が勝手にインストールされるような仕組は止めてもらいたい。

それで、自動でインストールされてしまうプリンタドライバを消去し、メーカー提供のドライバを入れてみた。
何も考えずに、標準、何でもやってくれる万能ドライバみたいなのがあったので、それを入れたら、A1サイズを指定しても、勝手にA4サイズまでしか印刷されない。
どうやら、小型プリンタ対応のドライバを入れたらしいので、また削除し、より機種を限定したドライバを入れてみた。

プリンタは、HPの DesignJet T520 というA1のロール紙も対応しているものだ。

ドライバを入れて、プリンタを確認すると使えるプリンタのリストが出てくるのだが、そのときの表示はこんなものが出てきた。

HPDesignJectT520-24inPCL-single.png
これは正しく動くものである。

PCL(Printer Control Language)は、HP(Hewlett-Packard)社が開発したページ記述言語であり、多くのプリンタで標準サポートされている。

さて、プリンタドライバが正しく動かなかったので、A1サイズ幅のゴミがいっぱいできてしまった。どうしよう。
PythonKivy.jpg
実践Pythonライブラリー

Kivyプログラミング

Pythonでつくるマルチタッチアプリ

監修  久保幹雄
著者  原口和也
発行日  2018年6月10日
サイズ   A5, 200頁  
ISBN  978-4-254-12896-3
価格   3200円(本体) 
発行所  朝倉書店


Pythonが流行っていて、人工知能関連のツール・ライブラリなどは選ぶのに困るくらいある。
しかし、GUIとなると、状況はまるで違って、とても少ない。

Pythonには標準のGUIとしてTkinterがついてくるのだが、ちょっと古いというか、かっこう悪いというか、いけていないのであった。

GUIをPythonのコードでガリガリ書いていくと、プログラムが肥大化するし、デザインがプログラムの中に入ってしまって、ごちゃごちゃしてしまう。
WEBページをHTMLだけで作るのではなく、デザイン部分はCSSで書くというのと同じように、分離できないものだろうか。

それに応えたのが、Kivyで、簡単な言語で記述することができる。
マルチプラットフォームであり、マルチタッチなどにも対応している。
詳細について書くと切りがないので、ネット上の情報を挙げておく。


このアーカイブについて

このページには、2018年7月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2018年6月です。

次のアーカイブは2018年8月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

月別 アーカイブ