フルタイムエンジニア☆パートタイムママ -2ページ目

フルタイムエンジニア☆パートタイムママ

娘達と奮闘しながら日々の生活を満喫しているシステムエンジニアのブログ

翔泳社ブックアンバサダー企画 で読み始めた『コンピュータアーキテクチャのエッセンス』、冬休みの宿題として読み始めましたが年末年始だけでは読み終えられず、1月もずっと読んでいました。最初は本の分厚さ(約500ページ!)と、いかにも難しそうな表紙に圧倒されていましたが、基本から順番に説明されているので、ハードウェア初心者でも意外と読みやすい本でした。

コンピュータアーキテクチャのエッセンス
コンピュータアーキテクチャのエッセンス[第2版]
Douglas E. Comer(著), 吉川 邦夫(翻訳)

 

お昼休みに会社で読んでいると、同僚に「今から大学の勉強をするの?」と言われましたが、まさに大学の教科書のような本です。著者は大学の先生で序文に「1学期の学部コースに適している」という学生を読者に想定した記述がありましたが、その通りだと思います。

この本はまず基礎知識から入り、プロセッサ(CPU)やメモリ、入出力の原理を知り、最後は並列処理などのより高度な話題へと発展していきます。各章末に練習問題が用意されており、付録では実際に大学で利用されているラボ課題も紹介されているので、興味があるテーマについてはさらに詳しく学習できるようになっています。


しかも、ハードウェア専門向けではなく、プログラマが知っておくべきハードウェアの側面に焦点を絞ってあるのもポイントが高い!つまり、私のように大学で情報系の勉強をした経験がないソフトウェア開発者が、初めてハードウェアについて学ぶのにもピッタリ♪ということですね。

コンピュータの構成要素
コンピュータの構成要素(プロセッサ、メモリ、入出力機構)

もし、理解しにくい部分があっても、とりあえず読み流して先に進むのがオススメです(特に第1部の基礎知識!何度心が折れそうになったことか…)。最初はわからなくても、後の章で出てきたときにもう一度戻って読み直すと要点がつかめることもありました。本文にも「〇章で論じた~」とか、「〇章で紹介したXX」というように参照箇所が書いてあったり、巻末の索引でキーワードを確認しなおしたりできるので、読み進めるほど話がつながりやすくなりました。そういう意味では、重いけど紙の本で良かったです(付箋を貼ったり、ページを行ったり来たりして読むには紙面の方が慣れているので)。

なお、ハードウェアを扱ったことがなくても読めるように構成されていますが、Arduinoラズベリーパイ等でちょっとでもハードウェアを触ったことがある方が、動作の仕組みやプログラミングへの影響をイメージしやすいはずです。本の付録にも回路を組んでみる課題がありますが、実際に動かしてみた方が良く理解できるので、手元にあればぜひ試してみてください。

Arduinoやラズパイでハードウェアを動かしてみよう

夫に「辞書」と呼ばれ、娘にも「面白いの?」と聞かれた本ですが、結構面白かったです。正直、まだ理解できない部分は多いですが、CMOSとか、クロックとか、DRAMとか、今まで名前を聞いたことはあってもそれが何なのか知らなかったものが、どういう役割があるのかイメージできるようになりました。普段の仕事にすぐ役立つかはわからないですが、「へぇ~」「なるほど!」と新しい気付きがたくさんあり、考え方の幅が広がるような本だったので読んでよかったです。

翔泳社ブックアンバサダーの記事投稿期日が1月末だったので、後半は読み飛ばし気味でしたが(本が届いてすぐに読み始めなかったのを後悔しました…)、もう一度じっくりと読み直し、練習問題や付録の課題にも挑戦してみようと思っています。

それにしても、CPUは本当にすごい!
めっちゃ賢いなぁ~

巷のサンタさんはいい子にしていると欲しいものをプレゼントしてくれるようですが、うちのサンタさんはかなり気まぐれなようです。娘は親には内緒で毎年一生懸命サンタさんにお手紙を書いているようですが、一向に娘の欲しいものを届けてくれないそうです。

