ラベル プログラミング言語 の投稿を表示しています。 すべての投稿を表示
ラベル プログラミング言語 の投稿を表示しています。 すべての投稿を表示

2020年10月11日日曜日

プログラミングでSDGs

「 プログラミングでSDGs」というイベントへ娘と行ってきました。

https://programming.or.jp/

これのイベントの参加料は1,500円です。ただ、使ったmicro:bitを持ち帰れるので、普通に考えてイベント主催者は大赤字です。(micro:bitだけで2000~3000円+会場費用+人件費)

URLを見てもらえば分かる通り「OR.JP」なので非営利法人のためのドメインです。独立した身としては、非営利法人とはいえ、凄いなと思ってしまいます。



久しぶりに日本科学未来館に行ってきました。



こんな感じで準備されてました。かなり広めの会場に、大型スクリーン3つを備えて、最大15人?定員でした。大抵、こういったイベント(プログラミング)では、男子が多いのですが、この回は女子10名、男子3名位だったと思います。

自分としては「プログラミング+SDGs」ってどうやるんだろう?と凄く興味津々で見てました。micro:bitの通信機能を最大限に生かした手法は、参考になりました。

ざっと説明すると親機側でプログラミングして準備した画面を前に表示。子供たちに子機で、ボートを操作するプログラミングを作ってもらう。最終的に子機から親機へ通信することで、それぞれのボートを動かすことができるようになります。

micro:bitは標準で、こういった通信機能などが備わっていて、凄く良い機器だなと改めて感じました。ただ、micro:bitは「プログラミングするためにパソコンが必要」なのが微妙だなとも改めて思いました。

また「プログラミングでSDGs」の名前のとおり、両方やっている影響で、両方の内容が中途半端になっているとも感じました。短い時間内でやるので、ある程度仕方ないですが、どちらかが濃いめのスタンスでやった方が、良さそうな気がしています。

2020年1月6日月曜日

日本語プログラム言語環境「なでしこ」

日本語プログラム言語環境「なでしこ」が誕生から15周年だそうです。

■特設サイト
<https://jp-pro.net/nade/event/15th-nadesiko/>

プログラミング言語は、英語がベースの物が99%以上だと思います。しかし!日本語のみで、GUIプログラミングできるプログラミング言語が「なでしこ」です。
実際には、使ったことは無いですが、こういったものを作る人って良いですね。

この機会に、使ってみようかな。


2019年12月6日金曜日

こどものプログラミング教育ツール『IchigoJam BASIC』ver 1.4リリース

タミヤロボットスクールで、使用しているIchigoJamですが、年末に1.4のファームがリリースされました。念願の少数の計算ができるか!と思いましたが、入ってなかったですね。
三角関数など、色々機能が拡張されているようです。
詳細は、以下をご覧ください。

■B Inc.
<https://www.b-incorp.com/topics/201912061345/>

処理性能もアップしているようなので、バージョンアップしてみようかな

2019年11月9日土曜日

小名木川小学校

江東区の小名木川小学校では、平成30年度から2年間、東京都教育委員会からプログラミング教育推進校の指定を受けて、必修化前にプログラミング教育を開始しています。

先日、体験会に来た子が小名木川小学校の生徒で、少し話が聞けましたがScratchを使って授業しているようですね。導入としては無難なところですが、実際に授業風景とか見学できないかな。

■小名木川小学校
<http://onagigawa-sho.koto.ed.jp/modules/hp_jpage31/>

2019年4月20日土曜日

プログラミング言語:C

プログラミング言語の話では、絶対に避けて通れないC言語についてです。

1972年誕生で、すご~く古い言語ですが、その後のC++、C#、JAVAなど主要言語の基となった言語です。C言語の由来は「B言語」の次だからのようです。
ちなみに「A言語」はありません。

汎用性が高く、色々な機器に使えるため「プログラミング = C言語」みたいな時期もありました。そのため、C言語を使ったシステムが現在も多く残っており、今でもよく使われるプログラミング言語のTop10に入るほど、伝説的なプログラミング言語です。

