パイソンロゴ
Python公式ホームページ

Python(パイソン)とは?

Pythonは1990年代初頭にGuido van Rossum氏によって開発されたプログラミング言語です。文法が非常にシンプルで、書きやすく読みやすい、プログラミングの学習に最適な言語です。また同時に、先進的な概念を備えた実用性最重視の言語でもあり、Google社など多くの企業が開発言語としてPythonを採用しています。ディープラーニングに代表される機械学習の分野ではライブラリの豊富さ・コーディングの容易さ・コードの読みやすさなどが相まって、いまやAI分野の事実上の標準言語となっています。教育分野では、マサチューセッツ工科大学(MIT)とカリフォルニア大学バークレー校がコンピュータサイエンスの入門コースにPythonを採用したことでも近年話題になりました。日本でも、情報処理技術者試験の選択科目として新たに採用されるなど、実用性の高さもさることながらプログラミング言語としての素性の良さに各方面から注目が集まる形となっています。実務・研究・教育の分野で、今後ますます欠かせない存在になることは間違いないでしょう。

PGkidsで学習できること

プログラミング学習からアプリケーション開発・データサイエンス・人工知能分野まで、いまもっとも注目されているプログラミング言語Pythonの中高生から大学生社会人向けの講座です。基礎をおろそかにせず、じっくりとプログラミングの本質を学びます。実用的なアプリケーション(GUIアプリやロボット制御など)を自分で設計し、実際に作れるようになることを最終目標とします。例えば、下記の過去ブログの内容などもご参考ください。

Python基礎コース

最終目標(例): 実用的なGUIアプリケーションをTkinterを使って組めるようになる(Pythonプログラミングのスキル+UIデザインのスキル)

  • Python (Python3) の導入
    • 対話環境(IDLE)の基本操作を覚えよう
      • まずは高性能な電卓として使ってみよう
  • レベル1 (1ヶ月目~)
    • 手続き型プログラミング入門  
      • 変数と代入
      • さまざまなデータ型とコンテナ型
      • 基本的制御フロー(逐次実行・条件分岐・反復)
      • 関数(ファンクション) = 手続き
      • Turtle Graphicsを使ったグラフィカルなプログラミング演習
  • レベル2 (3ヶ月目~)
    •  よりPythonらしいプログラミング技法
      • イテレータの概念を深く理解しよう
        • yield構文を使ってジェネレータを作ってみよう
      • とても便利なリスト内包表記
      • 辞書(dict)と集合(set)を活用しよう
  • レベル3 (6ヶ月目~)
    •  オブジェクト指向プログラミング技法
      • クラス = オブジェクト + メソッド
      • オリジナルのクラスを定義しよう
        • 無の状態からのクラス定義
        • 既存のクラスに機能を追加する「継承」によるクラス定義
    • 標準ライブラリTkinterを使ったGUI プログラミング技法
      • ウィンドウの生成とGUI部品の配置 (UIデザイン)
      • GUIの動作原理の理解
        • イベント駆動とコールバック関数
  • レベル4 (12ヶ月目~)
    •  関数的プログラミング技法に習熟する
      • 関数をデータとして扱おう
      • 高階関数の考え方に慣れよう
      • 実行時の副作用を少なくしよう
      • 積極的にクロージャとラムダ式(lambda)を活用しよう

上級コース (18ヶ月目~)

  • プログラミング基礎が身についている生徒が対象。
    Pythonを深く理解し思い通りにプログラムを書けるようになれば、次の段階としてHaskell(ハスケル)・Lisp(リスプ)・Prolog(プロログ)といった抽象度の高いプログラミング言語の基礎的理解を目指すことも可能です。これらの言語はどれも数学理論に根ざしており、高度な次元のプログラミングへの入り口として最適です。数あるプログラミング言語のなかでも難解といわれる部類の言語で、本格的な習得はとても大変ですが、どれかひとつの言語の基礎的な部分の理解だけであっても思考回路を拡張するには十分です。コンピュータサイエンスの深淵に少しでも触れておくことは、プログラミングのみにとどまらず、勉強や仕事の上でも大きな武器となることは間違いないでしょう。
    • Haskell (Haskell98)による純粋関数型プログラミング入門
    • Prologによる論理プログラミング入門
    • Common Lispによるメタプログラミング入門

プログラミング学習は
人生の転換点になるかも?!

2020年~2022年より小中高等学校でのプログラミング教育の必修化とともに現在センター試験に代わる大学入学共通テストにプログラミングなどの情報科目の導入が検討されています。これもプログラミングを学ぶ動機付けには十分ですが、PGkidsでは受験対策や習い事の一つというよりはもう少し本質的な意味でプログラミング学習に取り組んでもらいたいと考えています。というのは、プログラミングツールの流行り廃りに左右されない本質的なプログラミングを身につけることは、プログラミング能力の向上だけにとどまらず、論理的思考能力と問題解決能力を飛躍的に高め、数学・文章作成・演奏作曲など論理的思考が要求されるあらゆる分野で活かすことができるからです。最後にPythonと楽器を使って出来るプログラミングを動画にしていますのでご覧ください。

さぁ!PGkidsでプログラミングの
扉を開けてみませんか!?