お手紙に書いてあるプレゼントが曖昧だからサンタさんが勘違いをしているのではないかと突っ込みたいところですが、娘の指示はかなり的確で間違えようがないほど。(さすが、我が娘!日々鍛えられているだけのことはある)

そんなサンタさんから娘への今年のクリスマスプレゼントは、学研電子ブロック EX-150 (新装版)

学研電子ブロック EX-150

娘ではなく、母へのプレゼントではないかと疑いたくなるぐらいゴツくて渋い!
これは昭和時代に流行った(らしい)ブロックの組合せで電子回路が簡単に組めるという画期的な代物。
私は大人になってから復刻版の宣伝で存在を知り、興味があった電子ブロック!それが今目の前に!

昭和感満載でイマドキの子どもにはうけそうにないデザイン(当時の小学生=おじさんたちは好きそう)だけど、こうやってブロックを本体にはめるだけでラジオやら、アンプやら、メトロノームやら、いろんな回路が組めるらしいんです。うちにはブレッドボードも基本の電子部品もあるけど、このお手軽さは素晴らしい!電子回路の学習教材としては優秀です。

電子ブロック回路の例

見た目が渋すぎなのでドン引きしないかとちょっと心配でしたが、娘は「サンタさん、欲しいもの全然持ってきてくれな~い!」と文句は言いつつも、まんざらでもない様子で早速回路集を広げながら、ブロックを組み替えて遊んでいました。すぐに光ったり、音が出たりする実験ができるのが面白いようです。

付属の回路集は電子部品や回路の仕組み等の基礎知識も載っていて、娘にはまだ難しすぎて興味なさそうでしたが、母にはぴったりでした。今まで電子工作で知りたかったことがまとめてあるので、娘と一緒に遊びながら、読んでいこうと思います。

 

 

いつも技術書や資格本等でお世話になっている翔泳社さん。
先日、翔泳社ブックアンバサダーの募集企画に応募してみたら、まさかの当選通知が届いたので、今年の冬休みの宿題が決まりました。

推薦本の中から、私が選んだ本はこちら!
どん!

コンピュータアーキテクチャのエッセンス

コンピュータアーキテクチャのエッセンス
自分で選んだ課題図書と一緒に卓上カレンダーもいただきました。

せっかくなら、こういう機会でもないと積読と化してしまいそうな本にじっくり向き合おうという趣旨で選びました。私はソフトウェアエンジニアなので普段はハードウェアに触れることはないのですが、この本はプログラマ向け(つまり、ソフトウェア専門の人)に書かれているという触れ込みだったので、どうにか読めるかなぁと。

大学の専攻も情報系ではなく、工学部でもなかったのでこういう基礎知識を勉強したことはなかったのですが、今回の企画をきっかけにコンピュータの動作原理を少しでも理解できるように期待を込めて♪

エンジニア以外の皆さんも、同じ翔泳社から出版されている
ルビィのぼうけん コンピューターの国のルビィ
でぜひ一緒にコンピュータの仕組みを勉強しましょう!

先日、『スイッチサイエンス「toio」取り扱い開始記念~「toio」ではじめよう、おうちでロボット開発キャンペーン~』に応募したら、第一弾プレゼントの開発者向けマット(仮称)サンプル版が届きました。
数字やアルファベットが書いてある簡易カードのシートと方眼紙のような簡易プレイマットが各6枚も!
裏側にも絶対座標が埋め込まれていて、12枚並べて大きなマップにすることもできるらしい…すごい。

開発者向けマット(仮称)サンプル版

何ができるかワクワクしますねぇ~!
では、早速遊んでみましょう♪

まずはプレゼントの簡易マットそのまま使って、すぐに試せるもの…
ということで、数字と記号の簡易カードを使って、簡単な計算ゲームを作ってみようと思います。

せっかくなので、ビジュアルプログラミングツールでやってみることにしました。ビジュアルプログラミングは、ブロックを組み合わせてプログラムができる仕組みです。

