難しいと感じたCS1102の続きということでビビっていた上、2週間旅行に行く予定の年末年始にも課題があるのでどうしようと思っていましたが、CS1102より楽だったと思います。
chatGPTのお陰で、というのが大きいですが。
使うテキストはCS1102と同じで、他にも毎回違うLearning Resource上のテキストが紹介されます。
読んでいる範囲もCS1102と同じなので、さらっと理解するのがCS1102、じっくり読んでProgramming AssignmentもするのがCS1103という感じだったのでしょうか。
Discussion ForumとProgramming Assignmentが両方あることは少なく、どちらか一方しか課題になっていないことが多かったです。
Peer Reviewもありませんでした。
Programming Assignmentも、コードに関する説明をWordで書く必要はなく、コード内にJavadocコメントを十分に書くように、という指示でした。
コースが始まれば先々の課題の内容も分かるので、年末年始の旅行中に被る時期の課題はあらかじめ提出できるようにファイルを用意しておいて、旅行中はDFへのコメントとSelf Quizだけ頑張りました。
Contents
Unit 1: Try...Catch...Finally...
try{}catch{}の使い方についてDFに書いて、File操作に関するPAを提出すればOK
CS1102から難易度逆戻りしたんじゃないかというレベルでした
Unit2: Package
packageについて。
DFはなしでPAのみです。
Packageといっても別ファイルでClassを作るのと大して変わらないので、PAもさほど重たくないです。
Unit3: Multithreading
Multithreadingについて
CS1102で少し触れてよくわからなかったやつですね。今回もDFはなしでPAのみ。
このくらいのプログラムだと、一旦chatGPTに書かせてからこのUnitで習った内容に書き換えたり、コメントを足したりすると速いんですよね。
Unit4: Files
FileInputStream、BufferedInputStreamといったI/O操作について学びます。
かつてWebブラウザで使われていたAppletもDFで説明させられるのですが、「セキュリティの懸念があり主要なブラウザがJavaプラグインのサポートを修了していることから、現在はHTML5のようなよりモダンな技術に代替されています」という一文を全員が足すことになるので、なぜAppletを課題にするのか謎でした。
DFだけなので、PAでAppletを構築するとかはないです。
Unit5:JDBC
データベースについてです。(JDBC)
Connection Poolingとか、PreparedStatementとか。
昔ダウンロードしたMySQLをどうやって使えるように環境構築すれば良いのかに苦労しましたが、DFだけなのでコード載せていない人もいました。
Unit6:Generic Programming
Generic Programmingについて。
偶に出てきて分からなかったList<T>とか、<T extends Number>とかについて。
このUnitはDFとPA両方ありましたが、時間をかけるに値するトピックに感じました
Unit7:Networking
Unit4のFile操作の話にNetworkingがからみます。
URLConnectionを使ってネット上のファイルを読み込んだり、ServerSocketを使って情報の送受信をしたり。
PAがチャットアプリの開発で、高度な感じがしました。(chatGPTがなかったらできてなかった)
Unit8:GUI Programming & WEB API
CS1102ではとても時間がかかったので警戒していましたが、今回はそこまででもありませんでした。
CS1102ではSwingを使ってしまったからかもしれません。今回はJavaFXにしたので、UIを作るのにはそこまで苦労しませんでした。
WebAPIを使うというテーマもあったので、OpenWeatherMapというサービスに登録してAPIで最新の天気情報を取ってくる天気予報アプリを作りました。
Finale Exam
相変わらずFinal ExamはReview Quizとは違う内容が出てきます。
Appletはほとんど触っていない上レガシーシステムだと言っているのに、関数の意味など聞いてくるのはセンスないなと思いました。
CS1103の教授は採点甘めで、DFもPAもほぼ全て満点でした。
最後のUnit8のPAだけ9.8点、惜しい、まあAは確定したと思って舐めたのが良くない。