概要
Progateというプログラミング学習サービスがあります。
入門者向けですが、初学者が基礎を押さえる上で非常に役に立ち、多くの人に活用されているようです。
このサービスは様々な言語を対象としていますが、今回はPythonのお話です。
具体的には、
入門者は超えたはずだが、まだまだ知識は不十分と感じている状態で、自分が分かっている/いない部分を把握する手段
としてProgateを使ってみました。本記事はその記録です。
スキルレベルの現状
私は現在、業務でPythonを使っています。
少し掘り下げたプロファイリングとしては、
学生時代
- 大学の専攻は機械工学
- 授業ではCを少し扱った程度
- 研究室では実験結果の評価手段として、MatlabやSPSSで統計を扱ったことがある
社会人
- 現在入社3年目
- Pythonは入社してから勉強し始めた
- 実際はPythonを扱って1年半程度
- Pythonを用いた実装でいくつかのプロジェクトを担当している
- 深層学習ライブラリも少々
といったところです。
基本的に独学で、まとまった時間を取って勉強して習得したというよりは、業務を進める上で必要なところを調べ、勉強し、取り組んでいるうちにある程度身についた、という実感です。
「ある程度身についた」とは言ったものの、実践を積み上げていく上での基礎は本当に身についているのでしょうか?それを確認するのが今回の目的です。
Progate Pythonコースの構成(2018.08.01時点)
- I 基本
- Ⅱ 繰り返し処理
- Ⅲ 関数・モジュール
- Ⅳ クラス
- Ⅴ 継承
受講前の知識レベル 自己評価
事前に必要/不必要は判断せず、全コースを受講してみます。
理解している↓
- I 基本
- Ⅱ 繰り返し処理
- Ⅲ 関数・モジュール
使ったことはあるが、知識としては怪しい↓
- Ⅳ クラス
- Ⅴ 継承
結論
不安を感じていない内容のコースは受けなくても大丈夫。
自信のないコースを使って知識を整理するのは、なかなか良い助けになる。
受講後の感想
有料サービスであるため、あまり具体的に書き残すのはよろしくありません。
そこで、新たな気付きがあったか?という観点で感想を書きます。
I 基本
きわめて基礎。Pythonを扱ったことがある人なら、やる必要なし。
Ⅱ 繰り返し処理
同上。
ただ、辞書型変数の繰り返し処理では一つ新たな気付きがあった。
Ⅲ 関数・モジュール
同上。
Ⅳ クラス
このあたりから不安があった。
記法に新たな気付きはなかったが、概念を整理するのに助かった。
Ⅴ 継承
良い学びになった。
個人的には特に、メソッドのオーバーライドとsuper()による親クラスの呼び出しが勉強になった。
最後に
プログラミング勉強のためのプラットフォーム、便利ですよね。
プラットフォームというほどではないですが、コースⅢの関数までは分かっている人で、「〇〇を入力として✕✕のような出力を出す関数を書け」という練習を量こなしたい人には、Coding Bat Pythonというサイトがおすすめです。