トイプロ開催スクールコンテスト 3位入賞!
みなさん、こんにちは。さいたま市のプログラミング教室「ツクリウム」です。今日はとっても良いニュースがありました。
それは当校の生徒さんが先日トイプロさんが主催したコンテストで見事3位に入賞をとなったことです!!
子供向きプログラミング言語の大本命「スクラッチ」の意外な問題点
ただコンテストの話の前にトイプロの簡単な説明をしたいと思います。
現在、中学校では技術の時間にプログラミングを学んでいますが、たいていそれはスクラッチ(Scratch)という言語です。スクラッチは初心者に分かりやすいビジュアル言語なのですが、それゆえに高いレベルに移行する段階になると、なまじ使い勝手がよいだけに本格的な言語に移行できない、などの問題が実はあります。
その点「トイプロ」は競技プログラミング形式のAI時代の本命とも言えるプログラミング言語「Python」を学ぶことができるサービスで、特に小学5・6年生からでも始めやすいように設計されています。当校ではスクラッチだけでは満足できないより高いレベルを求める小中学生や、その保護者の方が多いためツールの一つで採用しています。(トイプロの公式ページはこちら)
トイプロのスクールコンテストで3位入賞!
そして先日、「トイプロ」ではスクールコンテスト「TSC001」が開催されました(期間は4月17日~4月30日)。
このようなコンテストは定期的に行われており、実は私たちも初参加でした。講師側の気持ちとしては、まだ生徒達も成長過程ですから問題が出来なくても良いのでリラックスして最後まで挑戦してもらおう、というものでした。また、仮に失敗があっても、それを糧に今後の学びにつなげてもらえれば……という感じだったのですが、なんと参加した生徒の中から一人が3位に輝きました!!
コンテストの内容は、Pythonの基礎を問う競技プログラミング形式で、内容は小学校高学年からでも理解できるような問題レベルからスタートします。競技プログラミングはとかく順位をつけるという構造上、マニアックなパズルのような問題になることもあるのですが、今回のコンテストは小中学生に配慮したバランスのよい問題が多い印象でした。
もちろん全ての問題を解くには、Pythonの基礎をしっかりと学習している必要があります。
しかも競技形式ですのでタイムが早いほうがより良いというルールです。必然的にしっかり学んでいないと時間差で順位が下がってしまうわけで基礎を身に着けるにはちょうどよいのだと思います。少なくとも、それなりの力がなければ入賞はおろか、時間内で全部の問題を解き切るのも難しいはずです。このことは本人にとっても大きな自信となったのではないでしょうか。そんなわけで非常に喜ばしいニュースでした。
そしてまた、より参加者が増え、「切磋琢磨する場」となってほしい、と同時に、「みんなが楽しめる場」であって欲しいとも思います。
「計測できなければ改善することはできない」という有名なフレーズがあるように、結果はどうあれ、一人一人の努力を試す場があれば、また新たな挑戦へのステップとなります。もちろん、たとえ良い結果であったとしても油断は禁物です。まだこの時点で自分に力を過信して努力を怠るのは良くありません。今回の結果から反省点や自信など、様々なものが得られたかと思います。
生徒達には、学んだことを活かし、さらにスキルを積み重ねていくことで、より明るい未来を手に入れてほしいですね。
ちなみにどんな問題?
現在、問題は非公開になっているため、記憶をたよりに1つだけ紹介するとこんな感じでした。
問題:リストxには0~9までの整数がn個入っています。リストxの値を全て漢数字にして表示してください。
必要な変数と入力例
n = 10
x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
さて、答えですがいくつか書き方はあると思いますがこんな感じになります。
まずはmatch文を使うやり方です。
n = 10
x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
#変換用の関数
def convert(n):
match n:
case 1:return('一')
case 2:return('二')
case 3:return('三')
case 4:return('四')
case 5:return('五')
case 6:return('六')
case 7:return('七')
case 8:return('八')
case 9:return('九')
case 0:return('零')
case _:
raise Exception('失敗')
#リストの内容を変換
for i,value in enumerate(x):
x[i]=convert(value)
print(x)
このほかにもやり方はあると思います。例えば辞書を使うやり方は以下の通りです。
def convert_to_kanji(numbers):
# 0から9までの数字を対応する漢字にマッピングした辞書
num_to_kanji = {
0: '零', 1: '一', 2: '二', 3: '三', 4: '四',
5: '五', 6: '六', 7: '七', 8: '八', 9: '九'
}
# リスト内の各数字を対応する漢字に変換
kanji_numbers = [num_to_kanji[num] for num in numbers]
return kanji_numbers
# 使用例
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(convert_to_kanji(numbers))
体験会はこちらから
ツクリウムでは「トイプロ」をはじめ様々なツールやメソッドを活用し、大人になった時に真に役立つ教育をしていきたいと考えています。
Pythonやスクラッチ、Blockly、などを学んでみたい方はぜひ体験会でお待ちしております。
この機会に、ぜひお子様と一緒に競技プログラミングの体験会にご参加いただき、その魅力を実感してみてください。プログラミングがお子様の創造力を刺激し、将来の可能性を広げる一歩となるはずです。お子様が自らの力で問題を解決し、成長する姿を目の当たりにすることができる喜びも、保護者の皆様には何よりの財産となることでしょう。
体験会では、「トイプロ」を使った実際の授業風景をご覧いただき、お子様がどのように学んでいくのかを感じていただくことができます。また、スクールの講師陣が丁寧にサポートし、お子様が安心して学べる環境を整えていますので、初めての方でも安心してご参加いただけます。この機会にぜひ競技プログラミングの世界に足を踏み入れてみましょう。お子様の可能性を広げる新たなチャレンジをツクリウムの体験会から始めてください。
皆様のご参加お待ちしております。
それではまた次回にお会いしましょう。
入会、または、体験会のお申込み
プログラミング教室「ツクリウム」ではスクラッチコースやPythonコースなどを学ぶ、小学生、中学生、高校生、主婦層やシニアなどの初心者向けの講座を通学形式やオンライン形式で開講しています。
お問いあわせ・ご入会・体験会のお申込みは下記のリンクからお願いいたします。
画像をクリックするとお問い合わせページにジャンプします。