こなさんち

しがないフリーランスエンジニアの備忘録。

子どもに勉強をやってもらうには。

副業として塾講師になってもう2年と半年経過しました。早いですね。

今日の本題は 勉強をしてもらうためには です。

塾に来る子達は割と決まっていて

  • 更に学力を高めたい
  • 勉強をしないから塾に更生させたい

のどちらかなのかなって思います。前者はやる気が無いわけではないので、与えればやるし、わからないところは聞いてきてくれるから、あまり困らない。 わかるように教えるのが仕事なので、それは講師側の課題。

問題なのは後者かなと思います。

親が「勉強しなさい!」と言っても言うことを聞かないので、こちらに頼るんです。それ特に問題ないかなと思いますが、親御さんの協力はちゃんと得ないといけませんね。

なんとかしたい、という割には

  • タブレット/スマホ与えてゲームやり放題
  • 遊ぶことに制限を設けていない
  • 「うちの子やる気ないから~...」と諦めている

という親も多い気がします。

今回はその勉強が嫌いな子をどうするのか、というところにフォーカスを当てます。

私(塾講師)ができること

勉強は点数化されて、順位をつけられてしまう。その上(それ故)、楽しくない。ゲームしてたほうが楽しい。つまらない。 確かに、そのとおり。気持ちはよくわかります。

しかし、勉強をしないまま生きていったらどうなるのか?将来の夢がもしあるのなら、まず叶わないだろう。

「大人になればわかる」の一言に尽きるんでしょうね。

好きなゲームもできない。「好きなことだけして生きていける人生」ではないし、いざとなったら頼れるのは自分だけだということを自覚してもらう必要があるのかもしれない。

私たち塾講師はそれを生徒に合わせて伝えることも仕事かと思います。

また、勉強をするためには、「どうしたら勉強ができるか」という勉強方法も子どものうちに脳や体に叩き込んでいかないと、必要になったときに自分が勉強モードに切り替わってくれないように思います。

高得点を出せというわけではない、真面目にやれというわけではない。

勉強や学ぶということから逃げずに立ち向かうようにするのが仕事なのかもしれない。

うーん、まとまらない。またちゃんとしっくり来たものを書きたい。

参考

同じような意見(?)の記事を見つけたので、参考まで。

rv0048hx.hatenablog.com

子どもに勉強をやってもらうには。

副業として塾講師になってもう2年と半年経過しました。早いですね。

今日の本題は 勉強をしてもらうためには です。

塾に来る子達は割と決まっていて

  • 更に学力を高めたい
  • 勉強をしないから塾に更生させたい

のどちらかなのかなって思います。前者はやる気が無いわけではないので、与えればやるし、わからないところは聞いてきてくれるから、あまり困らない。 わかるように教えるのが仕事なので、それは講師側の課題。

問題なのは後者かなと思います。

親が「勉強しなさい!」と言っても言うことを聞かないので、こちらに頼るんです。それ特に問題ないかなと思いますが、親御さんの協力はちゃんと得ないといけませんね。

なんとかしたい、という割には

  • タブレット/スマホ与えてゲームやり放題
  • 遊ぶことに制限を設けていない
  • 「うちの子やる気ないから~...」と諦めている

という親も多い気がします。

今回はその勉強が嫌いな子をどうするのか、というところにフォーカスを当てます。

私(塾講師)ができること

勉強は点数化されて、順位をつけられてしまう。その上(それ故)、楽しくない。ゲームしてたほうが楽しい。つまらない。 確かに、そのとおり。気持ちはよくわかります。

しかし、勉強をしないまま生きていったらどうなるのか?将来の夢がもしあるのなら、まず叶わないだろう。

「大人になればわかる」の一言に尽きるんでしょうね。

好きなゲームもできない。「好きなことだけして生きていける人生」ではないし、いざとなったら頼れるのは自分だけだということを自覚してもらう必要があるのかもしれない。

私たち塾講師はそれを生徒に合わせて伝えることも仕事かと思います。

また、勉強をするためには、「どうしたら勉強ができるか」という勉強方法も子どものうちに脳や体に叩き込んでいかないと、必要になったときに自分が勉強モードに切り替わってくれないように思います。

高得点を出せというわけではない、真面目にやれというわけではない。

勉強や学ぶということから逃げずに立ち向かうようにするのが仕事なのかもしれない。

うーん、まとまらない。またちゃんとしっくり来たものを書きたい。

参考

