Coursera

Echoサーバーの実装も終わった。燃え尽きた。

長きにわたる、といっても3ヶ月ほどだが、POSAコースとの戦いも終わり、評価ももらえた。なんとか70%超えていたので落第ではなく、ひとまずホッとしたところ。パターンについて理解できたかというと出来てない。これは一朝一夕で理解できるものではなく場数…

ちなみにさまざまなパターンの資料はこちら

英語なので読むのが大変だが、しかしこの資料の山は宝の山ですIndex of /~schmidt/PDF

食事する哲学者問題の解決が課題

問題自体は大変有名なものらしい(食事する哲学者の問題 - Wikipedia)。今回は簡単にするために思索の時間がなくなっている。微妙な違いとして、フォークの代わりに箸になっている。 Philosoperクラス、Chopstickクラスを作った。 ChopstickクラスではSemap…

「食事する哲学者」をMonitorパターンを使って実装する

モニターパターンについては、Vanderbilt大学のサイトにてPDFが公開されている。http://www.dre.vanderbilt.edu/~schmidt/PDF/monitor.pdfGoogleで検索すると解法はごろごろと見つかるが、それを参考にしては答えにならない。 15日提出だが、はてさて、どう…

Week4のスレッド書き直し

さすがに、notify...wait...notifyは気持ち悪いので書きなおすことにした。もうあっさりと、runメソッドの中でwhileとかfor使って回すのはあきらめて、一回だけ出力するようにした。その代わり呼び出す側で、forループのなかから、スレッドたちのrunを呼び出…

Week4のスレッドのプログラミング終わった、、、しかし

