プログラミング未経験者が10時間以内に5つの小さなJavaアプリケーションの実装をする方法　

## はじめに

はやいものでJavaを使い初めてから14年目になる開発者です。

この記事では表題の通りですが、以下を目的としてまとめたものです。

「プログラミング未経験者が10時間以内に5つの動く小さなJavaアプリケーションの実装をする」
*しかも全て無料で

上記を達成するために以下の3ステップを記載しています。
- ステップ1 : 学習サイトの無料コンテンツでJavaの基本構文を学ぶ2時間
- ステップ2 : Youtubeを見ながら開発環境を構築する30分
- ステップ3 : 写経して小さいアプリを作る7時間

自身が初学者の時に結構つまずいたので、こういう風なスタートを切れば良かったなという経験をもとに書いています。同じようにプログラミングにつまずいてしまった人やこれから勉強を始めたい人の役に立てば幸いです。

当記事の後に初学者向けの記事や動画、本などを読むとキャッチアップがよりスムーズにできるのではないかと思っています。
記事内で紹介させていただいている記事や動画は2021年12月12日現在全て無料のものです。



## 想定読者			
- プログラム・Java未経験者	
- 躓いてしまったJava初学者	

## 記事の内容を実践して達成できること				
- Javaの基本の構文が理解できる	
- 開発環境のセットアップができる	
- 小さいコンソールアプリをつくって動かす体験ができる		
- 小さいデスクトップアプリをつくって動かす体験ができる		
- 小さいWebアプリをつくって動かす体験ができる	

## 記事の内容を実践して達成できないこと			
- DBを利用したプログラミング	
- 保守性・可読性の高いプログラミング	

## 達成するコツ				
- 記載してある順番に実施する		
- コードの意味が分からなくてもまず書いて動かす、動いてから考える		
- 書いてある記事や動画がわからなければ、似たような記事や動画を探す

## さぁ 一緒に始めましょう!!

### ステップ1 : 学習サイトの無料コンテンツでJavaの基本構文を学ぶ2時間

手軽に始めましょう。準備は無料アカウント作るだけです。
			
#### CODEPREPでJavaの基本構文を学ぶ(約2時間)			
- https://codeprep.jp/books/52			
- https://codeprep.jp/books/67			
- https://codeprep.jp/books/69

課題をクリアした時の音が気持ちいいですよね。
クリアしたら次に進みましょう!!

こういう形式でもっと基本構文をやりたい人は以下がおすすめですが、次に進んだ方が楽しいと思います。

- https://prog-8.com/lessons/java/study/1		
- https://prog-8.com/lessons/java/study/2
- [codingbat](https://codingbat.com/java)

### ステップ2 : Youtubeを見ながら開発環境を構築する30分					
						
こういう系は記事ではなく動画でなるべく最近のものを探した方がいいと思います。	
猫ちゃんが教えてくれるわかりやすい動画がyoutubeにありました。					
						
- https://youtu.be/E8oMJqKQqvI				
- https://youtu.be/HVL4g_E4o38				
						
コンソールに My name is Tamaとでましたか？				
でたら次に進みましょう!!「タマ。」さんありがとうございました。				
上記でできない人やMacの人はYouTubeで別の動画を探してみてください。

### ステップ3 : 写経して小さいアプリを作る7時間

ついにアプリを作るところまで来ました。プログラミング学習で大事なのはまず写経して動かすという点だと思います。

いろんなタイプのアプリを作り、動いた!! 楽しいという感覚を味わっていきましょう。

#### 3時間で小さなコンソールアプリケーションを3つ作ろう

- [３択クイズ(30分)](https://eng-entrance.com/java-game-sample)
- [おみくじ-リファクタリング込み(60分)](https://ict-skillup.com/java/769/)	
- [ジャンケンゲーム-リファクタリング込み(90分)](https://zenryokuservice.com/wp/2021/03/02/java-%E3%81%98%E3%82%83%E3%82%93%E3%81%91%E3%82%93%E3%82%B2%E3%83%BC%E3%83%A0%E3%82%92%E4%BD%9C%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%8B-%EF%BD%9E%E5%9F%BA%E6%9C%AC%E6%96%87%E6%B3%95%E3%82%92%E3%83%9E/)				
				
リファクタリングまで書いてあるものはできる範囲で次に進んでいいと思います。
					
#### 2時間でデスクトップアプリケーションを1つ作ろう								

- [シューティングゲーム(120分)](https://www.youtube.com/watch?v=ltbWixPqntY)

最近はJavaでデスクトップアプリ作るのはあまり聞かないのでスキップしてもいいですが、割と楽しいと思います。									
															
#### 2時間で小さなWebアプリケーションを1つ作ろう	

					
- [まず学習サイトでHTMLを学ぼう(15分)](https://codeprep.jp/books/1)
- [開発環境のセットアップをしよう(15分)](https://medium-company.com/sts%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e6%89%8b%e9%a0%86/)
- [ブラウザにHello Worldと表示しよう(45分)](https://youtu.be/wRGot6YeaPc)
- [ブラウザの画面で入力した内容を次のページ表示しよう(45分)](https://www.youtube.com/watch?v=FVCOXzSmSjg)

## まとめ			

いかがだったでしょうか? 		

順番を追っていけばつまずく事なく、楽しくキャッチアップできたのではないでしょうか。

これだけいい内容が無料で利用させていただけるので、コンテンツを提供してくれた人に本当に感謝したいです。

他にもWEB上には〇〇分で〇〇をつくってみたや、無料の学習課題がたくさんあるのでぜひ活用してみてください。

DBも同じように学習サイトやYoutubeのセットアップしてみたや、作ってみた系の動画をみながらキャッチアップし、より大きなアプリを作っていくと楽しいと思います。

動くものをつくれるようになってくるともっときれいな（可読性・保守性の高い）コードをかきたいとか、単体テストを書いてみたいとか、そういう欲がでてくるとおもうので、それ系のキャッチアップはまた機会があればまとめようと思います。（読むべき本があるので無料は難しいので、同じコンセプトは無理だと思いますが。。。）

別の言語をキャッチアップするときも基本はやり方は同じなので、機会があればまとめようと思います。

それではアドベントカレンダーということで、良いクリスマスを!!