#桑名# はじめてのプログラミング教室

三重県桑名市在住のITエンジニア、たかあきです。はじめてのプログラミング教室を始めましたー。小学生と中学生の子どもがメインですが大人初心者も大歓迎。教室でのワークの様子やプログラミングに関する記事を掲載します。体験と講座のお申込みは、JEUGIAカルチャーセンター桑名(Tel:0594-27-7211)までお願いします。教室についてのご質問は、ブログにコメントいただければ返信します!

Pythonの入門書をご紹介! 『実践力を身につける Pythonの教科書』

桑名はじめてのプログラミング教室のたかあきです。
今日は、私がお勧めするプログラミング言語 Python(パイソン)の入門書をご紹介します。
マイナビ出版から出版されている『実践力を身につける Pythonの教科書』です。

f:id:takaaki-niikawa:20170917234335j:plain

 

私はこれまで、C言語を学んだことがありましたが、Pythonは初めてでした。最近Pythonの人気が高まっていること、コードがすっきりとしていてプログラミングを学ぶ人にとって理解しやすいとの情報を得て、Pythonに興味を持ちましたー。
そこで昨年Pythonの入門書を探していたところ、発売間もなくの『実践力を身につける Pythonの教科書』を発見しました。

 

この本に決めた理由は、下記の通り。

・1冊の本で基礎~応用までカバーする入門書を探していた。

・初心者でも理解できるよう丁寧に説明されていた。

・最初から最後まで詳しく解説されていること。

 

プログラミングの参考書には、基礎から応用までカバーされている本は少ないと思います。また基礎は詳しく記載されているが、応用になると情報量が乏しくなることもあります。

こちらの本ではPythonの基礎はもちろん、デスクトップアプリやインターネットから情報を取得する方法など実践的なことも解説があり、読んでいるとワクワク試したくなることばかりです!

 

先ずは、インストールから始ります。(Windows, Macを使った場合の説明あり)

f:id:takaaki-niikawa:20170917235838j:plain

 

テキストベースだけでなく、デスクトップアプリも手軽に作れます。グラフィカルになっただけで、本格的な感じがしますね。

f:id:takaaki-niikawa:20170918000017j:plain

 

ファイルからデータ読み込みだけでなく、インターネットからデータ取得することもできます。流行りの機械学習にも使えますね!

できることが増えると…こんなプログラムもできるかな。あんなことにも使えるなーと、イメージが膨らみます!!

 

f:id:takaaki-niikawa:20170918000238j:plain

 

ぜひ、一度手にとって読んでみてください。

プログラミング初心者も、経験者も、新しい言語に挑戦してみましょう。きっと初めてプログラムを作ったときの楽しさを思い出します。

 

 

 

わかった!動いた!、pythonで計算問題に挑戦だ!

こんにちわ、桑名はじめてのプログラミング教室のたかあきです。 現在、syu君、sho君の2人がpython(パイソン)に取り組んでいます。 今日は、pythonの練習をご紹介します。

python(パイソン)については、6/19の記事を参照ください。

takaaki.hatenablog.jp

■台形の面積を求めよう

sho君が取り組んでくれたのは、台形の面積を求めるプログラムです。 みなさん、台形の面積を求める方法は知っていますか? sho君さすが中学生、台形の面積を求める公式ばっちり知ってました!

  • 以下が今回の問題です。

f:id:takaaki-niikawa:20170917083425p:plain

  • この課題のポイントは、3つです。

    • 変数に上底、下底、高さの値をセットすること。(sho君はinput関数を使って、変数に値をセットしました)
    • 面積を求める計算をすること。公式は以下だったね。
      • (上底 + 下底) × 高さ ÷ 2
    • 計算結果(面積)をprint関数で表示すること。
  • 実行結果は、下記の通りです。

f:id:takaaki-niikawa:20170917083647p:plain

  • 基本的なプログラムの流れは、スクラッチと同じです。sho君もプログラムの流れは、すらすらと思い付いたみたいです。
  • じゃあパイソンではどうやって組むのかな? 自分で教科書を見ながら関数の使い方を調べていたこと、とても良いと思います。
    • 教室では、「10才からはじめる プログラミング図鑑」を手引きとして使用しています。この1冊で、スクラッチとパイソンの学習に使えるため私のお気に入りです!
    • 詳しくは、昨年12/10の記事を参照ください。

takaaki.hatenablog.jp

  • パイソンで書いたプログラムは、下記になります。
# 台形の面積を求める計算2
a = int(input("上底は?"))
b = int(input("下底は?"))
h = int(input("高さは?"))
daikei = (a + b) * h / 2
print("台形の面積は", daikei, "cm2")

forループを使って、計算しよう

syu君は、今回初めてforのループ(くり返し)を使ったプログラムに挑戦しました。

  • くり返しは、スクラッチの場合、「ずっとくり返す」、「( )回くり返す」「( )までくり返す」の3種類あるよね。 パイソンの場合、forを使って、「( )回くり返す」を作ることができるよ。