ただし、C言語の勉強をすると必ずぶつかるのが「ポインタ」です。ただ、私の理解力では、皆さんに分かり易いように説明するのは無理です。また、誰かの言葉を借りてもよいのですが、それが本当に正しく説明しているのか、判断できないくらい私の理解が浅いため、それもやめておきます。
約3年C言語で開発しましたが何となく覚えて使っていただけなので「ポインタ」をさらっと理解できる人は凄いな~と思っていました。
(特に「ポインタのポインタ」とか今でも意味わかりません。)

じゃぁ、何故、そんな難しい概念があったかというと理由があります。
簡潔に言うとパソコンやサーバのメモリ容量が非常に小さかったからです。

今でこそパソコンで数Gbyte(大規模サーバであれば数Tbyte)のメモリを積んでいますが、1980年代ではまだ16Kbyte、80年代後半になってようやく1Mbyteになるなど、まさに桁違いに容量が小さかったです。1990年代でも8Mbyte~64Mbyteなどそれでもまだまだ不十分でした。

そのため、プログラムで使用するメモリ領域をどうやって上手く活用するかに対応したのが「ポインタ」であり、技術者の腕の見せ所でした。

ただ、考え方が難しすぎるのとハードウェアの進歩でメモリ領域に余裕ができたことで、ポインタの概念をもったプログラミング言語は、その後、減っていきました。

◆今日の名言
人生とは、自転車に乗っているようなもの。バランスを保つためには、走り続けなければならない。
byアインシュタイン

2019年4月18日木曜日

プログラミング言語:JAVA

おそらく、世界で一番使用されているプログラミング言語JAVA(ジャバ)をご紹介します。

1995年誕生なので、これまた古いですね。
JAVAはオブジェクト指向プログラミング言語です。

画期的なのが、プラットフォームを選ばないプログラミング言語であり、そのおかげで世界で一番使われるプログラミング言語になりました。
プラットフォームを選ばないというのを簡単に言えば、Windows、macOS、Linux、UNIX、ガラケー時代の携帯電話独自OS等どんなOS上でも動くということです。

それまでは、使うプログラミング言語により使うOSが決まったり、逆にOSによりプログラミング言語が決まりました。それが、どんなOS上でも動くので、様々な場所で使われるようになったのが、普及した一番の理由です。

他にも細かい理由は、以下のとおり色々ありますが、一番はマルチプラットフォームでしょうね。
・C言語に似ていた。1990年代~2000年代前半は、C言語が主流だったのでC言語の技術者がたくさんいました。それに似たJAVAは移行しやすかったという背景があります。
・統合用のオープンソース・ライブラリーが豊富
・速くてマルチスレッド
・マルチコアにも対応している


◆今日の名言
神は絶対にサイコロを振らない。
byアインシュタイン

2019年4月16日火曜日

プログラミング言語:Python

流行りの言語Python(パイソン)について、紹介します。

Python自体は1991年からと以外に古い言語です。
しかし、話題の人工知能(AI)やWeb開発、教育など広い分野で使われており、現代において主流のプログラミング言語になっています。と言っても、Pythonを使用て開発をしたことがないので私の認識としてはこの程度でした。

ただ、折角の話題の言語なので、使ってみよう!と思い、実際にPCにインストールして使ってみました。

私の感想
「げっ、これヤバイ。何この手軽さと構文ルール。シンプルで素敵!?」

何が凄いって、以下の2点です。

  •  少ないコードでプログラミングできる
  •  コードを読みやすくする仕組みがある


特にシステムエンジニアの方なら分かると思いますが、他人が書いたプログラムを解析する(読む)のってかなり苦痛ですよね。それを緩和させる「インデント(「オフサイドルール」)」が非常に特徴的です。

どんな言語でも、開発時にプログラムを見やすくするために、インデントをつけてプログラミングするのが普通です。ただ、プログラミング言語としては、インデントは不要であり、例えば間違った箇所にインデントがあったり、インデントが1つもなくてもプログラムは動作します。そのため、他の人が、そのプログラムを見た際に誤った解釈をしたり、バグの原因になったります。

Pythonはインデントをプログラミングのルールとして取り入れているのが画期的です。

