【CS1101】Programming Fundamentals 感想とまとめ

こんにちは。UoPeople日本人学生のみなみです。

2021年9月〜11月の間(2021/2022 term1)に、Programming Fundamentals(CS1101)を受講し、無事単位を取得することができましたので、自身の備忘録及び今後受講する方への情報共有を目的として、授業の内容や感想を記録しておきます。

受講前のレベルと最終スコア

このProgramming Fundamentalsは、Pythonについて学習するコースです。

この講座を受講するまでPythonを見たことも触ったこともなかったため、受講前はずっと文系卒のど素人が大学でプログラミングの単位を取るなんて大丈夫なのだろうか、、と不安に思っていましたが、安心してください!!

筆者は最終的に97.18/100点、クラスで2番目のスコアで合格することができました。なのであなたも絶対大丈夫!です!

筆者
筆者

Final Exam終了後、インストラクターから「あなたの成績はクラスで2位です。よくやった!」と連絡をいただき、めちゃくちゃ嬉しかったです、、。(初回の自己紹介のときにPython初学者である旨お伝えしていました。)

毎週の学習時間

初学者の私がこの講座に費やした時間は、週15時間前後です。

内容はPythonの中でも基礎の基礎だと感じましたので、おそらくすでにpythonを理解している方や、他の言語に精通している方でしたら、もっともっと少ない時間で済みます。

学習方法

ご参考までに、私の毎週の学習フローを、以下に記載します。

①教科書Think Pythonを読む

まず毎週今週の学習範囲が発表されたら、教科書であるThink Pythonを読みます。

Think PythonはMoodleからダウンロードできるほか、こちらからも読むことができます

また、日本語訳もありますので、英語で読んで意味がわからない時は、日本語訳にお世話になりました。

(日本語訳はこちら

ご参考までに、筆者はipadで英語版の教科書を読みながら、重要そうな単語は対応する日本語訳を調べてipad上で教科書に書き込みました。

「parameter= 引数」みたいな。いずれ日本でエンジニアとして働くことも想定して、日本語の用語も押さえておきたいと考えました。

②プロゲートで実際にプログラムを書いてみる

教科書を一通り読んだら、プロゲートというプログラミング学習サイトで対応する問題を解いてみました。

というのも、教科書を読むだけだと機能を理解することはできますが、実際の演習量が少ないと感じたためです。

筆者ははもともとプロゲートの月額会員になっていたのでこちらを演習用に活用しましたが、別にプロゲートでなくても全然良いと思います。

ただ、何か手を動かしてプログラムをかけるような問題集などが手元にあれば、良いと感じました!

教科書にも各章の最後に例題が掲載されていますが、答えがないので初心者には使いづらいです。。。

③課題に着手

教科書を読んで理解し、実際にプログラムを書いて理解を深めたところで、いよいよ課題に取り組みます!

提出課題の下書きはNotionというノートアプリを使用しました。

以下は例ですが、このNotionではボタンひとつでコード用の書式に変更することができます。

上が通常の書式。下がコード用の書式。

また、このコード書式をコピーしてMoodleの課題提出フォームにペーストすると、このコード書式が提出時にそのまま維持されるのでとても楽でした。

コースの内容

このコースで9週間かけて学ぶ内容は、以下の通りです。

  • Unit 1:イントロダクション(教科書:Chapter 1)
  • Unit 2:変数・式・文・関数(教科書:Chapter 2 & 3)
  • Unit 3:条件分岐と再帰(教科書:Chapter 5)
  • Unit 4:関数と戻り値(教科書:Chapter 6)
  • Unit 5:反復と文字列(教科書:Chapter 7 & 8)
  • Unit 6:リスト(教科書:Chapter 10)
  • Unit 7:辞書とタプル(教科書:Chapter 11 & 12)
  • Unit 8:ファイル(教科書:Chapter 9 & 14)
  • Unit 9:Final Exam

対応する教科書のチャプターも記載していますので、もし各Unitの開始前に時間がある場合は、先に教科書を読んで予習しておくのも良いかもしれません。

配点

配点は以下の通りで、Learning JournalとGradedQuiz、Final Examで全体の9割を占めていますので、UoPeople名物・とにかく足を引っ張ってくるPeer問題に振り回されることが少ないです。

Discussion Assignment5%
Programming Assignment5%
Learning Journal20%
Graded Quiz (Units 3 & 6)30% (各15%)
Final Exam40%
合計100%

このコースはEnglish Composition 1 やUNIV1001と違って基本的に皆10点を付け合う優しい世界が広がっていましたが、一度だけ評価をしてくれるPeerが課題を理解しておらず、不当な点数をつけられたことがありました。インストラクターに修正をお願いしたところ、快く修正してくれたので、たった5%と泣き寝入りせず遠慮なくグレードアピールしましょう!

Self-Quizの注意点

Self-Quizに関して、2点ご注意いただきたい点があります!

①Self-Quizを受けられるのはunit期間中だけ

English Composition 1やUNIV1001では履修期間が終了するまでの間、いつでもSelf-Quizを受けることができましたが、このCS1101では毎週Self-Quizを受けておかないと、翌週には前週の問題を見ることができなくなっています!

②Self-Quizの問題は20題以上あるが、一度に表示されるのは10題だけ

前タームで受けたEnglish Composition 1では、毎週Self-Quizの出題は1パターンしかありませんでしたが、このCS1101ではクイズを受けるごとに出題内容が変わります。

Graded Quizは全問Self-Quizから出題されたので、必ず何度もSelf-Quizを回して、出題パターンを網羅するようにしてください。

各unitに用意されているのは20~30題くらいだと思います。

ちなみに、全ての問題が出た後にReviewをクリックすると、

以下のように各設問の答え(The correct answer is ‘False’.)が表示されるようになります。

答えが表示されるようになるまで、問題を解き続けましょう!

逆に、まだ答えが表示されていない時は、未だ見ぬ問題が隠されているということですので、ご注意ください!

Final Examは初見の問題が半分くらい

Final Examは30題中約半分が初見の問題でした。

初見と言っても、Sefl-Quizの問題が理解できていれば解ける問題ばかりだったので、恐れる必要はありませんが、Graded Quizの時のように問題と答えの丸覚え戦法は使えませんでした。笑

ちなみに過去に受講された先輩方の感想を読んでいると、ほとんどSelf-Quizからの出題だったと言っている年もあるので、タームによって少しずつ変化しているのかと思いました。

対策としてはSelf-Quizを何度も解き直すのが有効ですし、それだけで満点を取ることも十分可能です。

おわりに

受講前はとにかく文系卒の私がPythonの単位なんて取れるのか?!と不安で仕方ありませんでしたが、このコースは基礎コースなだけあって、前提知識のない人でも理解でき、単位が取れるようになっていました。

第1タームの自己紹介で「あなたのプログラミング歴を0から10で教えて」という指示があったのですが、クラスメイトの8割がまったくのプログラミング初心者でしたので、自分だけが落ちこぼれるかも、、、と心配する必要はありません!

皆様が無事パスされることを、お祈りしています♪

▼私の受講記録

受講ターム科目名
2020/2021 Term 5【ENGL0101】English Composition 1
2021/2022 Term 1【UNIV1001】Online Education Strategies
2021/2022 Term 1【CS1101】Programming Fundamentals
2021/2022 Term 2【MATH1280】Introduction to Statistics
2021/2022 Term 2【CS1102】Programming 1
2021/2022 Term 3【CS1103】
Programming 2
2021/2022 Term 3【CS 2203】Database 1
2021/2022 Term 3【CS1201】College Algebra

コメント