同じような意見(?)の記事を見つけたので、参考まで。

rv0048hx.hatenablog.com

タイトル変えた。

健康診断終わってから運動を何もしなかったので、体重がもとに戻ってきてしまったこなさんです。

いやはや、久々に筋トレしたおかげで昨日今日と恐ろしいほどの筋肉痛。

それはさておき、ブログのタイトル変えました。

気取った英語のタイトルよりこっちのほうがいいかなって。

塾の生徒について考えることが今日は多いので…悩みながらもまた記事にまとめます。

最近は…

相変わらず仕事は暇ですね。

ここらへんも詳しく、将来の自分のために上手くまとめていかないと。

コンピュータ構成要素~プロセッサと割り込み~

まえがき

今回は基本情報より、応用情報に寄った記事になります。

というのも、後述の専用レジスタの用途や説明は基本情報の方が多く語られるためです。それ専用の記事はまた別にまとめます。

CPUの構成

コンピュータの構成要素には、プロセッサ(処理装置、CPU)、記憶装置(メモリ)、補助記憶装置、入出力装置があります。

今回は、プロセッサの中身について説明したいと思います。

CPUの構成や高速化の技術、ここらの進歩も目覚ましいですもんね。BTOで構成を選んでいると、CPUの高速化を図る塗料なんてのもあるくらいで驚きです。

ここで言う「プロセッサ」はCPUや処理装置の総称ですが、CPUに置き換えていただいても問題ありません。

プロセッサとは

コンピュータを買うときに考えなければならないCPUの性能ですが、果たしてその「性能」とは何を指しているのでしょうか。

プロセッサとは、コンピュータの演算・制御を行う装置で、コンピュータ全体の司令塔の役割を担います。そりゃ、お金もかかりますね。

プロセッサの中には、レジスタと呼ばれるCPUが処理を実行するために一時的にデータを格納しておくための小容量で高速なメモリ装置があり、そこにデータを一時保存し、レジスタが保持しているデータを足したり、移動させたりなどなど行うんですね。

そのレジスタには多くの種類がありますが、大別すると汎用レジスタという用途を問わずいろんな一時置き場として使われるレジスタ専用レジスタという用途が決まったレジスタがあります。

専用レジスタが汎用レジスタの中に保存された値を用いて、デコーダと呼ばれる中継装置に司令を出し、デコーダが各種制御装置に命令を出します。

割り込み

さて、そんなCPUの作業は止まることなく制御装置に指示を出したりプログラムを作動させていますが、割り込みという「停止を余儀なくされる場合」があります。

これも大別すると2種類あり、プログラムに依って引き起こされる割り込みである内部割り込みと、入力待ちや印刷待ちなど、プログラムが待機せざるを得ないプログラム外に起因する外部割り込みがあります。

割り込みに関してはFE,APともに頻出で「この割り込みの中で外部割り込みはどれだ?」のような出題がされます。

細かく分類したものを以下にまとめますね。

外部割り込み

割込の種類 原因例 概要
機械チェック割込 処理装置の誤動作、電源・電圧異常、メモリ障害、NMI 機械の異常で、ブルースクリーンレベルの異常割り込み。
入出力割込 入出力完了、入出力装置の状態変化(プリンターの印紙切れ、電源OFF) 一般的な待機ですね。印刷ボタンを押した後はプログラムはすることありません。
外部信号割込 外部信号(測定器からの信号)など 赤外線検知など、常に何か監視している状態のプログラムが、異物混入などの例外を発生した場合に発生しますね。
タイマ割込 所定時間・所定時刻経過 待機許容時間をオーバーした場合に発生する、タイムオーバーの割込

NMI:Non - Maskable Interrupt(制御不可能な割り込み)

内部割り込み

割込の種類 原因例 概要
プログラム割込 オーバーフロー、0除算、Exceptionなど プログラム内で起こるエラー。テスト中に見つかるバグによるエラーはだいたいこれ。
制御プログラム呼び出し割込 入出力操作要求、タスク切換え、スーパバイザコール など 他の装置に依頼を出し、完了するまで待機する状態

スーパバイザコール:一般的なプログラムがOSの機能を使用するため、OS制御プログラム(スーパバイザ)を呼び出すこと。

PSW

割り込まれると、プログラムの状態は一旦保存され、再開に向けて待機します。

割込前のプログラムの状態や、現在発生している割込は、PSW (Program Status Word):プログラム状態語 としてスタックされ、状態保持がされます。

