【N予備校】未経験の学生がプログラミング入門コースを完走した感想

# はじめに

https://www.nnn.ed.nico/pages/programming/

この記事は、とある学生が[N予備校プログラミング入門コース](https://www.nnn.ed.nico/pages/programming/)を終えた感想です。
本当にただの感想しか書いてません。

また、ここに書いてある内容はほとんど私の主観となっております。
それでもよければどうぞ。


# 始めたときの状況

タイトルに未経験なんて書いておいてなんですが、
実は私はN予備校を始めるまでに、プログラミングをやった経験は一応あります。

前に半年ほど[Scratch](https://scratch.mit.edu/)というビジュアル型プログラミング言語をやっていたことがあります。

https://scratch.mit.edu/

それ以外にもプログラミンという、現在はサービス終了してしまっているビジュアル型プログラミング言語をやっていたこともあります。
<sub>ひさびさにやりたいよー...</sub>

https://ja.wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3

また、一応VBAを触ったこともありますが、こちらは触りにすらなってません。
やったことが1ミリも思い出せないです。何も身についてないと思います。


上に書いた三つ以外は一切やったことがありませんでした。
そのため**コードを「書く」プログラミングなんかは全くわからない領域**です。

~~なので未経験ということで...~~


# 実際にやった範囲

ここで言う完走とは、

* 1章から4章までのメイン教材をを終わらせる
* 付録も全て終わらせる
* JavaScript千本ノックという問題集的なものも終わらせる

ということです。


## 教材タイプについて

また、N予備校には

* テキスト教材
* 動画教材
* 生授業

の3つがありますが、
私はこのうち**テキスト教材のみで学習**しました。

動画に関しては、一度動画の最初の方を見たときに「これは自分には合っていない」となぜか思ったので見ませんでした。

また、生授業は、

* わざわざ見に行く理由がなかった
* 年度の終盤から学習を始めたため、見てもついていけないと判断した

ため、見ていませんでした。
<sub>ちなみに、入門コースを完走してから見始めました。</sub>

* * *

上の3つ以外にも問題型の教材もありますが、そちらは全てやりました。
割と楽に終わった記憶があります。

また、教材で詰まったところがあっても、結局質問はしませんでした。
質問する前に自力で解決することが大半だったので...


## 練習問題について

前述したように動画と生授業はやらなかったわけですが、
それ以外にもテキスト教材内にある**練習問題はほぼやりませんでした。**

というのも、練習問題は解いたものをGitHubでプルリクエストとして提出する方式のものが大半だったのですが、当時の私は**GitHubアカウントを持っていなかった**[^GitHub]ので、解いたものを提出することはできませんでした。

そうなるとあまり解く気が起きず、結局ほとんどやりませんでした。




# 完走までにかかった期間

結論から言ってしまうと、プログラミング入門コースを始めてから全ての教材を終わらせるまでに、**だいたい9ヶ月程度**かかりました。

2023年の1月上旬から9月上旬まででようやく終わらせることができました。
これが長いほうなのかはわかりません。

ただ、

* やる気が出たときに一気に進める方式でやっていた
* 最初の方の数ヶ月(2月、3月)あたりはほぼやっていなかった
* 確か5月中旬から6月中旬もほとんど進んでいなかった

ため、実際に教材を進めていた日数はわかりません。


# 入門コースを終えての感想

終わった当初はやっぱり、**ようやく終わった**という感じでした。
ここまで長かったなーと思っていました。

また、やはり**達成感**はありましたが、同時に**喪失感**のようなものもありました。
これから何をしたらいいのかわからないと思っていました。
ちなみにこれは今でも思っています。

そして、ここから専用Slackに参加したり、GitHubのアカウントを作りました。
<sub>GitHubのアカウントとかメイン教材内に作り方書いてあるのに、なんで完走してから作るんでしょうね。
私にもわかりません。</sub>


## 学習している時のこと

まず私は、やる気が出た時にやるというスタイルでやっていました。
一度火がつけばその後は数日ぶっ通しでやるのですが、
火が消えたあとは**数週間何もやらないなんてザラ**でした。

また、当然ながらエラーなんて日常茶飯事だったのですが、
**挫折したと思ったことは一度もありませんでした。**
N予備校が挫折しにくい作りになってるからかなと思っています。

一つ教材を進めるごとに新しい知識が大量に出てくるし、それを一つ一つ追っていくのは大変だったけど、**とても楽しかった**のを覚えています。


## 大変だったこと

教材を進めるにあたって、やっぱりいくつか大変だったことがあります。
ちなみに自業自得なやつもあります。


### GitHubのアカウントが必要

個人的に一番苦労したことがこれです。

メイン教材内でGitHubのアカウントを作るのですが、当然それ以降は**アカウントがあることが前提**になっています。

:::note warn
いつぞやの私がGitHubアカウントを作らなかった[^Github] のですが、
作れない理由なんてなかったので、**完全に自業自得**です。
N予備校は1ミリも悪くないです。
:::


一番最後に作るサービス、つまり入門コースを終えるにあたっての最後の関門で、
かなり**最初の方にGitHubのアカウントが必要**になりました。

必要なんだからいい加減作れば良かったのですが、それは嫌だったので、
結局どうにかこうにかしてアカウントなしでなんとかしました。

ちなみに上のどうにかこうにかだけで数日かかりました。


### 最後の方の説明がちょっと荒い

最初の方はかなり丁寧に書いてくれるのですが(助かる)、やはり最後の方になると説明が雑なところが見かけられます。

一気に20行ぐらいのコード乗っけられると集中力切れるんですよ(泣)
そういうもんだって？解説書いてあるんだから読めるだろって？
いやまあそうなんですけども...頑張れば読めるようになってますけども...

あとできたらコメントをもっと増やして欲しいです。
これだけでだいぶ助かります。 
<sub>by 自分でコメント追加してたら行数が変わりすぎて、教材に書いてあるコードの箇所がわからなくなった人</sub>


## あまり苦労しなかったこと

一方で、教材を進めるにあたってあまり苦労しなかったこともあります。

ここに書いた内容で苦労せずに済んだのは全て**教材が良かったから**です。
教師陣の方々、そういう教材を作ってくれてありがとうございます。


### 英語

まず、私は英語が全くと言っていいほどできません。
...「言っていいほど」ですらないです。全くできません。

タイトルに学生とある通り私は学生なのですが、正直言って英語は苦手科目です。
ちなみに数学も苦手です。

そんな状況でプログラミングができるのかと思うかもしれませんが、意外となんとかなりました。

#### エラーメッセージ

エラーメッセージは当然英語ですが、[DeepL翻訳](https://www.deepl.com/ja/translator)などの**翻訳ツール**を使えば
意外と簡単に読むことができます。
Deepl翻訳はかなりわかりやすく翻訳してくれるので助かりました。

私の場合、[Scratch](https://scratch.mit.edu/)時代は英語が1ミリもわからなかったので、**読みたい英語を見かけたらDeepL翻訳で翻訳するという習慣**がありました。
それが良かったのかもしれません。


#### ドキュメント

ドキュメントの大半は英語で書かれています。
これを読みたいと思った場合、自力で解読なんてまず無理な私ですが、
これも翻訳ツールでどうにかしています。

これに関しては、わざわざDeepLで翻訳するのも面倒だったので、Chromeの機能？の「**ページ全体を翻訳**」を使って読んでいます。
DeepLと比べると精度は落ちますが、まあなんとなく読めればいいので...

といっても入門コースの範囲だとドキュメントに触れる機会は少ないので、
上の手法を使う機会はほとんどありませんでした。


#### 検索

英語じゃないと欲しい情報がないなんてことはあまりなく、知りたい情報の大半は日本語でも解説がありました。
日本語のページでもわかりやすいものは結構あると思っています。

ちなみに英語でしか情報がない時は、ドキュメントと同じように「ページ全体を翻訳」でどうにか読んでいます。


#### 結論

そんなこんなだったので、入門コースを進めるにあたって、**ほぼ英語が読めなくても全くと言っていいほど苦労しませんでした。**

英語できなくてもプログラミングはできると思うよ！(多分)
少なくとも初歩なら意外となんとかなるよ！！


### 環境構築

こちらは入門コースの教材内でかなりわかりやすく説明してあったおかげで、
**あまり悩まずにできました。**

悩まずにできたので書くことがないです。


# 終わりに

ここまでで色々書いてきましたが、一つだけ言えるのは、

**N予備校最高！**

ってことです。

解説はわかりやすいですし、何よりやっていて楽しいと思えます。
就職に有利だとかそういったことは一切分かりませんが、
やっておいて損はないんじゃないかな？

自信を持っておすすめできるコースです。

https://www.nnn.ed.nico/pages/programming/


[^GitHub]: GitHubアカウントを持っていなかったとありますが、メイン教材内でGitHubのアカウントを作る手順があるのに、それを「GitHubのアカウント？なくてもなんとかなるでしょ」とか思って無視して作らなかっただけです。
**作れない理由なんてありませんでした。**