ひたすらブロックを組み立て。
娘と遊べるように普通の数式を評価できるようにして…(中置記法…意外と難しい!)
10以上の数字も使いたいよねぇ~(どうやって入力させる?)
あれ?簡易カードの「×」や「÷」は「*」や「/」の記号と比較でいいんだっけ…?(無意識にやっちゃったけど、これは慣れてないとわからないかも)

ビジュアルプログラミング

そして、実際にtoioで簡易カードを読みながら、何度もテスト!
数字のカードを読み込むときに間違えても、入力し直せるようにやり直し機能も付けました。

カードにも数字が書いてありますが、見やすいように大きな字でカキカキ。
他にも色々試したいので、届いた袋の上からホワイトボードマーカーで書いてみました。
これなら書いたり消したりできるぞ~!
(toioのタイヤにマーカーのインクが付くのが欠点)

toioで計算ゲームimage

ふぅ~とりあえず、遊べる程度には完成!
時間制限やピンポーン等の効果音でゲームっぽく仕上がりましたよ。

「!」のカードを読み込んでゲーム開始、「1」「5」「+」「2」のように式を入力し、最後に「=」を読み込むと解答の入力待ちとなります。答えを「1」「7」と入力して、「?」を読み込むと答え合わせをし、ピンポーンが鳴れば次の問題に挑戦できます。間違ったらもう一度答えを入力し、「?」で答え合わせをしてみましょう。時間制限内に正答できないと、タイムオーバーです。

toioのタイトルで遊んだりリングでキューブを操作したりするのも楽しいですが、自分で作ったゲーム?で遊べるのも面白いですね。

この計算ゲームは娘も気に入ってくれて、交代で問題を出し合って遊びました。
対戦用にスコア機能も付けてみようかなぁ~?

 

 

 

 

先日うちに導入されたtoioの「GoGo ロボットプログラミング(Goロボ)」は遊びながらプログラミングが学べるのは良いのですが、せっかくtoio本体があるのに付属のリング(コントローラー)でコアキューブを操作する遊びがないのでちょっと物足りなく感じてしまうかもしれません。

工作好きな娘も「トイオ・コレクション」の紹介動画を見て、リングでキューブを動かしたい!と騒いでいますが、最近トイオ・コレクションは品薄気味。
ママにおねだりも、しばらくは難しそう?

toioのリング
リングで操作したいよね?

そんな娘に朗報です!

日々改良されているtoioにはソフトウェアアップデートで新しい機能も提供されていて、最新のソフトウェアを適用すれば、カートリッジなしの状態でもリングでキューブをリモコン操作できるようになるんです。

toioを買ったら、まずはアップデートをしましょう!
おすすめなのはスマホのアプリを使ったアップデート方法です。
コアキューブ単体で購入した場合でもスマホアプリを使えばアップデートできます。

ただし、意外と時間がかかる(コンソールは15分、コアキューブは10分程度)ので、子どもたちに見せる前に済ませておいた方がよさそうです。

アプリに従えばアップデートは難しくありませんが、コアキューブのアップデート手順17がちょっとわかりにくかったです。指示通りにランプを押しながら、電源ボタンを1回押してもすぐには反応しないのであれ?と思ってしまいました。ランプが青く点灯し始めるまで時間がかかるようなので、ランプを押したまま少し待ってみてください。

フリーそうこうのメニューが追加

アップデートを済ませると、「ホーム」に「フリーそうこう」のメニューが追加されました。
カートリッジを刺さずに電源を入れるのがポイントです。

トイオ・コレクションの「フリームーブ」とは別機能らしいですが、方向キーで前後左右への移動、1ボタンで回転、方向キー裏の4ボタンを長押しすると長さに応じてダッシュができるので、十分遊べるのではないでしょうか。

imageimage

娘も早速、レゴや工作でキューブを飾り、動かして遊んでいました。
両方のキューブに電源を入れた状態で「フリーそうこう」のメニューを選択すれば、2つのリングでそれぞれのキューブを操作することもできます。
「これで相撲ができる!」と娘も大喜びでした。

この他にも、コアキューブのプログラミングでできることも増えるので、ぜひアップデートをしてみてくださいね。