今回は以上です。

次回は、高速化について、です!

基礎理論~待ち行列~

概要

今回は 待ち行列 について。

私も当初苦手で「公式覚えるの…?」とか思っていましたが、用途や背景を知ると理解が深まります。

待ち行列とは

その名の通り、「行列にて待つ」度合いの色々を表します。よく例として挙げられるのはレジやATMでしょうか。

例えば、「混み具合」「レジがさばき終わるまでの時間」「ATMで自分の順番が回ってくるまでの時間」など、様々な計算に用いられます。

今回はレジを例として使用していきます。

ケンドール記法

既に待ち行列を学ばれた方なら分かるかもしれませんが FEやAPでは M/M/1 モデル というものを採用します。

というよりも、M/M/1モデル以外は採用されないような気がします。

あらゆる参考書も、本ページも、M/M/1モデル前提で話します。

さて、この ○/○/○ のかたちをケンドール記法と言います。

  • 1つ目の○:サービス発生頻度・・・どの頻度でレジにお客さんが並ぶか
  • 2つ目の○:サービス時間・・・レジで会計開始から終了までの時間
  • 3つ目の○:サービス窓口・・・レジの数

という意味があります。

ここで、「M」というのは簡単に言うとランダムという意味です。

つまり、M/M/1モデルは レジに並ぶお客さんもランダム、会計に係る時間もランダム、レジは1つの場合 を前提した計算です。

分布

ここでは、分布の名前が2種類出てきます。分布は、 発生頻度 のようなニュアンスでおぼえていてくれた良いです。

この分布とは、レジにお客さんがどの程度の頻度で来るかな、などの「ばらつき」を示します。このばらつきの種類が2種類あるんですね。

ポアソン分布

レジに人が並ぶ場合を考えてみると、一人のお客さんもいれば、団体客、また0人の場合もあります。

この0もありうる分布をポアソン分布といいます。

指数分布

これはレジにてお客さんをさばく時間ですね。商品が多く長く掛かる人もいれば、一品で簡単に終わる人もいます。でも、 0はない んですよね。

この0はない分布が指数分布です。

出てくるギリシャ文字(コラム)

別にギリシャ文字でなくても良いのでしょうが、昔から待ち行列では

ギリシャ文字 読み方 意味
ρ ロー 混み具合
μ ミュー サービス率
λ ラムダ 到着率

使い方、意味などは後述しますが、「こんなの使うのか…」と知っておくと良いでしょう。

サービス率

サービス率、とは言いますが、これは「サービスを行う時間」やその指数です。

1時間あたりのサービス数 を表し、「平均サービス」といいます。

逆数は 1件あたりの時間 を表し「平均サービス時間」といいます。Tsという記号があります。

この平均サービス率を「μ」と書きます。

{\displaystyle
μ=1/Ts
}

{\displaystyle
Ts = 1/μ
}

ですね。

到着率

レジに到着する頻度を指します。

1時間あたりの到着サービス数 (1時間あたりに何人お客さんが来店するのか) を表し、「平均到着」といいます。

逆数は 1件あたりの時間 を表し「平均到着時間」といいます。Taという記号があります。

この平均到着率を「λ」と書きます。なんだかトボトボ入店してくる人に見えます。イメージ戦法。

{\displaystyle
λ=1/Ta
}

{\displaystyle
Ta = 1/λ
}

ですね。

利用率

これは、来店する客と、レジにて会計中の人の比率です。

{\displaystyle
λ > μ
}

ならば、会計中の人より来店してる人が多いので「さばききれてない状態」を表します。

この混み具合を「平均利用率」といい「ρ」で表します。公式は以下。

{\displaystyle
ρ = λ / μ
}

待ち時間

この混み具合がわかると次に、「現在何人待っているか」という人数が把握できます。

{\displaystyle
ρ / (1 - ρ)
}

です。

また、1件あたりのサービス時間は Ts でしたよね。μの逆数。

なので、合計で待つ時間を Tw とすると、

{\displaystyle
Tw = (ρ / (1 - ρ)) * Ts
}

おわり

公式ばかりと思うかもしれませんが、根本的な用途は「待っている人数や時間、頻度などを求める学問」です。

以上です!

基礎理論~PERT図~

今回のテーマ

プロジェクト管理技法の1つで、日程管理に用いられる PERT について。

参考図

f:id:cresta522:20190704200525p:plain
PERT

コンナノ。