for文やif文などに続くコマンドにインデントを入れないと「IndentationError:」として構文エラーになります。インデントをプログラミングのルールとして取り込む(間違うとエラーにする)ことで、開発者全員が共通認識としてコードを見れるのは凄いなと思いました。

一時期、JAVAが独走で天下を取るかなと思ってましたが、Pythonが猛追してきたのに納得できました。
ただ、今まで流行らなかったのはインタプリタで実行速度が遅いからですかね。
それが、機械の高速化により速度はあまり気にならなくなり始めて、よりプログラムが見やすく開発しやすい方が優先され始めたのかなと思います。


◆今日の名言
常識とは、18歳までに積み重なった、偏見の累積でしかない。
byアインシュタイン

2019年4月15日月曜日

プログラミング言語:Scratch

MIT(マサチューセッツ工科大学)メディアラボが開発したプログラミング言語

私の独立のきっかけになった言語です。
これを見て、世の中には、本当に天才っているんだなぁ~と実感しました。

ブロックを組み合わせることで、画面上のキャラクターが動くのですが、プログラミングが分かる人が見れば、裏でこうやってるんだなぁとちゃんと想像がつくように出来上がってます。
プログラミングが分からない子供でも、何となくブロックをつなげて、実行するだけでキャラクターが動いてくれるのは、素晴らしいと思います。
また、ブロックにより視覚的にどういった順番にプログラムが動いているのかも一目で分かり易く、プログラミングの導入部分(まず、触って動かしてみる)としては、素晴らしい言語だと思います。

小学生向けのプログラミング教室では、このScratchを使っているところが多いです。
ただ、難点があるとするとScratchをプログラミング言語として、体系的に教えているところはあまりないかなと思います。

どちらかというと、子供にまず触ってもらって、こんなことしたい!といったら、じゃぁ、こうやると出来るよっと言った教え方です。体感的に覚えてもらうだけで、じゃぁ、なんでこうするの?っといった部分を教えているところは少なそうです。(もちろん、体系的に教えているとこともあると思います。)

ただ、元システムエンジニアとしても大変よくできた言語だと思います。

Scratchの画面

◆今日の名言
シンプルに説明できないのなら、それは十分に理解していないということだ。
byアインシュタイン

2019年4月9日火曜日

プログラミング言語:BASIC

プログラミング言語のBASICについて

タミヤロボットスクールでは、BASIC言語を使って、プログラミングを学びます。
人によっては、今BASICやるの?と思う方もいらっしゃると思います。
確かに50年以上前の言語であり、実用性という意味では皆無だと思います。

ただ「BASIC = Beginner's All-purpose Symbolic Instruction Code」の略であり日本語で言えば「初心者向け汎用記号命令コード」です。
名前のとおり、プログラミング初心でも分かり易く、かなりシンプルなプログラミング言語です。
小学生向け(または初心者向け)の導入としてBASICを使って、プログラミングの基本(順次、分岐、繰返し、関数など)を学ぶのは、かなり有効な手だと思います。

結局、プログラミング言語といっても、その時代で流行りがあり、例えば今流行っている言語が、10年後にも使われているか?というとおそらく、別の言語が主流になっているはずです。(今までもそうでした。)
そのため、今の流行りのプログラミング言語を小学生で、勉強しても社会人になってからでは、ほぼ役に立たない状況になると思われます。
それよりは、プログラミングの基本・考え方を覚えて、ほかの言語へ移行しやすい知識を蓄えるほうが有意義と考えています。

もちろん、行番号やGOTO文など絶対に今後のプログラミング言語では、出てこないような古臭い文法も残ってますが、そこを説明・理解したうえで、BASICを勉強すれば問題ないのではと思います。


◆今日の名言
年配の人たちは「これは何?」と尋ねる。でも少年は「これで何ができるの?」と尋ねる。
byスティーブ・ジョブズ

夏休みイベント 親子で学ぶSDGs(ワークブック付き) ■対象:小学3年生~

   7/30(日)に、夏休みイベントとして「親子で学ぶSDGs」を実施します。 今年は夏休み期間中に2回開催(7月と8月)しようと思います。2回目は、お盆期間の金曜日です。ご都合の良い方は是非ご参加いただければと思います。自由研究もついでに終わらせちゃいましょう。 ご予約・イベ...