すごく変だがとりあえず課題通りに動くからいいや、というひどい妥協。なにしろrunメソッドがこんな変な感じ。 public void run() { for (int i = 0; i < count; i++) { synchronized (lock) { try{ System.out.println(sound); lock.notify(); lock.wait();…

スレッドのプログラミングってさっぱり

小論文じゃなくなって、プログラミングに移ったからやったー!とおもってたが、全然そんなことなかった。むしろ初歩の初歩から躓いている。 お題はJavaでもなんでもいいので、スレッドを2つ動かして、交互に文字列をプリントして、最初と最後はメインスレッ…

proglangはとうとう終わりました

FinalExamも終わりました。100点は当然とれなかったが、80点とれたからまあいいや。 大変しんどいコースでしたが、終わって一安心。 一方posaは相変わらず小論文で大変です同時に「Learn to Program: Crafting Quality Code 」「Web Intelligence and Big Da…

第2週のピアレビューをして自信をなくした

他の人の小論を読んで、「しまった、そういうことを聞いていたのか」と思ったり、「こんなに上手にかけないなあ」と自信をなくしてしまった。しかし、第1週のときはなくす自信すらなかったから、これは進歩といえるだろう、、、と自分を甘やかしておく。

posa 第1週の小論は惨憺たる結果であった

英語で小論文なんてやったことが無いので当然だが、うーん、、、あと時間も気づいたら1時間なかったから、しょうがない。それでもひとつは5.5点とれたのが奇跡だ。ちなみに今回の小論は3問。 OSレベルのSocket、Thread、スレッド同期処理を自分たちのソフト…

POSA2の小論課題に追い込まれている状態、proglangのFinalExamも佳境

前回おPOSA2の小論が惨憺たる状況だったので、こんかいは早め早めにビデオは見終わった。しかし課題にはまだ手を付けていない。とにかく始めねば。POSA2はネットワーキング+コンカレンシー(同時性)のサンプルとしてAndoridアプリを取り上げるらしい。しら…

Posaの2週めにて、パターンとは型とのこと、すべてがすっきりした

めちゃくちゃ熱いDoug Schmidt先生曰く、パターンとは柔道などの型との事。いままでパターンのメリットを説明することがすっきりできず、共通の言語みたいなものだよ、とか、先達の知恵だよ、とか言ってきたがなんとなく言葉が多くなってしまう印象であった…

課題としては単純な幾何を表現する言語の実装である。点、線、線分を各々インターセクション(積?)をとり、結果を表示するというミニ言語で、たとえば、

Intersect(Line(1,2),Point(1,3)) の結果は Point(1,3)となるような。ここでLineの第1パラメータは傾き、第2パラメータは切片である。Pointはx座標とy座標。SMLのコードはほとんど実装済みで残りをちょろっとかくだけだったので比較的簡単であった。Rubyは結…

うっかり期限後提出になってしまった

かえってから小論文書いたりしようとおもっていたが、子供をお風呂に入れてさて始めようとおもったら、18分オーバーしていた。Quizzeに関しては100%減点で10点満点にもかかわらず0点であった。40分でやっつけて5問論述したが、どのようになるのだろうか。ま…

proglangのWeek8の問題および、posaのWeek1にて

かなり重ためのものが2つかさなって厳しい状況です。 Posaは300-400ワードのショートエッセイを4つ。これがかなり厳しい。いま見たら最初に書いた小論文はまったく見当はずれのことを書いていた。1.パターンやフレームワークとソフトウェアの再利用につ…

Week07に備えてRubyのEmacs環境構築、まだ途中

ECBみたいなIDEチックにしたい気持ちはあったが、まずはすかさず評価/実行結果を表示してくれればいいやと思い、以下を参照に、smart-comple.elとrcodetool.elと入れた。Emacs における快適な Ruby 開発環境を求めて - QiitaしかしEmacs起動時に以下設定を…

Week06終わった(期限切れで)、Week07始まった、Pattern Oriented Software 始まった

Racket最後回、Week06での簡単な関数型言語の実装は終わった。正直うまくできないところが一箇所あった。それで100点は当然とれてない。もういいや。よく頑張ったよ。本当に本当に難しかった。 Week07はRuby。使い慣れている言語なので嬉しい。しかしながら…

Week07のテトリス改造は終わった

やはり使い慣れている言語ではいろいろと楽だ。テトリスをサブクラスで拡張して機能追加するという宿題はいがいとあっさり終わった。といっても3時間くらいはかかっている。Pattern Oriented Software Architectureやらないと、、、月曜中に期限が来てしまう…

Week05、Racketになれるという回が終わった。Week06は自分で言語を記述する回

慣れるといってもかなり難しいと思った。以下学んだこと Racketの構文の基礎(定義、関数、再帰呼び出し、条件分岐その他) Scalaでも出てきたStream(無限列) サンク(Thunk)=引数なしで遅延評価される関数 promise=サンクと同じだが、引数をとる。my-de…

Heterogeneous Parallel Programmingのコース修了、嘘でしょー!なスコア

なぜか、なぜか、100%で修了できた。OptionalのMP6はやってない上に、MP4では25%の達成度であった。絶対に間違えていると思う。

Week05の環境つくり

DrRacketなるIDEっぽい環境があるのだが、せっかくEmacsに慣れてきたのでEmacsに環境を構築してみた。ここを参考に-->24.2 Emacsメジャーモードっていうのが偉そうで良さそうだ。マイナーモードはなんていうか、ちまちました感じの便利さ追求ってかんじだ。…

Week03と、Week04のテストを終えた

Week03の評価を行なった結果、自分の答えは大体サンプルと同じようになりつつあって個人的に満足だった。人のコードも見ることが出来るのはとても勉強になる。 自分の課題で精一杯だから、人のコードをこうでもしないと見ないと思う。だけど人のコードをみる…

proglan-2012-001のWeek02とWeek03について

説明をよく見ないでやったため、Week01については惨憺たる結果であった。Peer Assessmentにしか提出しなかったり、前半2/3の問題を完全に勘違いしていたり、なかったコトにしたいです。当然自動採点の結果は未提出で0点。 まあ、いいや。Week02とWeek03はそ…

SMLのコース、なかなかなれない、特にEmacsに

SMLのコース、第1週目の宿題は提出したのだが、問題をよく読んでいなくて、前半の4問はまったく間違えていた。かなしい。全然簡単な問題で点を稼げなかったのは悲しい。Emacsに慣れてなくて、ついつい、Vimのつもりでjjjjjjとか打ち込んでしまうのも悲しい…

MP5はなんとかできた

激しく難しかったMP5もなんとか終わらせることができた。多数のスレッドを動かしながら単純計算させるのってこんなに難しいんだなあ。期限が22日から24日に延期されたからできたようなものの、22日の時点ではまったくわからないところでした。本当に本当に終…

MP4は期限内におわらなかった

MP3が精一杯だった自分としてはMP4は厳しかった。 MP5もなぜだかまったくcudaMemcpyが動かなくて、終わらない気配、、、

1)エヴァQのこと、2)CUDA並列プログラミングのMP4

1)エヴァQのこと 先だってヱヴァQを観てきたので、1995年の初回放映時からのエヴァオタだった自分もみんなにならってなんかエントリでも書こうとおもったが、、、なぜか思い出せない、(もうネタバレしても全然いい頃だと思うので、思い出せる範囲で書くけ…

GPUの2回目、3回目

2回目、3回目は、行列同士の計算。2回目はシンプルに計算するだけ。3回目はシェアドメモリを使って同じ事をする。 2回目は、コースのビデオのちょっとした応用なので難しくない。 3回目は、シェアードメモリは、2回目とはちがって、ちょっと難しかった…

Pythonのコースが終わりました、Scalaも無事修了できました

An Introduction to Interactive Programming in Python というコースは比較的簡単であったが、仕事と家庭が忙しすぎて2回分の課題を出せなかった。しかし他の課題に関してはほぼ100点をとったので、たぶん修了できるだろう。 一方Functional Programming Sc…

次はGPUを使ったプログラミングのコース

Scalaが終わって、なんというか、すごい達成感があった(合格するかどうか別問題)。なので、別のコースにもエントリーすることにしました。調子にのって適当にいろいろエントリーしたら、次はNVIDIAのCUDA CによるGPUを使ったプログラミングのコースであっ…