Finished CS 1102 Programming 1

2024-06-01 @ushimaru08


UoPeople に入ってから第 3 タームが完了した。今学期は、CS 1102 Programming を受講し、無事最後までやり切ることができた。以下の教材を利用して、Java プログラミングの基本学習した。

https://math.hws.edu/javanotes/

What I learned

授業のシラバスに書いてある「Learning Objective and Outcomes:」に沿って、学んだことをまとめていく。

Explain the key concepts of the Java language.

Java プログラミングの基本を学んだ。変数と関数の宣言、式、制御文、繰り返し文、データ構造、型システム、スコープとライフタイム、エラーハンドリング、標準ライブラリの使い方、OOP、並列処理、JavaFX での UI 実装の方法など、幅広く学習した。

Java で開発するのが初めてだったので、eclipse の環境構築に少し苦戦した。また並列処理に関してはこれまで実務で扱ったことがなく、学んだこともなかったので、スレッドセーフなど、並列処理を用いる際の考慮すべき観点を体系的に学ぶことができたのが良かった。

Implement essential concepts and features of the Java programming language, including object-oriented concepts.

Programming Fundamentals との大きな違いの一つで、OOP について学ぶことが多かった。JavaScript や Dart など、OOP を採用しているプログラミング言語に関しては経験があるので知っている部分もあったが、改めて体系的に学ぶことで、理解していることに対する言語化が進んで良かったと思う。

OOP の学習と同時に、UML に関して自己学習した。今までの実務経験の中で、業務で UML でクラス図を書く機会がなかった(シーケンス図のみ例外で何回か書いている)。構造的にシステムを把握すると言う観点で、UML は有用なので、今後も活用していきたい。

Design, build, execute, and debug Java applications.

課題を通じて、Java プログラミングでのデザインやビルド、デバッグの仕方について、経験的に学ぶことができた。ただし、あくまで例題レベルの問題を解いていたので、実務とは乖離があると感じた。自分がクラスのデザインを担当する際や、もしくは本業の方でテックリードが設計を担当した実装などをみていくことで、学習内容と実務をより深く結びつけたいと思う。

Summary

Java プログラミングと OOP の基本的な部分について学ぶことができた。すでに 3 ターム終了したが、今のところ自分が期待した学習ができているように感じている。 今学期に関しては、本業の方が忙しかったこともあり、Sophia で学習する時間を捻出できなかったのが心残り。次のタームが始まるまでに、取り組み途中の Databse の授業の単位を移行できたらと思っている。

Next term

CS 1103 を受講予定。シラバルを見る感じ、アルゴリズムの話が入ってくるので、楽しみである。