酒匂寛のレビュー一覧

  • 教養としてのコンピューターサイエンス講義 第2版 今こそ知っておくべき「デジタル世界」の基礎知識

    Posted by ブクログ

    内容は体系的かつ非常にわかりやすい
    資格取得のための勉強よりも、実態がわかりやすかった
    ただし、技術的な説明において図が少ないため、別途画像検索を併用した方が、わかりが良い

    0
    2024年06月16日
  • 教養としてのコンピューターサイエンス講義 第2版 今こそ知っておくべき「デジタル世界」の基礎知識

    Posted by ブクログ

    # 1周目 読み終えた

    「コンピューターサイエンス講義」というタイトルよりも、横に少し小さく書かれている「今こそ知っておくべきデジタル世界の基礎知識」の方が内容をよく表している。特にプライバシーとセキュリティについての警句が各所に置かれているので、コンピューターとインターネットに触るのが少し怖くなるくらいだった。インターネットが怖く思えるのは、最近はすっかり薄れていた感覚で、知らずに麻痺していたのが解けたようだった。

    ## 14章を読んだ ➤ 次にくるものは?

    締めくくりの章。ここまで読んでくればおそらくは予想がつくとおり、決して技術の発達によって未来が明るくなるような楽天的な予想をしていない。まだ未解決の問題がたくさん残っている。それらを残したままより良い方向へ進むには無理があるように思える。コンピューターは今のままでも十分面白いものだけど、まだまだ改良の余地はあるだろうし、ここでストップしてしまうようなことは望まれない。そうはあってほしくないと思う。

    ## 13章を読んだ ➤ プライバシーとセキュリティ

    この本では何度もプライバシーとセキュリティについて注意喚起されてきた。コンピューターサイエンスと題している本だが、本当に伝えたいことはコンピューターの細々とした仕組みについてではなく、これらではなかったのかとさえ思える。プライバシーとセキュリティは同一視されやすい。プライバシーが漏洩することは危険でもある。セキュリティーを確保することははプライバシーを守るためにも役に立つ。両者を守るためにも必要不可欠なのが暗号の技術であり、そこに注目している。暗号アルゴリズムの重要性は色んな所で耳にするが、ようやく、初めてその重要性を感覚的に理解できたかもしれない。

    ## 12章を読んだ ➤ 人工知能と機械学習

    多くのメディアが賛美する近年のAIに関わる動向について、やはり誇大広告が紛れ込んでいると見る立場のようだ。そうであると分かっていても、これだけ持ち上げられたら無関心を保つことは難しい。中立的でありながら、なんとかうまく溶け込めるようになりたいものだ。短い章ではあるが、ざっくりと現状がどうなっているのかを知ることができた。

    ## 11章を読んだ ➤ データと情報
    検索エンジンから話が始まる。そしてトラッキングに関する警告につながっていく。インターネットでの活動は必ず追跡されている。それはやはりプライバシーの観点から望ましくない。そもそも収集されたデータは何に使われるのだろうかというと、広告のために利用されるのが主で、そのために売買されているようだ。それ以上の悪いことにも利用されている可能性もある。トラッキングから少しでも逃れるために、意識的に対策を行わないといけない。ささやかながら普段の行動を変えることで、できることもある。

    ## 10章を読んだ ➤ ワールド・ワイド・ウェブ

    セキュリティに関していくらか楽観的な自分でも強い不安を覚えるくらいに、Webの負の側面が強調されている。公共の場の無線LANサービスなんかは絶対に使わないでおこうと心に決めた。

    いつからか、Webを利用する上でのプライバシーをあまり考えなくなってしまっていた。Webブラウザはほぼデフォルト設定のままで、JavaScriptは実行し放題、唯一入れているプラグインはDuckDuckGoのプライバシーガードのみになっている。一番確実な手段はネットワークケーブルを引っこ抜く、あるいはWi-Fiのスイッチをオフにしてしまうことだろう。それでは不便極まりないので、少しずつ制限を弱めていくと、どこかで妥協点が見つかるはずだ。その妥協点は本当に安全なのかは全くわからない。インターネットに接続している時点で、そうでない場合と比較にならないくらい、コンピューターは危険にさらされている。そんな中でできることなどたかが知れているのではないか、そんな諦めがあった。Webブラウザに対する信頼もある。ここ何年かの間で、Webブラウザはさらに洗練されてきた印象を受ける。きっとこのWebブラウザならそんなに間抜けなことはしないだろうと安心して使っていて、実際に目に見えるような形で問題に遭遇したこともない。昔はもっと懐疑的であった。時代が変わってWebの安全性は少しは改善されてきたのかと思って懐疑心は薄れてきていた。しかし、安全になったようなことなど全くないようだった。残念なことだ。

    ## 9章を読んだ ➤ インターネット

    インターネットは重要だ。いくらネットワークの社会インフラが整っていても、コンピューターでそれを活用できなければあまり意味がない。インターネットにつながっていないコンピューターもあまり面白みがない。20年くらい前のゲーム機なんかはネットワークにつながってなくても面白いものではあった。それは、コンテンツがインターネット以外の媒体で提供されているからあまり問題にならなかったのだろう。PCにはコンテンツがほとんど含まれておらず、インターネットから入手することが前提となっていたところがある。今や、インターネットにつながらなければWindowsはライセンス認証すらできなくなっている。もはやコンピューターとインターネットは切り離せないもの考えて良い。

    インターネットを支えるソフトウェア技術はTCP/IPであり、重要性が強調されている。ネットワークプロトコルは階層化されている。ある階層のプロトコルはその他については一切関与せずに、愚直に自分のことだけをこなしていく。このモデルは大成功した。今のところほとんど完璧に機能しているとみなしてもよく、裏舞台で実験されていたとしても、表立って新しいモデルに置き換えようという動きはない。TCP/IPについてしっかり学んでおくことはまだ当分の間、必須科目であり続けるのだろう。

    ## 8章を読んだ ➤ ネットワーク

    古来から人力でどうやって遠く離れた場所に情報を伝達してきたか、それから機械を使うようになって、電子を使った手段に発展してきた。ネットワークは技術的な課題だけではなく、個人、企業、政府、その他の団体にまたがって、社会的な課題も含んでいる。特にコンピューターの利用に関わる話題として、無線ネットワークの実現に注目する。携帯電話の利用は当たり前になりすぎて、つながるのが当然のような感覚でいるが、背後では複雑なことが行われていることを忘れないでおきたい。

    ## 7章を読んだ ➤ プログラミングを学ぶ

    JavaScriptとPythonを少しやってみる。意外なことに、これまでになく平凡な内容だった。プログラミングの経験のない人にとっても特別に優れたガイドではなさそうだし、経験者にとっても特別に得るものが多いわけでもなさそうに思えた。もしプログラミングの講師をするなら言語はPythonを選択するそうだ。もし自分が初めてプログラミングの講座を受講するなら、ラズパイで電子工作をPythonで学びたい。Webブラウザの環境よりも遥かにプログラミングをしてコンピュータを操っている実感が得られる。Arduinoでももちろん良い。問題は楽しいと思えるかどうかだ。オンラインコンパイラではプログラムが動作しときの楽しさが激減してしまうのが問題だ。

    言語を学ぶだけのか、プログラミングを学ぶのかにより適した材料に違いはあるだろう。Webの偉大さは認識しているつもりだ。それでも、Webプログラミングが最初に学ぶべきものなのかどうかには否定的な立場を取る。JavaScriptが最初の言語として優れているようには見えないというのもある。Pythonが広く利用されているのは、機械学習やその他のAI技術やデータサイエンスなど、そういった技術的な背景があるからであって、Python自体が特別最初の言語に向いているわけでもないように思う。Pythonを学ぶ人すべてがAIやデータサイエンスに関わりたいわけではないだろう。かといって、他に良い言語があるわけでもないので、別にそれで不利益があるわけでもない。

    ## 6章を読んだ ➤ ソフトウェアシステム

    OSとアプリケーション。OSの役割について、なぜ必要なのか、何を行っているのか。汎用化が進んでいる。特殊目的のハードウェアであっても、新たに専用のOSを開発するコストを差し引くと、Linuxなどを採用するケースが多くなってきている。現代普及しているOSは、Microsoftのものを除くと、ほとんどがUnix系列になっている。これは少し寂しい話だ。アプリケーションはWordがよく引き合いに出されてきた。ここではWebブラウザーが取り上げられている。Webブラウザーの役割がOSに近いところがあるからだ。WebブラウザーをOSとするコンピューターシステムのようなアイデアをありがちだが、実現しないのだろうか。ChromeOSの存在が気になる。

    ## 5章を読んだ ➤ プログラミングとプログラミング言語

    アセンブリ言語と高級言語。知的財産権。オープンソースソフトウェア。どれも自分にとって重要な話題だった。まったく目新しい話題であるわけではない。プログラミングを始めてから、少しずつ経験を積むにつれて、最後にはオープンソース、別の言い方をするとフリーソフトウェアにたどり着くのが自然な流れであるように解釈できなくもない。それだけが唯一の正解であるなどとは思わないし、そういう意図で構成された章であるわけでもないだろう。自分の場合にはよく当てはまっているし、それで良かったと思うだけだ。プログラミング言語のようなコアなツールはオープンソースでなければ支持を得るのは難しいという主張には完全に同意する。

    ## 4章を読んだ ➤ アルゴリズム

    アルゴリズムは料理のレシピのように例えられることがある。この例えはイメージしやすくて便利なのだが、コンピューターに仕事を依頼するレシピとしては不完全でもある。コンピューターに依頼するときは、料理のレシピのような曖昧な記述は一切許されない、融通の利かないものだ。

    線形時間 N の探索と、対数時間 log N の二分探索を比較して、対数時間アルゴリズムがいかに優れているかを明らかにする。線形探索では、データが1000増えれば1000ステップ増加する。二分探索では、10ステップくらいしか増えない。10億増えても30ステップしか増えない。データが多くなるほど対数アルゴリズムの優位性は際立つ。ソートアルゴリズムについてもO(N^2)とO(N logN)では大きな違いが出てくる。最後にP=NP問題について触れられていている。

    ## 3章を読んだ ➤ プロセッサーの内部

    プロセッサーの動作をシミュレートする、おもちゃのコンピューターを使って解説が進められる。アセンブリ言語の経験があるのなら馴染み深いものだ。おもちゃではあっても、その原理は変わらない。フェッチ、デコード、実行の処理サイクルは本物のコンピューターと同じである。本書で強調されていることに、命令もデータも同じようにメモリにロードされる、ストアドプログラム方式の流れを体験できる。プロセッサーの性能は指数関数的に向上していくことが予言されていて、そして真実となった。しかし、物理的には大きな進化を遂げながら、やはりその原理は変わっていない。単純に処理速度を向上させる単純な目標に絞ることができたのも後押しとなったのだろう。性能が上がったことによる恩恵で、単に短時間で計算が行えるにとどまらず、根本は同じことなのだが、コンピューターによっていろんなことが可能となった。この傾向はこれからも続いていくのだろうか。

    ## 2章を読んだ ➤ ビット、バイト、そして情報の表現

    二進数について。なぜコンピューターは二進数を扱うのか。アナログとデジタルの違い。どのようにして写真や音楽や動画をビットで表現しているのか。全く未知の話題ではなかった。ビットやバイトという名称の由来は何なのかなどの豆知識が披露されていて、読んでいて飽きない内容だった。

    ## 1章を読んだ ➤ コンピューターとは何だろう?

    めっちゃ読みやすい。コンピューターの発展の歴史について柔らかく語られている。自動車の基本的な構造が変化していないのと同様に、コンピューターもフォン・ノイマン型のアーキテクチャから変わっていないという対比は分かりやすい。それでいて、性能は1960年代から桁違いに向上している。基本アーキテクチャを変えることもなく、これだけの性能の向上を達成しているのはよく考えると興味深い。PCがどうなっているのか、各コンポーネントの仕組みと役割が解説されている。PC自作派の人にはおなじみだろうけど、最近はパーツで購入して自分で組む人が減ったような気がするので、こういうのも必要だろう。少なくともコンピューターに関わるなら、教養としてでだけなく、実用的な面からも知っておいたほうがいい内容だ。

    ## 0章を読んだ ➤ はじめに

    特にプライバシーの危機が強調されている。あらゆる情報、例えば、ある個人が今どこにいるとか、どんなものを買ったとか、インターネットでどんなサイトにアクセスしたとか、そういうのはすべて記録されている。そして、様々なところで売り買いされたり、悪用されたりする可能性がある。そう聞いてもあまり驚かないのは、感覚が麻痺しているからだろうか。もし、自分一人だけの情報がダダ漏れになっている、とかだと嫌な感じがするけど、世界全員がそうであるというのなら、仕方ないというか、諦めに近い気持ちになる。心理的な対策として、PCに保存されているデータはすべて見られているくらいの気持ちでいて、見られて困るような変なものは入ってこないようにしている。しかし、これはあまり健全ではないし、そういう話でもない。困るのは、本当にセキュリティが必要な、アカウントの認証情報やクレジットカードの情報なんかだろう。これらがダダ漏れになるのは流石に気分が悪い。もっと深刻なのは、セキュリティが脆弱な社会というのは、土台が不安定な上に立っている建物のようで、ちょっとしたことで崩れてしまう危機感すら感じさせる。

    ## 前書きを読んだ

    原題は "Understanding the Digital World" のようだ。本来の対象読者は、エンジニア、数学者、物理学者のような技術的背景を持つ人たちではないと書いてある。コンピューターの専門家向けの本ではないという意味で、教養と呼ぶのは誤解のない良い名前だ。

    丁寧に書かれている良い前書きなのだけど、一つだけ気になるのがある。ネットワークを介した攻撃者のことをハッカーと読んでいるが、カーニハン先生が本当にそういう文脈でその単語を使うのかどうか気になって、Google Booksを覗いてみたら本当にhackerと書いているようで、意外だった。

    0
    2026年02月26日
  • 教養としてのコンピューターサイエンス講義 第2版 今こそ知っておくべき「デジタル世界」の基礎知識

    Posted by ブクログ

    コンピュータサイエンスの入り口を幅広く初学者向けに解説されている。しかし、易しく理解できる分野だけではない。
    この本で学習できることは多い、有益。これだけ体系的に解説されているのはすばらしい。

    0
    2022年09月03日
  • ライフロング・キンダーガーテン 創造的思考力を育む4つの原則

    Posted by ブクログ

    Scratchを開発したMITメディアラボの著者が、どんな想いでそれを創ったのかが綴られている本。
    私が日頃子育てをする上で思っていることを書き表してくれた、この本に感謝します。スクラッチをやったことがないので、所々分かりにくい箇所がありますが、子供に創造力を持ち続けて欲しい親であれば読む価値はあると思います。
    プログラミングを学ぶことは、コーディング自体を学ぶことに非ず!プログラミングというデジタルツールを通して、以下を学ぶのが大事なのだ。このことを子供に言い続けていきたい。
    1.失敗してもいい(そもそも失敗なんてない)。思いついたらどんどんトライすべし。
    2.仲間とともに共有し、自由に遊べ。
    3.そして、たまに振り返ろう。
    (どうやって思いついた? 一番驚いたことは?それで何をしたかった?)

    0
    2019年07月06日
  • ライフロング・キンダーガーテン 創造的思考力を育む4つの原則

    Posted by ブクログ

    これは決してscratchやプログラミングの本ではなく、創造的な学びについての本。
    ティンカリング、という言葉を初めて知ったけれど、LEGOや物語を作りながらどんどん改造していくところは、息子はティンカラーなのかなと。
    もしそうだとすると(もちろんそうでなくても)子供に対して、私たち親が、息子の創造的な学びをどう伸ばしたりサポートできるか、日々の対応や環境選びなど、充分なリサーチの必要を痛感した。
    あと、子供だけではなく、私自身も、職場の同僚や部下たちも、ケーススタディにない場面に遭遇したときに解決できる策を見出すための方向性、考え方のヒントとして、得られるものが多い本だった。

    0
    2018年05月25日
  • ZERO BUGS シリコンバレープログラマの教え

    Posted by ブクログ

    バグの無い“良い”コードを書くにはどうしたらいいのか?一見すると当たり前のアドバイスばかり。ただ、その当たり前を実践するのが難しい。まさに「知ってる」と「出来る」が全く違う好例。序盤を読んでプログラム初心者向けと思っても最後までひと通り読むことをオススメします。きっと内省の良い機会になるはず。

    0
    2017年07月10日
  • 小学生からはじめるわくわくプログラミング2

    Posted by ブクログ

    ネタバレ

    こういう動きは、このようにプログラミング言語化する。という感じでステップを踏んでレベルアップしていきます。重力加速なんかも扱ったりで、かなり本格的。

    0
    2016年11月10日
  • 教養としてのコンピューターサイエンス講義 第2版 今こそ知っておくべき「デジタル世界」の基礎知識

    Posted by ブクログ

    そもそもコンピューターはどうやって動いているのか、の原理からソーシャルネットワークやデータ活用、プライバシーまでかなり幅広くカバーされており、まさに教養のための本である

    0
    2026年02月18日
  • ライフロング・キンダーガーテン 創造的思考力を育む4つの原則

    Posted by ブクログ

    子どもの、ひいては人間がつくり生み出すものであるには、仲間と共に、自らの好奇心のままに想像力を持って学び手を動かすことが必要で、要はレゴSUGEEEってこと。
    面白いし子育て、教育にめっちゃ参考になるとは思ったけど、とりあえず2年後くらいに読み直したい。今はまだリアルに迫ってこないな。

    0
    2023年07月22日
  • ライフロング・キンダーガーテン 創造的思考力を育む4つの原則

    Posted by ブクログ

    ネタバレ

    大人がまじめに、子供が学ぶ時の方法を観察して、子供が楽しみながら学習する様を大人が学び、その子供たちに楽しく学べる場を大人が提供して、子供たちの創造性を育むことに取り組んでいる。
    本書は、日本でも教育カリキュラムに取り入れられるプログラミング学習について、興味を持ったことと、子供たちにプログラミングを教えている現場の現状を知りたくて手に取った。
    MITメディアラボの研究チームが、創造的な学び体験をサポートするためのオンライン講座を提供している。Learning Creative Learning. LCLというプログラム。
    ブラジルやイタリアでも創造的な学び方が浸透しているようだ。
    本書では、表題にあるLifelong Kindergarten 生涯幼稚園=創造的な学びの場を広く社会に浸透させたい強い情念つを持った人たちの活動の一端に触れることができ、創造的な学びの場を作り出す原則、4つのPを紹介され子供たちの体験談に触れることができる。
    新しい知識を身に着けるということは、自らの理解を深め他人にも説明ができるようになっていること。その方法は、机に座って教科書とノートをもって教師から学ぶことがすべてではない。自ら進んで「問」を見つけて、課題と認識し、その課題解決に向けて考えて、いろんなことをやってみる。そして、時には失敗を繰り返し、最適な「解」に向けた取り組みを繰り返す。幼稚園に通う子供が、日々の遊びから学びを得ているように。本書では、プログラミングはスクラッチという言語を使っている。
    多くの気づきを得ることができた本。

    0
    2018年12月31日
  • ZERO BUGS シリコンバレープログラマの教え

    Posted by ブクログ

    小さくシンプルに1つのことをうまくやる。 うまくいかない場合はうまくいくまで違うことを試す。 小さなことからコツコツと。

    0
    2018年10月07日
  • 小学生からはじめるわくわくプログラミング2

    Posted by ブクログ

     フィールドにパーツを入れていくだけで,プログラムが出来上がり,それに従って,キャラクターや画面が変わるという,プログラム製作用プログラムのマニュアル本です。
     2017年の夏,校内の夏休みの研究作品としては初めて,プログラミングが出品されました。パソコンではないと見えない「ファイル」が出品されたので,これはカルチャーショックです。小学生もここまできたか…という感じ。その子に教えてもらったのが,この本です。
     わたしもやってみましたが,わりとたのしくできました。プログラムの基礎が学べそうな予感もしています。
     壁にぶつかって困っているキャラクターに,新しい指令を入れると,ちゃんと逆方向に進んでくれますしね。
     義務教育では,新教育課程からプログラミングが入ってきます。楽しんでできるものもありそうです。

    0
    2017年12月21日
  • CODE コードから見たコンピュータのからくり 第2版

    Posted by ブクログ

    CPUの内部構造から、コンピュータがどのように動いているか。までをストーリーでまとめてあります。
    入門書として紹介されますが、15章以降はこれ一冊で理解するには難解です。

    0
    2026年07月01日
  • 教養としてのコンピューターサイエンス講義 第2版 今こそ知っておくべき「デジタル世界」の基礎知識

    Posted by ブクログ

    幅広い知識が何となく身につく。
    本の中での主題はプライバシーやセキュリティに関して、一般人が取れうる対策や危機感を感じられるようにすることのような感じもした。

    0
    2025年08月20日
  • ZERO BUGS シリコンバレープログラマの教え

    Posted by ブクログ

    バグをゼロにするのはすごく難しいけど
    なるべくゼロにするようなプログラムを書こう
    というような内容。
    内容はわかりやすい、けど翻訳本は理解が難しい表現が多々あるので毎回読むのに苦労する…。
    例えのプログラムが難しすぎてあまり理解できなかったな。

    0
    2025年01月26日
  • ライフロング・キンダーガーテン 創造的思考力を育む4つの原則

    Posted by ブクログ

    Cultivating Creativity through 4P(Projects,Passion,Peers and Play)に集約される。例によって具体例で埋めるパターン。既存の学校制度に親和させる形式での導入は難しい。やるなら大学か?大学も意外に学生が忙しい(勉学という意味以外でも)。遊び心と十分な時間,取り組める空間と仲間,Planning<Tinkering,・・・。
    ポートフォリオの考え方は参考になった。数値化できないものをの原則。心理学者や教育学者,哲学者の「遊び」に関する箴言もなかなか。
    PISAの誤訳にクスリとさせられた。

    0
    2020年07月20日
  • ZERO BUGS シリコンバレープログラマの教え

    Posted by ブクログ

    読み物として面白かったです。
    いかに実用的にバグを無くす方法について要点を述べるという訳でなく、エピソードを踏まえながらエンジニアとして共感できる内容を教えてくれる本でした。

    参考文献やソースコードについて紹介している部分から、
    他の人もソースコードを読んでみることの大事さを学びました。

    0
    2019年03月12日
  • ZERO BUGS シリコンバレープログラマの教え

    Posted by ブクログ

    各項目が短く書かれているせいか浅く感じてしまい、ぐっとくるものが少なかった。第1刷だったせいか、誤植が多かった印象。

    0
    2017年12月10日
  • ZERO BUGS シリコンバレープログラマの教え

    Posted by ブクログ

    なぜだかわからないが、新しい本のわりにすごく読みにくい。。。

    ・Lispを学ぶことで、多くを学ぶことができる。
    ・並列処理は非常に難しい。可能な限りさけること。JavaScriptは並列処理なしでうまくやっている。
    ・正規表現を練習しよう。

    0
    2017年11月25日
  • ZERO BUGS シリコンバレープログラマの教え

    Posted by ブクログ

    うーん、あんまり面白くなかったな。もうちょっと若いころに読んでいれば、それなりだったかもしれないけど。これを読むなら、Knuth を読み返した方がいい。

    0
    2017年10月09日