UoPeople CS 1101 Programming Fundamentals (Python) を受講した感想

UoPeopleでの学習も、ENGL1101から数えると3ターム目に入りました。初のコンピューター系授業、Pythonの基礎を習うProgramming Fundamentalsのコースを終えました。

カリキュラム内容

無料公開されている書籍「Think Python」とYouTube動画を利用して、Pythonプログラミングの基礎を学びます。

Think Python紹介ページ(英語)

なお、Think Pythonには日本語訳もありますが、クラスで使用する英語版よりも版が古く、内容が異なっている箇所がいくつかありました。大筋は同じなので、英語版を読んでみて分からないことがあれば日本語版で確認できます。

ThinkPythonの日本語版ページ

最近では動画やスクリーンショット&イラスト入り教材で学ぶことに慣れきってしまっているため、Think Pythonのような図版もほぼなく硬派に文字だけの書籍で学習することにやや難しさを感じました。Youtube動画もあるとはいえ、メインはテキストです。

特に、英語だとテキストをパッとみても単語の意味が頭に入ってこないので(日本語なら飛ばし読みができる)頭の中で音読するか、あるいは単語でPDFを検索するしかなく、すぐに目的の単語や文章を探せなかったりという苦労がありました。

Python Anywhere

授業ではローカル環境にPythonをインストールする方法について学びますが、同時に、PythonAnywhereというブラウザ上でPythonを動かせるサービスも利用が認められています。

ユーザ登録は無料で、授業で使うようなちょっとしたプログラムを動かす範囲であれば無料で継続利用できます。私の場合はデスクトップ・ラップトップ・iPadなど複数の環境を同時に利用しながら勉強していたので、このサービスがとても役立ちました。

もしローカルにインストールしないとキツければそちらに乗り換えよう…と思っていましたが、最後までPythonAnywhereでいけました

難易度・時間

変数や関数の扱い、ファイル読み込みなど、基本中の基本をざっとさらっていくコースなので、他のプログラミング言語を経験していればそれほど困らないかなと思います。課題を出すだけであれば、それほど時間はかからないでしょう。

Discussion Forumでは、「○○を例を用いて説明しろ」という課題が多かったです。ただし、文字数の指定はなく、ピア評価でも「○文字以上で書け」という指示はないので、最短で週に3〜5時間もあればこなせる感じでした。

ただし、テキストブックに出てくるエクササイズに真面目に取り組む場合、それなりに数学の基礎知識が必要ですし、数が多いので解くのにも時間がかかります。あとは、課題そのものの解釈、何を提出すべきかの解釈に若干不安を感じる面がありました。これは私にとって英語が母語ではないので仕方ないかもしれません。

せっかく受講するのであれば、真面目にやる方が身につくだろうなと私も思ったのですが、今期は仕事がいかんせん超絶多忙だったため、真面目に取り組めなかったことが心残りです。

やっぱりインストラクター次第?

今回のインストラクターは熱量が低めのようでした。
追加の投稿(アナウンス、コースフォーラム、Discussion Forumへの回答や追加質問)を全くしておらず、そのサポートの薄さによって脱落しているクラスメイトが多そうでした。他のクラスメイトから私宛に「勉強教えて」とメッセージが来ました…。

今回も、当初は40人程度いたクラスメイトが最終的には半分位の人数になっていました。UoPeopleのコースはそういうものなのかもしれないです。

同じコースを受講した他の方々の話を聞くと、とても丁寧に補足資料を投稿してくれるインストラクターもいるようで、羨ましいです。

このコースに限らず、インストラクターガチャというべきか、やはり割り当てられたインストラクター次第でコース全体の満足度が変わってくるようです。

Final Examについて

少なくとも私が受けたタームは、ほとんどがSelf Quiz等で見覚えのある問題でした。
前日にReview Quizを解いていたため、答えそのものを覚えてしまっている問題もあり、万一、ひっかけだった場合を想定して何回も問題を見直しました。妙な気の使い方をする(笑)
Self QuizとReview Quizの見直しは、特にやっておいた方が良いと思います。

成績

一回、Learning Journalで8点を取ってるのは、課題の意図の読み取りに失敗したからです…。

Discussion Forumは、やはり先手必勝ということで早めに投稿しつつ、MoodleのAdvancedエディタの見出しやプリフォーマットテキストを駆使して読みやすく仕上げると評価が上がりやすいようです。Programming Assignmentは、正答例が公開されるので採点しやすく、おかしな評価もつきにくかったのでラクでした。

全体的にほぼ満点に近い点を取れました。Gradeは念願のA+!

A+は、テストはもちろん、学期中の生徒間評価や提出物の全てでほぼ満点(平均98点以上)を取らないと達成できないので…やり遂げた感あります。とにかく一度はとってみたかったので。

やっぱりプログラミングは英語で学ぶ方が何かと自然だなと感じています。日本語にすると単語の定義が異なるので、何となくチグハグになりがち。やる気出てきました。

次のタームは一息?ついて、ゆるめという噂のPSYC 1504 Introduction to Psychologyをとってみようかなと思います。その間に数学の予習と自習を進めたい…Algebraコースが相当キツそうです…。

CGPA 3.85〜4.0を継続して、いつかPresident’s Listに載るのが目標です。科目によっては相当厳しいのと(数学よ…)UoPeopleで載ったところで客観的な評価は得られなさそうというのもありながらも、自分の目標として。

University of the People関連記事