CS1101 Programming Fundamentals (Python)

2024/01/30に公開

CS1101について

このコースは、プログラミングの非常に基本的な部分をPythonを利用しながら学習するコースです。内容もif文やfor-loopなどを利用した処理を実装していくものになるため、Python以外の言語でも、学習したことのある人は簡単に進められると思います。
逆に、プログラミングというものに初めて触れる、という方にとってはCS学位を修めるためには必ず必要な概念であるため、しっかりと基礎作りを行う必要があります。
私自身は、Python含めて学習したことがあったため、学習内容自体はそこまで難しいものではありませんでした。

Unit1~3まで

このコースで学習したいコンセプトとなる部分から「変数」や「式」の概念を利用しながら、偶奇判定プログラムや疑似コードの作成を進めます。if文を単純に利用したり、Nest形式で利用したりします。

Unit4~6まで

様々な関数の形式を、テーマごとに学習します。用語単位で今まで知らなかったものが出てくることもありますが、内容は非常に基礎的なものになります。オブジェクト指向プログラミングで有名な「オブジェクト」の概念もこのあたりで出てきます。

Unit7,8

解くべき課題に応じたデータ構造を学習します。辞書形式やスタック、配列など基本の概念です。概念自体は利用したことがありましたが、「どのような課題のタイプはどのようなデータ構造を利用するべきか」など説明をする必要があるため、今まであいまいに利用していた部分が自分の中でクリアになる感覚があります。

Final Test

私が受験したときは、すべてSelf Quizから出題されました。内容としても「このプログラムの出力はどれ?」や「エラーとなる箇所を特定せよ」のような走行確認をしていけば確認できる非常に簡単な内容です。

コース全体を通して

コース全体を通してそこまで難易度の高さを感じるものではありませんでした。しかし、英語で課題を読んでそれを解く、そしてクラスメートに説明する、というプロセス自体はなかなか時間がかかります。プログラミング系のコース全般を通して言えることですが、課題の量が結構多いため、すべてを愚直に読むと想像より時間がかかります。スピードと期限を決めて進めていくことが重要だと思います。
また、CS1101/CS1102コースくらいまでは「なんでこんなことも理解していない!?」といったクラスメートがいます。UoPeopleの入学ハードルの低さから仕方のないことではありますが、コースをいくつか進めていくにつれてそういった方々は淘汰されていっているので、合わせつつ進めていくとストレスと少なくなると思いまス。

GitHubで編集を提案

Discussion