![見出し画像](https://assets.st-note.com/production/uploads/images/84745193/rectangle_large_type_2_970c7bcd1cca137d3d2531bc7924658c.png?width=800)
UoPeopleでCS3303を履修した感想
※2022年8月時点の情報です。
UoPeopleでCS3303 Data Structures(データ構造)を履修した感想文です。すでにUoPeopleに入学済みで、今後同講義を受講する予定の方を想定読者としているため、UoPeopleのシステムや独自用語の説明などは割愛しています。
講義内容
範囲
詳細は公式ページにあるとおりですが、CS1103で学んだアルゴリズムの復習とそれらのアルゴリズムの漸近解析をひたすら行っていました。
PrerequisitesはCS1103のみとなっていますが、MATH1302(離散数学)やMATH1201(大学代数学)、MATH1211など、最低限の数学の基礎知識があるほうが進めやすく感じました。
課題・試験
Written Assignments
実質Programming Assignmentです。提出回数自体は少ないのですが、配点はDiscussionと同等なので、ここを落とすと痛手となります。難易度自体はCS1103をクリアしている人間であれば高くないと思われるののですが、jeliotというアルゴリズムをビジュアル化したツール上での実行を求められるため、実装がやや面倒でした。jeliot上でビジュアル化されたアルゴリズムの挙動を見ること自体は楽しかったのですが、実行速度が遅いため、ピア採点にも時間を取られました。
CS3303のコーディング課題、書いたコードがIntelliJでは問題なく動くのにjeliot上ではspilitすら正常に動かないのがかなりつらい。自分のコーディングスキルの問題とはいえ、アルゴリズム以外のところで消耗するのはかなり不本意。
— Cherry (@cherry16198443) July 12, 2022
Discussion課題
毎週出ます。上記のAssignmentがない週はやや重めでした。
Learning Journal
課題の少なさに対して指定Word数がそれなりに多かったため、意外に時間を取られました。あくまで私の居たクラスでの話となりますが、Instructorが「テキストを含む複数文献からの引用」「Quizを含む全課題についての感想の記述」を求めてきたため、Discussionで触れなかったReading Assignmentの範囲についても情報を整理し、記述していました。結果的に提出課題で触れられていなかった範囲を学習する良い機会になったと思います。
CS3303、課題そのものはそれほど多くなくCS1103を終えていれば課題そのものもそれほど難しくないのだが、それが故にLJの話のネタがなくて毎回変に時間がかかってしまう。
— Cherry (@cherry16198443) July 21, 2022
かかった時間
基本的にDiscusstionとLearning Journalのみだったので、週3~10時間程度で済んでいました。異様に時間がかかっている週は前述のプログラミング課題で時間を取られた週になります。アルゴリズムと関係ない入力周りの仕様に拘ってしまったのが原因なので、そこに拘らなければ10~15時間は節約できたと思われます……。
![](https://assets.st-note.com/img/1660521298926-yhE435tKW5.png?width=800)
使ったツール・本など
大学からの指定教科書やツールに加えて、私は以下を利用していました。
開発環境
IntelliJ IDEAで開発を進め、最終的に実行するのはJeliotとしていました。Jeliotで使用されるJDKのバージョンが非常に古いためか両者での挙動がかなり異なっていたため、事前にInteliJで利用するJDKのバージョンをJeliotに合わせておくなどしておいた方が良かったと思われます。
参考書・参考ページ
アルゴリズムについては、CS1103に引き続き、こちらで紹介されていた以下を利用していました。アニメーションがわかりやすいのはもちろん、疑似コードが載っているためコーディング課題の際などに重宝しました。
また、計算量の求め方について、以下の記事も参考にさせていただきました。
序盤少しだけデザインパターンの一部が登場するので本を一冊買ってみたものの、こちらはあまり使いませんでした。
感想
応用情報などで触れたことはあるものの、いまいちわかっているようでわかっていなかった計算量の求め方について、ループ条件などからきちんと計算できるようになったので良かったです。
ちなみに、instructorさんにも恵まれました。熱心な方で、Discussion postに雑なコメントをするとしっかり減点されました。
CS3303、かなり時間をかけてSolutionよりも入力しやすいコードを書いたにもかかわらずこれはplagiarismだと酷い点数をつけてきたピアが居たようなのだが、私がそれに気づいた時点で既にinstructorさんがExcellentのコメント付きで修正してくださっていた。ありがたい。
— Cherry (@cherry16198443) July 26, 2022
この記事が気に入ったらサポートをしてみませんか?