こんにちは!運営者のハックです。
今回は私が現在受講しているデイトラの「Javaコース」についての紹介です。
デイトラのJavaコースは『マインクラフト』を通じて学習します!
引用:デイトラ|Javaコース
マインクラフトって…確かゲームだよねぇ?YouTuberが実況動画上げているのをよく見るにゃ。ゲームで本当にプログラミングって学べるのにゃ?
マインクラフト(Java版)はプログラミングによってゲームを拡張できるのです!
開発自由度の高い 『マインクラフト』で楽しく学習!
Minecraftは、ブロック、モブ、そしてコミュニティのみなさんで出来ているゲームですブロックは、世界の形を変えたり、建造物を作ったりするのに使うことができます。モブはあなたのプレイスタイルに応じて、戦ったり仲良くしたりすることができます。ソロで、または友達と一緒に、壮大な冒険を体験しましょう。遊び方は百人百様です。
引用:公式サイト|Minecraft
真下に掘り下げる場合を除いて… (公式サイトより抜粋)
マインクラフトJavaエディションでは、プログラミングを駆使して自分だけのゲーム内世界を創造することが可能です。
例えば、Javaを使用して独自のプラグインを開発し、ゲーム内に新しいアイテムやモブ、特別な能力を追加することができます。このカスタマイズ性が、マインクラフトの魅力の一つです。
講義内では実際に、しゃがむ行為(スニーク)をすると花火が打ちあがるプログラムを作って実行したり…
ゲームを開始したらニワトリさん(食料)が出現するプログラムを組んだり…
ベッドで休んだら持ち物が64個に増殖するようなプログラムを組んだり、色々な要素を楽しく実行しながらプログラミングを学習します。
一番最後のやつはもはやチートだにゃ!?
鉄インゴットや食料が64個になったのは嬉しかったのですが、腐った肉などの使い道に困るアイテムも64個に増殖したので処分に困りました…
このように、単に既存のゲームをプレイするだけでなく、プログラミングのスキルを活かして、まったく新しい(一部チート?)ゲームプレイ体験を創出することが可能になります。
ゲームのように学習も徐々にレベルアップしていきます
ただ楽しく学習するだけではなく、実務の開発の流れを確認しながら、プログラミングの設計・開発・バージョン管理・テスト設計や手法・保守のためのリファクタリングなど、現場レベルでの一連の技術・知識を習得します!(公式サイトより抜粋)
引用:デイトラ|Javaコース
最初の学習は基本型、変数、条件分岐、配列、メソッドなど、Javaの基本的な文法を取得します。
基礎文法が終わるとバージョン管理システムの扱い方(Git/GitHub)を学び、オブジェクト指向を学び、SQLを学び、設計と開発を学び…と徐々に学習の難易度が上がっていきます。
それに伴いマインクラフトで実装できる要素の種類も段々と豪華になっていきます。
最初は花火を打ち上げるだけのプログラムを組むだけですが…
学習が進むと『一定時間に敵を倒すとポイントが加算されるミニゲーム』をプログラムで作ったりします。
剣が鉄から最強のネザライトになってる…やっぱりチートなのにゃ。
ゲームでレベルが上がるみたいにプログラミングのレベルも上がるんだにゃ。
就職・転職のためのサポートもついてます!
『現場で通用するスキルを習得し、開発企業へ就職・転職できるレベルを目指す』ことがこのコースのゴールです。
引用:デイトラ|Javaコース
就職・転職のサポートがあるのはデイトラの中でもJavaコースのみ!経歴書の添削など、実績のあるメンターが現場の人事目線での添削をおこないます。
私は現段階ではまだ転職活動辺編の内容は進めていないのですが、ある程度進んだら本格的に転職活動に取り掛かる予定です。
経歴書の添削など、実績のあるメンターが現場の人事目線での添削をおこなってくださるようなので、非常にありがたいですね。
初級編の最初ではJavaの開発環境を整えました。
今までのマインクラフトのスクリーンショットは実際に私がプログラミングコードを作成して実行した際の画像となります。
つまり…実はもう中級の終盤まで学習済です。
なので、学習済の講義は詳しく書かずまとめ記事みたいな形でアップする予定です。
IntelliJをインストールしました。
最初はJavaのインストールから開始しましたが、インストールが終了したら『IntelliJ』というJavaのIDE(統合開発環境)をインストールしました。
引用:IntelliJ IDEA の概要 | IntelliJ IDEA ドキュメント
IntelliJ IDEAは、Java開発を中心に多言語に対応する統合開発環境(IDE)です。コード補完、リファクタリング、エラーチェックなどの機能を備え、開発の効率を大幅に向上させます。
実際の現場で使われるIDEは今回のIntelliJかEclipseが採用されるケースが多いそうです。
左はIntelliJの実際の画面です。
いかにも「プログラミングしてる」って感じの画面で格好いいですよね。
講義ではこの「IntelliJ IDEA」でマインクラフトプラグインの開発を行っていきました!
ここまで受講した感想
ここまでデイトラのJavaコースについて紹介してきましたが、中級編の終盤まで学習した段階での率直な感想を「良かった点」と「惜しかった点」に分けて紹介します。
良かった点 ~ゲームを通して学習するのは楽しい!~
このコース最大の特徴でもある「マインクラフト」を通じてプログラミングを学べるという点については、本当にそのとおりだったなと思います!
プログラミング言語の中でもJavaは他の言語と比較しても学習難易度が高めであると言われています。
Javaは、オブジェクト指向プログラミングの概念を徹底的に取り入れている言語であり、そのため学習の初期段階では難易度が高く感じられることがあります。クラス、継承、インターフェースなどの概念を理解し、適切に使用する必要があるためです。
その反面、一度習得すれば、大規模なアプリケーション開発や複雑なシステムの構築に役立つ深い知識とスキルを身につけることができますし、さらに、近年Javaエンジニアの需要が一層高まっているため転職市場では超売り手市場となっているほど需要の高い言語となっています。
ある転職の市場調査では、なんと正社員Javaエンジニアの求人倍率が21.8倍という調査結果(2022年7月時点)も出ているそうです。
ゲーム作りで楽しんでなければ挫折しかねない難易度でも、乗り切ることができた
実際の学習では講義の動画を見ながらプログラミングコードを作成するのですが、何故かエラーが出ることもあり、エラーの解決方法が分からず四苦八苦することもありました。
エラーの原因をChatGPTに聞いても正確な回答がすぐ判明する訳でもありません。
ぶっちゃけ、何の面白みもないプログラミングコードを作成しているだけであったらストレスが溜まって投げ出していたかもしれません。。
それでも、プログラミングコードが完成しちゃんと動作した時の嬉しさと楽しさがあるから学習を続けられました。
(…傍から見たら遊んでいるようにしか見えないのにゃ。)
惜しかった点 ~完全初心者から学ぶのは厳しいかも~
良かった点の裏返しと言いますか、Javaコースの難易度は高めなので「プログラミングは一切学んだことがありません!」という状態の完全初心者は厳しいと思います。
講義の動画を見て実践するだけでプログラミングスキルが自然と身に付く…ほど甘くはない難易度です。
完全初心者の状態でも受講することは可能だと思いますが、その場合、講義を受けっぱなしにしないで自分で復習をしっかり取り組む必要があると思います。
自分の場合は前の記事でも紹介した「Progate」のJavaレッスンをある程度終わらせ、さらにITパスポートの資格取得と基本情報技術者の学習をある程度行ってから受講しました。
その結果、初級編の内容は「Progate」で学んだ内容の実践編みたいな感覚で学習できたので良かったと思います。
また、分からない箇所や不明な点はChatGPTのJavaコーディング用のGPTsを使用してその都度調べると、授業内容の補完がされ学習効率が格段に上がるのでオススメです。
傍から見たら遊んでいるようにしか見えない!?
先ほど「ねこ奈」もボソッと呟いていましたが…傍から見ると遊んでいるようにしか見えないと思います。
特に私の場合switch用のプロコンで操作するMODを導入したため、プログラミングを知らない親からは【いい年した無職の娘が就職活動もしないでゲームを楽しんでいる】様に映ったようです(あながち間違っていない気がしますが…)。
なので、ご家族の方には誤解(?)されないように事前に説明しておいたほうが良いかもしれません。
最後に
今回は「デイトラJava」コースと実際に受講した感想を紹介しました。
まだコース受講中の身なので全体の感想は言えませんが、少なくとも現時点では「デイトラJavaコースを選択して良かった」と思っています。
この調子でミニゲーム開発編やアプリ開発編もクリアして、Javaエンジニアとして転職を成功させたいです。
今後もデイトラJavaコースで学習した内容を記録していきますので、もし「デイトラJavaコースが気になっている方」や、「Javaの学習内容が気になっている方」の参考になれば幸いです。
ここまでご覧になって「デイトラJavaコースを受講しよう!」と思った方は以下のバナーからでも申し込みができます!
以上、ここまでご覧いただきありがとうございました。
コメント