非エンジニア日本人学生によるUoPeople CS1103 Programming 2の振り返り
あらすじ
米国の通信制大学、University of the Peopleでコンピューターサイエンスを専攻している非エンジニア学生が、苦闘の末にCS 1103(Programming 2)でA評価を獲得するまでの道のりをまとめました。今後、この科目を履修する方のヒントに少しでもなれば幸いです。
学生のスペック
観光業の非ITエンジニア(Industrial Engineering/IE)、Java経験はUoPeopleの必須コースであるCS1102と、Udemyの初心者講座のみです。
しかも育休・出産・転居・他大学講義受講(観光学)を挟んで2学期休学してしまい、CS1102の記憶が遠いかなたに失われている状態からのスタートでした。また、CS 1102ではEclipseを使っていたのですが、CS 1103ではInteliJ IDEAを使うことにしました。IDEのセットアップを含めて、すべてが手探り状態での受講開始になりました。
端的に言って、この学科に所属されている日本人学生の方々の中でも、底辺レベルのエンジニアリングスキルと言って良いでしょう。
講義を振り返って
CS 1102からははるかに難易度がはね上がりました。
Labs(プログラミング課題)では、教科書に掲載されているコンセプトを理解した上で、自分でどのような構造のプログラムを書くかを決めねばなりません。CS 1102では手順書が用意されていましたが、CS 1103にはそれがありません。
この点は、この科目の最も面白い点である一方、課題の成果物作成による点数獲得の難易度を高めています。
トライ&エラーで時間を多く食われ、思った通りのアウトプットが出ないときには、白目をむきながら頭を抱え、どうしたらエラーが解決するのかのたうち回ることになりました。どうしても解決できなかったら、1人で悩まず、クラスメイトやslackの日本人学生仲間に聞くのが良いと思います。
一方で、セルフクイズはパターンが少なく、問題を解くことに要する時間はとても少なかったです。
難易度
個人的には、これまでの受講科目で最高だと思いました。プログラミング課題には単一の正解があるわけではないので、明確な解がある数学科目群(線形代数、微積分、統計学入門)よりもはるかに難しいと感じました。
もう一回受講したいかと言われたら、二度とやりたくないです.…。
総勉強時間
1日あたり平均2.5時間×週 7日×8週=約140時間。
我が家の1歳児が就寝してからの夜21時から24時の間を勉強時間に充当しました。ワンオペ育児で寝不足しんどいです。
使用した参考書
「スッキリわかるJava入門実践編 第3版」
Discussion Forumの出題意図を理解するために使いました。イラスト付きで要点を平易に解説してくれています。英文教科書だけではニュアンスが理解しづらい、抽象的なコンセプトについても、日本語書籍を読めば理解できます。初学者の方は、一冊は日本語書籍を持っておいて損はないでしょう。
こちらの入門編はCS1102受講時に購入したのですが、引き続き活躍してくれました。
「アルゴリズムを、はじめよう」
アルゴリズムや、ソート手法の特徴を理解をするために活躍しました。図解多くわかりやすいです。Eckの教科書の英文説明では理解できていなかった知識の補完ができました。
Twitterで振り返るCS1103の旅路
以下、超長文のため、ご興味がおありの方のみどうぞ。
Termの幕開け
Unit 2
Unit 3
Unit 4
Unit 5
Unit 6
Unit 7
Unit 7は課題が難しすぎて卒倒し完全に意識を失っており、期限ぎりぎりまでLabsに取り組んでいたため、Twitterの記録にまともなものがなかったので割愛しました…。
Unit 8
Unit 9
ここまでお読みいただいた(未来の)UoPeople学生のみなさま、ありがとうございました。もしお役に立てたようでしたら、♡のスキボタンを押していただければ嬉しいです。
これからも学習頑張っていきましょう!(白目)