【OMSCS】CS6300 Software Development Process week2, 3の感想

week2とweek3のやることを終えたのでまた記事を書いていきます。

この記事は、↓の続きです。

目次

SDPはどんなコースか?

コースの正式名称は、Software Develompent Processです。

ソフトウェア開発工程(ウォーターフォール、アジャイル等)や、そこで使われるツール、保守作業等を学べるコースです。実践に近い内容となっており、試験等はなく、ほぼハンズオン形式で行われます。チーム開発も経験できるということで、グループワークもあります。

コースの詳細は下記リンクから読めます!

CS 6300: Software Development Process | Online Master of Science in Computer Science (OMSCS) (gatech.edu)

Week2のTodo

  • 講義動画のP1L4を視聴
  • IntelliJのハンズオンページを実施
  • Git Usageという課題を提出

講義動画のP1L4を視聴

VCS(Version Control System)とは何か?という内容です。

VCSとはバージョン管理システムのことで、AddとCommitとUpdateという必須操作があって、Gitをはじめとしていくつか種類があって、、、

↑のようなことを学びます。

後半は完全にGitのハンズオン講座だったので、多少のGit使用経験があるわたしは完全に流し見ただけで終えました。

エンジニアであれば、だいたいの人はVCSを触ったことがあるはずなので、そういう意味でこの講義動画の内容はかなり軽めです。

最初のインタビュー動画でGitを作った方が出てきてお話をされていたのが面白かったです。

IntelliJのハンズオン

この講義ではJavaとKotlinを扱うため、IDEとしてJetBrainのIntelliJが推奨されています。

今回はそのIntelliJのCreate your first Java application | IntelliJ IDEA Documentation (jetbrains.com)ページを参考に、IntelliJでどうやってJavaアプリを作るのか?を学びます。

IDE使用経験ゼロの人はもちろん、JetBrain製のIDEを使ったことがない人にもありがたいステップでした。

マシンに素のJavaをイチから入れなくても良いっていうのは本当に楽ですね~

Assignment2 Git Usageの課題を提出

今回の課題はGitを使ってみよう!、みたいな内容です。

課題の手引きに「まずはgitリポジトリをクローンして、○○のファイルを作ってその中にXXXと書き込み、それをaddしてcommitして、、、」のような手順が書かれていますので、それにしたがってひたすらgit操作をしていきます。

git clone
git add
git commit 
git push
git merge

この辺りのコマンドを山ほど使います。

gitやコマンド操作に慣れていない人にわかりやすい一方、使用経験がある人には完全に作業と化するような課題でした。

Week3のTodo

  • 動画講義P2L1を視聴
  • JUnit Tutorialを実施
  • 課題3を提出
  • シラバスを元にしたクイズに回答

動画講義P2L1

Requirement Engineeringについて学びます。

これ、日本語訳すると要件エンジニアリング、等になるんでしょうか??要件定義よりももっと上流ぽいので、どちらかというとプロジェクトマネジメント寄りの話なんですかね。

ソフトウェアって、とりあえず動くものを作れば終わり、ではありません。

特に商用するのであれば、多方面からの要求をうまく汲み取って形にし、顧客に使ってもらえないとお話になりません。要求を汲み取るためには、様々なステークホルダーからお話を聞いていかないといけません。

また、ソフトウェアは、そもそもハードウェアがないと動きません。そのため、ハードにどんなスペックを要求するのかという話もでてきます。

ところが、ステークホルダーというのは得てして意見が真反対にいくもの。ハードの要件だって、当然無限にスペックを積めるわけではありません。

そういった要件を引き出しうまくプロジェクトを回していくために、意見をくみ取って交渉し、モデリングして分析をする、という手順を繰り返していくよね、というお話が、Requirement Engineeringでした。

JUnit Tutorial

このコースではJUnitを使ってテストもコーディングしていくので、JUnitの知識も当然必要になります。

JUnit 5 tutorial – Learn how to write unit tests (vogella.com)のリソースを使い、JUnitを体験しました。

わたしは読むだけで終えましたが、実際に手を動かしてみるのもかなり勉強になるんだろうなと思います。

課題3を提出

今回の課題は、Javaの簡単なコーディングと、そのテストを書く、というものでした。

仕様は全部Interfaceに書かれており、それを元に形にしていきます。

仕様自体はそんなに難しくないものの、Javaを仕事で使ったことがなく、プライベートで使うのも1年以上ぶりだった私は、「for文ってどう書くんだっけ?」のレベルでググりまくったので、若干時間を食いました。

また、仕様の英語のニュアンスをくみ取れず、自動採点システムで流れる採点用テストがなかなか通らず1時間苦戦したり、、、笑

なんやかんやで楽しくプログラムを書けた課題でした。

クイズ

こちらは出席点に換算されるクイズです。

シラバスをちゃんと読んだ???という観点で20問くらいあり、なかなかやりごたえがあるクイズでした。

シラバスは結構読み飛ばしてしまうタイプ(だめですよ)なので、このクイズは助かります。

特に、プログラムにおいてライブラリって自動で.gitignoreファイルによって除外されることが多いと思うんですが、それもちゃんとgitにpushしてね、という一文。クイズに出てきてくれて助かりました。

何度でもチャレンジOKなクイズなので、納得いくまで回答できました。

感想

毎週課題にかける時間が少しずつ多くなってきているのが、授業が始まったな~という感じですね。

いちおうエンジニア出身とはいえ、Requirements Engineeringのような、ぼんやりと必要なのは知っているけど知らない、という内容があると、まだまだだなーといつも思います。

来週はどんなことを学べるのか(シラバス読めば書いてあるけど)楽しみです。

Week1の記事は↓から読めるので、よければぜひ!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

20代の元Webエンジニア。
海外大学院体験記や読書ログなど、日々の学びをアウトプットしていきます!

目次