for i in range (10) みたいに10回くり返すという書き方と、 for i in range (1, 11) のように、ループ変数"i"が"1~10まで"の範囲でくり返すという指定方法ができます。

  • 以下、forループを使った10回入力した数を合計するプログラムです↓

f:id:takaaki-niikawa:20170917145518p:plain

いちどわかったら、forループを使ったプログラムは簡単。 たった4行でできましたー。

# 入力した数の合計を求める

sum = 0

for i in range(10):
    sum = sum + int(input("?"))
print("合計は", sum)

プログラムの流れはスクラッチと同じ。書き方を覚えたら、すいすい作れます!

みなさんも、プログラミングを通して、頭をきたえようー!

日本のすべてのエンジニアが Happyになるために

日本のすべてのエンジニアが Happyになるために

子どものプログラミング教育から少しだけ話が変わりますが…、

  • 最近日本の労働生産性が低いといった記事や書籍を見掛けます。第三次安倍内閣で「働き方改革実現会議」のテーマとして「賃金引き上げと労働生産性の向上」が取り上げられているとのこと。 この生産性とは、1人あたりのGDPであり、国の経済全体の平均であるとのこと。
  • しかし、どの産業においても、設計者や技術者、製造部門の担当者いずれも真面目で懸命に働き、私語やサボりどころか常に改善をすべく努力している人も少なくない。
  • そう考えれば日本企業の生産性は、マネジメントに原因があると考えるべきです。 そして従業員は、"すべてのセクションにおいてどうすれば生産性が上がるか?" を考えて働くべきですね。(もちろん、この話題に取り上げられている生産性の算出方法が妥当かという議論はあると思いますが…)

  • 私も毎日働き生活する中で、「深く考える」ということを見失うことが多いです。しかし、子ども達や若い世代に言いたいことは、 社会人になるまでは「勉強」は忍耐だと思っていましたが、大人になってからの「勉強」は楽しいです。 社会人は学生と比べて勉強に掛けられる時間は短くなりますね。 だからこそ、もういやいや勉強する必要はありません。いかに自分のために学ぶか。好きなことを学びましょう。

  • 大人には(本当は子どもも同じですが)、テストで平均以上の点数を取ることやクラスで上位を目指す必要はありません。 言うなれば"トップ"しかありません。つまり、自分がやりたいこと、掲げた目標を達成できたかどうかです。

さいごに

  • 日本人は生産性が低いだなんて言われたくありませんよね? 海外の企業で働く技術者の方が優秀だとか、賃金が高いとか聞きたくないですよね?
  • もっと学び、志の高いエンジニアや優秀なソフトウェア開発者が正当な賃金を得て、Happyに生きる社会を目指しましょう!

今回で20回目。アラーム機能付き時計作りのプログラミングに、挑戦だー!

こんばんわ、桑名はじめてのプログラミング教室のたかあきです。

9/2(今回の教室)で、桑名はじめてのプログラミング教室も20回目を迎えました。(生徒・保護者のみなさん、JEUGIAカルチャーセンタースタッフの方々、そして週末気持ちよく送りだしてくれる家族に感謝です!!)

クラッチで時計作り

  • syun君、sho君はスクラッチで時計作りに挑戦してくれましたー。 sho君はアラーム付きの目覚まし時計というお題に対して、スペースキーを押して時間(xx分)をセットでき時間になると時計盤を色で変えて知らせてくれる作品に仕上がりました。な・なんと、0~59分以外を指定すると再入力を求める本物志向の出来栄えに先生ビックリでした!!
  • syun君は、時計盤に15分区切りで色付けして色で時間を判定する作品です。まさか色判定とは・・・。流石です!いろんな時計があって面白いと思う。syun君らしい作品が見れて楽しかったです。

f:id:takaaki-niikawa:20170219011126j:plain

クラッチ野球部のおでましです!?

  • yu君は野球部に挑戦。スプライトを2体とボールを用意して、バットを自分で描きます。
  • ここで、ポイントはスプライトの中心をセットすることです。 スプライトの手元にむかってボールを投げるように、手元に中心をセットします。

f:id:takaaki-niikawa:20170904233529p:plain

  • そしてバットは回転させられるように手元(握る方)を中心にします。

f:id:takaaki-niikawa:20170904233554p:plain

  • 無事にボールを打つことができたかな??次回完成作品を見せて下さいねー。

f:id:takaaki-niikawa:20170904233931p:plain

ボールのスタンプで虹をつくろー!!

  • shiちゃんは、初めて画像効果とスタンプ機能を使った作品に挑戦してくれました。スクラッチの画像効果では、幽霊やモザイクといった効果を画像に加える事ができるよ!
  • 今回はふつうのボールでアーチをなぞりながらスタンプしていき、色の効果で色を変えながら、虹を描いてくれました。きれいな作品ができたねー。

f:id:takaaki-niikawa:20170904234452p:plain

プログラミングのコツは、まず命令(ブロック)の流れを頭の中で組み立てること、そして自分の目で確認しながら試して行くことです。

