マガジンのカバー画像

プログラミング教育

45
運営しているクリエイター

記事一覧

7月分投稿のまとめ

7月分投稿のまとめ

毎月の締めです。
7月度は13回ブログアップしたので2日に1回ペースでした。

1.C言語を代表とするプログラミング言語の発展
小学校ではプログラミング教育が始まっていて、スクラッチというプログラミング言語が主に使われています。
スクラッチは非常に分かり易いブロック積み上げ型のプログラミング言語でありますが、教育用には非常に適していますが、アプリケーション開発や組み込み型の制御プログラムにはほとん

もっとみる
イベントドリブン

イベントドリブン

マルチタスクOSの登場で、「見張り役」はほんの一部で、それ以外は「イベントドリブン」と言われる、「何かあったらタスクが起動される」構造にガラッと変わりました。

各タスクは基本的に”スリープ状態”で文字通り「寝ている」わけですが、他のタスクからメッセージやイベントが届くと、むくっと起き上がり、何が来たのか内容を確認して必要な処理を実施して、用が済んだらまた寝ます。
このような構成にすることで、無駄

もっとみる
プログラミング言語の発展

プログラミング言語の発展

前回「時代を変えたC言語」というタイトルで書きましたが、その後ありとあらゆるプログラミング言語が登場します。

実際にシステムやWebデザイン系のように発展した言語(HTML、Javascriptなどなど)とは別に、組み込み系はC++などObject思考言語が実用化され始めましたが、でもやはりC言語系のコード体系が主流であり続けております。
この理由の一つにやはりC言語の卓越した実装のしやすさがあ

もっとみる
時代を変えたC言語

時代を変えたC言語

1980年代の後半に初めてC言語に出会いました。
最初はUNIXというOSを作るために作られた言語ということで、組み込み系のソフトウエア開発にはきっとあまり関係ないのだろうと思ってました。
実際に教育を受けてみて、UNIXの操作性もまあまあ、C言語もさわりだけしか見なかったので、そんなもんか・・という感想でした。

ところが、1990年代に入り、複数の企業がC言語のコンパイラの開発に着手し始め、C

もっとみる

6月投稿分のまとめ

6月も終わったので5月に引き続き6月分のまとめを書いておきます。
6月は26回書いたのでほとんど毎日に近い・・よく続いてます。
最初は問題発見&解決プロセスの話をしようかと思っていたのですが、コロナ騒ぎの時期に相まって、あえて路線変更しました。

1.効率化
6月の前半はほとんど効率化の話。
コロナ騒ぎで世間では在宅勤務してみて、”なんだ結構できるじゃない”とか、”ハンコ押すために会社行かなくちゃ

もっとみる
プログラミング言語

プログラミング言語

プログラミング教育が何で必要なんだろう、というテーマで目的とかどうなってほしいかとか、いろいろ書いてきましたが、そもそもプログラミング言語って何なのか、英語とかの言語?、・・・みたいな勘違いがあると、教育という観点では間違いが起きそうなので、ここでちょっとだけ説明みたいなことを書いてみようかと。

英語は未来永劫英語ですけど、プログラミング言語はどんどん新しいものができて、使う価値がなくなると廃れ

もっとみる
ポインタ変数とは何か?

ポインタ変数とは何か?

よくC言語とかの勉強をしていると、「ポインタ変数」で挫折した!という方がいらっしゃいます。

確かに一瞬わかりづらいのですが、前回投稿したアドレスとデータを理解していただけると分かり易いと思います。

ポインタ変数は、アドレスを格納した変数、のことです。
というと、アドレスは住所、住所が変数?、変数なのはデータじゃないの?
と言われそうですが、こんなふうに考えて下さい。

メモリ上にデータが100

もっとみる
アドレスとデータ

アドレスとデータ

コンピューターの基礎知識の一環ですが、アドレスバスとデータバスについてです。

「アドレスは住所です、データはその住所に住んでいる人です」なんていう説明をむか~し聞いたことがあるかもしれません。

意外とこの説明は的を得ているのですが、メモリにはアドレスがあって、アドレスには番号がふってあります。
普通は0番地から始まり(ハードウエアによっては必ずしも0番地からではないですが)、そのメモリの許容量

もっとみる
コンピューターの基礎知識

コンピューターの基礎知識

コンピューターの基礎知識ですが、そもそも
コンピューターって何?
どうやって動くの?
プログラミング言語って何?
あたりは、本来どんなエンジニアも知っている必要があるのですが、最近は高級言語が当たり前になっているので、このあたりの知識が無くてもプログラミングはできちゃうんです。
でも、コンパイラ(プログラム言語をコンピューターが理解できるように変換するもの)にバグがあったり、OS(オペレーティング

もっとみる
プログラミング教育の再認識

プログラミング教育の再認識

前回まで5Sとプログラミングの関連を書きました。

そこで、またプログラミング教育を受けるとどんな素養が身につくかですが、
①整理整頓
②効率化
③強調性
④保守性(修正しやすいように)
などの重要性に気付く。
それで、実際に勉強するプロセスは「問題発見&解決プロセス」ですと書きました。

またその話かぁ! と言われそうですが、ここ最重要なので。
・きちんと整理整頓し ・・・①
・ムダやムリなこと

もっとみる
プログラマーに求められる素養

プログラマーに求められる素養

前回まで5Sをテーマにして、プログラミングとの関連を書いてみたのですが、実際に整理整頓できていないプログラムを何度も見てきて、「何とかしなくちゃ」という問題解決を実施したことが何度もありましたが、実際には程度にもよりますが、ほとんどの場合どうにもなりません。

一度ぐちゃぐちゃなプログラムを作ってしまうと、どうやって整理していいのか皆目見当が付かない。
ましてや作った人がもういないなんて状況で、ド

もっとみる
プログラミングと5Sのまとめ

プログラミングと5Sのまとめ

プログラミングで最重要なことは保守性だと以前書きました。↓

なぜ5Sを持ち出したのかというと、この保守性を維持するには5Sのような定義と、それらを遵守しようとする気持ちが、すごく重要だからなんです。

それで2回に渡ってプログラミングの5Sを書いてみましたが、簡単にまとめると以下のような感じです。

職場の5S(上の表の左側の列)では、お客様の信頼を得るために、これらを組織全体で推進するわけです

もっとみる
プログラミングの清掃・清潔・躾

プログラミングの清掃・清潔・躾

引き続き5Sとプログラミングの話。

③清掃
5Sの定義=「常に綺麗な状態を保ち、汚れや故障がないか点検すること」

何も変更する必要が無ければ最初に作ったプログラムのままですから、初期状態を維持できるので”綺麗”な状態は保てますが、変更が入るとだんだん汚くなってきます。これって定義にある”汚れ”ですね。
また、潜在しているバグはほぼ100%存在しますので(対象やサイズにもよりますが、私の経験し

もっとみる
プログラミングの整理・整頓

プログラミングの整理・整頓

5Sの定義が「プログラミングのべき論」を言われているような気がする・・と昨日書きましたが、もう少し詳細を書いてみようと思います。

①整理
5Sの定義=「必要なものと不要なものを区別し、不要なものを捨てること」

プログラミングでは、不要なものを作るということは基本的にはやらないのですが、”不要になったものを消す”ということもあまりやりません。
そもそもプログラムを変更する(消すことも含めて)こ

もっとみる