PERT図って?

図の味方を説明します。

AやらBやら書かれていますが、これらは「作業の名前」と「それにかかる日数」を指します。

作業Aは、開始から終了まで5日かかり、作業Bは作業終了までに10日かかります。

次に、この矢印の意味ですが、前提作業を指します。

  • 作業Fは作業Bが終わっていないと作業開始ができない。
  • 作業Hは作業G,D,E...とすべてが終わっていないと開始できない

といったことが読み取れます。

さて、一番最初の○がすべてのスタートで、一番右の○がすべてのゴール。

これで何が分かるんでしょうね。

読み取れること(最も早く開始できる日程)

作業Cの前提に、作業A,作業Bがあるが、Aは5日かかり、Bは10日掛かるのでCに着手開始することができるのはプロジェクト開始から10日後である。

この「最も早く開始できる日程」を最早結合点時刻という。

このように、次々と 最早結合点時刻を求められるようになるのも必要なスキルである。

以下に、この図から読み取れる最早結合点時刻を挙げる。

  • Aは5日、Bは10日掛かるため、Cの着手開始は10日後
  • FはBの完了後開始できるため、10日後。
  • Gは、Cが20日掛かるため30日後。
  • Dは、C同様10日後。
  • Hは、F,Eの終了が20日後、Dの終了が40日後、Gの終了が50日後なので、最も早く前提作業が終わり、開始できるのは50日後。

作業Hは10日掛かるため、このプロジェクトは早くとも60日掛かることがわかりました。

読み取れること(最も遅く開始できる日程)

最も遅く開始する日ってなんだろう?とお思いかもしれませんが、

「ここまでに開始してくれればプロジェクト終了には間に合うよ」という余裕をもった日程のことです。

最早結合点時刻はスタートからゴールまで計算しましたが、今度はゴールからスタートまで追うことで、余裕日数を求めます。

個人的にはこの逆算が難しいかなって思ってましたが、言葉で説明すると簡単で

  • このプロジェクトには最短60日掛かる
  • Hは50日目までには開始していないといけない
  • すなわち、作業F、Eは50日目までに終わっていないと行けない。
  • とすると、作業Fは少なくとも40日めまでには開始していないと行けない

とわかってきます。

今回求めた最も遅く開始できる日程を 最遅結合点時刻 といいます。

クリティカルパス

さて、ここまで最早と最遅を求めてきましたが、

この日数が同じになる作業というのが存在します。それらは「開始及び終了日がずれたらPJに影響が出る」ことを指すため、重要視されます。

この、 最早結合点時刻 と 最遅結合点時刻 が等しい作業を結んだ線クリティカルパスと言います。

今回を例に取ると、B→C→G→Hがクリティカルパスとなり、重要視しなければならない作業ということになります。

計算は要練習です。

頻出ですので慣れましょう。

以上!

基礎理論~エンディアン~

こんばんは、本日二度目の記事です。

雨が強くなり早々に切り上げます。

今回はコラム的な意味合いで エンディアン についてご紹介。地味にFEだと求められる知識です。

物資の運搬(データの運搬)

例えば、Amazonから大量に10箱届いたら、「これはここ、これはこっち」と分けますよね。

玄関にどかどかと積まれるのも大変ですし、積み方も様々です。

コンピュータにおけるデータの保存や転送も同じように「方法」があるんです。その方法をエンディアンといいます。

エンディアン

2バイト以上の数値データを転送、記録する順番のことです。

これは結果のみ見せたほうが早いですね。

転送は、1バイトずつ行われるのが通常です。00000001で一区切り、11101100でまた一区切り、と。

今回は例として、16進数の 1234ABCD を転送してみます。皆さんは是非2進数に変換してみてください。

1バイト = 8bit = 16進数の2桁 ずつ転送しますが、そこに違いが現れます。

それは、「最上位バイトから転送するのか、最下位バイトから転送するのか」。

前者をビッグエンディアン,後者をトルエンディアンと言います。

具体的にどうなるかというと、

ビッグエンディアン

0 1 2 3
12 34 AB CD

トルエンディアン

0 1 2 3
CD AB 12 34

です。あくまで8bitずつというところに注意しましょう。

余談

当初、メールなどのデータ転送にも「リトルエンディアンで送るよ!」というのを明記しないと行けなかったんですよね。

でないと、12345678円、と送りたかったのに78563412円と送られてくることになってしまいますからね。

今は、統一されています。