悩んだ過程があるから、完成したときはとっても嬉しいんです。あなたを悩ませた問題だけが、あなたを成長させます。

8/26 桑名はじめてのプログラミング教室 夏休み1Day 体験教室開催しましたー

こんにちわ、桑名はじめてのプログラミング教室のたかあきです。
夏休み後半の8/26に、1Day 体験教室を開催させて頂きました。

昨日ご参加頂いた方、有難うございました。昨日は6名のお子様(いずれも親子)に参加いただきました☆
夏休みの体験会3日間で、延べ13名です。

8/26(土)…6名 (保育園年長,小2,小3,小4)
7/30(日)…5名 (小学1,小学3,小学5)
7/29(土)…2名 (小学3,小学5)

昨日は低学年のお子様が多かったですが、「ちょっとむずかしかったけど、わかった」と言ってくれました!
PCを持参いただいた方は、もう一つのアクションゲームを家で試してみてくださいねー。親子でプログラム作りをすると、「お!考えてんだね分かってるんだね」と発見もあります。

 

はじめてのプログラミングはどうだったかな?自分で決めた通り、ねこは歩いたね!

 

f:id:takaaki-niikawa:20170731061953p:plain

次のねこがにゃーって言ってストップするプログラムは、頭を使う問題だったね。

f:id:takaaki-niikawa:20170731062209p:plain

体験会では最後にシルエットクイズを作りました。完成した作品で、是非家でも遊んで下さーい。

f:id:takaaki-niikawa:20170731062751p:plain

 

今回はプログラミングに興味を持って、参加いただき有難うございました。

体験教室を通して、コンピュータやプログラミングに関わるきっかけになれば、幸いです。

 

 

Windows PCで手軽にVBSプログラミングをはじめよー

こんばんわ、たかあきです。
今日は、VBScriptによるプログラミングをご紹介します。
先週プログラミング教室の生徒が自己流で、VBScriptを作って先生に見せてくれました。

まだスクラッチしか教えていなかったので、彼の意欲にスゴイと驚きました。
先生、VBScriptの経験がなかったので、生徒にインスパイアされ現在勉強中。

みなさん、VBScriptは、聞いたことありますか?
VBScriptマイクロソフトによるVisual Basic 風のスクリプト言語です。
Microsoft Windows 上で動作させることができ、VBA(Visual Basic for Applications)ととても構文が似ています。

そのため、VBScriptを覚えることで、Excel VBAでマクロを組むことができるようになりますよ!
Excelでマクロ使いこなせたら、仕事が効率的になって、かっこいいーですよね!

 

今日は、その生徒が作った偽ウィルスに対抗して、秘密のパスワードを入力するまでパスワードを聞いてくるプログラムを作ってみましたー。
実際には…、無限ループも困るので10回パスワードを入力したら抜けるように作っています。ご安心を!
(秘密のパスワードはstrSecretpwにセットしている"password"の文字列です)

VBScriptによるプログラミングは、簡単です。
メモ帳でプログラムを作成して、ファイル名を".txt" ではなく、".vbs"に変更します。
できたらダブルクリックすれば実行できます。コンパイラも特別な開発環境も必要ありません。

 

Option Explicit

Dim intCount
Dim strSecretpw, strYourpw

strSecretpw = "password"
intCount = 0

Do
intCount = intCount + 1
strYourpw = InputBox("パスワードを入力してください",intCount)
If intCount = 10 Then
strYourpw = strSecretpw
End If
Loop While strYourpw <> strSecretpw

 

 

 

また、VBScriptの書き方は以下のサイトが大変参考になります。

qiita.com

VBScriptは開発環境やツールのインストールも不要ではじめられます。

コンピュータが好きな人、VBScriptで手軽にプログラミングはじめませんか??

 

スクラッチの落とし穴!? 迷路の抜け道をふさげーー!

こんばんわ、桑名はじめてのプログラミング教室のたかあきです。
前回7月の特別テーマで、syu君が作成した迷路の落とし穴!?をご紹介します。

以下はsyu君が作成した迷路です。マウスで緑色のボールを動かしてゴール(りんご)に向います。途中迷路の枠にぶつかったら負けーのルールです。

どこが落とし穴か分かります~!?

f:id:takaaki-niikawa:20170823000906p:plain

 

f:id:takaaki-niikawa:20170823000814p:plain

 

3・2・1…。

分かったかな!? 実は1秒以内なら迷路の枠をくぐり抜けることができるんです。

このプログラムでは制限時間をカウントダウンするため、「1秒待つ」のブロックがあります。この間は、「もし迷路に触れたなら...」の判定が働きません!!!

 

これはバグですね~。このバグを直すために下記のようにカウントダウンのブロックを別のプログラムに分離させまーす。

これで、「もし迷路に触れたなら...」の判定が「1秒待つ」の影響を受けず、待たされることもありません。

 

f:id:takaaki-niikawa:20170823001307p:plain

 

これで、迷路の抜け道はふさいだよ。やってみて!