何も考えずに勉強したい人のためのプログラミング系教材まとめ
特に目的もなく、いい感じに勉強ができるプログラミング系の教材まとめメモです。
★☆☆☆:ただのゲーム。でもちょっと勉強になるかも?
教材まとめなのに初手ゲームを紹介します。
一切勉強せずに遊んでるよりはマシみたいな感じです。自分を誤魔化して徐々にモチベを上げていきましょう。
ゲーム:Hacknet
お手軽ハッキングツールでハッキングするゲームなので、セキュリティの勉強になるわけではないですが、CUI 操作で ls コマンドを使ったりポートの名前が出てきたりします。
ターミナルが怖い方、これで慣れましょう。
ゲーム:マルウェア
いわゆるネタゲーなのですが、クリア後の謎解きで、そこそこ専門的な知識が必要になります。
あと、利用規約を読むことの大事さも教えてくれる。
★★☆☆:楽しくてちょっとためになる
勉強になったり為になる内容があるけど、勉強要素抜きでも楽しめるやつです。
勉強したくないけど、勉強したってことにしたい人にオススメです。あの手この手で勉強継続記録を伸ばしていきましょう。
動画:脆弱エンジニアの日常
知識がなくても雰囲気で笑えるコントがアップロードされてたりします。
知識があるともっと楽しいので、このチャンネルを見て勉強のモチベを上げましょう。
ゲーム:while True: learn()
の皮を被った、ただのパズルゲームです。
でも、ステージをクリアするたびにガチな機械学習の教材に誘導されます。
ゲーム:バグハンター2 REBOOT
純粋に RPG として遊べる一方で、技名などが全部バグとかリファクタリングに関する用語になってます。
副読本として、同作者による「良いコード/悪いコードで学ぶ設計入門」をあわせて読むと良い感じ。
ブラウザゲー:VIM Adventures
そう、VIM です。
VIM の勉強ができるチュートリアル的なゲームを通して、タイピング速度で差をつけろ。
無論、VSCode 派の方も問題なく VIM はできます。
慣れてきた人はタイムアタックで、さらに差をつけろ。
★★★☆:勉強になるし役にも立つ教材
お待たせしました本編。勉強のための勉強コンテンツです。
入門サイト:苦しんで覚えるC言語
他のサイトと比べてやや硬派、良く言えば誤魔化しの説明が少ない。
私はこのサイトで育ちました。
競技プログラミング:AtCoder
入社試験とかでコード書かされたり、アルゴリズム力が必要になったり、とにかくコードが書きたかったり。
そんなときは、競プロの問題をやりましょう。
競争なんてしたくないよな人は、本番には出ずに過去問だけやっても良し↓。
問題集:Project Euler
競プロをしたくないという逆張りオタクの方におすすめ
チュートリアル:Pro Git Book
バージョン管理ソフトの Git の教材。ガチな本が全部無料。
ブラウザゲーム:Learn Git Branching
ブラウザ上で Git のコマンドを打つと、コマンドの結果が分かりやすく図で表示されるゲーム的なやつです。
大丈夫、Git は怖くないよ。
チュートリアル:正規表現
でもみんな雰囲気で使ってます。
そんな正規表現の基本文法を試しながら学べる手頃なチュートリアルです。
チュートリアル:The Rust Programming Language 日本語版
文法の入門から、超簡単な Web API まで、超丁寧に教えてくれます。
Rust 興味なくても、他の言語の解像度が1段上がったりするのでオススメです。
問題集:基本情報技術者過去問道場
ぶっちゃけ資格とらなくてもアプリは作れるけど、ふとした瞬間に、「あれオレって何を知ってて何を知らないんだ?」って状態になるので、座学は大事。
他にも、応用情報技術者やら、ネットワークスペシャリストやらもあります↓。
チュートリアル:The Missing Semester of Your CS Education (日本語版)
コードは書いてるけど、Linux 使ったことなくね? な人向け。
プログラミング言語には含まれてないけど、なんか知っておいた方がいい入門的な内容まとめ。
ゲーム:Turing Complete
簡単なビット演算から、アセンブラが動くところまでステップバイステップで勉強できます。
パズルゲームが好きな人や CPU の仕組みが気になる人はどうぞ。
ゲーム:Bitburner
クッキークリッカー × プログラミング
簡単なコードからガチなコードまで、ハッカー気分でプログラミングを学べます。
入門サイト:Developer Roadmaps
バックエンド ~ AI まで本当にいろいろ揃ってる。
何を勉強すればいいか困ったら、とりあえずここを見る。
動画:プログラミング系 VTuber
プログラミング系 VTuber は結構いる。実際に人がプログラミングしてるところを見ると勉強になるし、作業用 BGM にしてもいい
問題集:Python Type Challenges
Python で型を扱う方法が学べる問題集です。
こっからは Web 系
動画:ムーザルちゃんねる
Web フロントエンドのエンジニアがゆるくしっかり技術トークをしてるチャンネルです。
特に、最近の Web フロントエンドの流行り廃りに振り回されて疲れてしまった人にオススメ。
チュートリアル:mdn web docs
まぁ、ここが実質本家みたいなものなので、とにかくここで勉強すると良い。
簡単にサイトが作れる系のフレームワークから入って、よく考えたら CSS ちゃんと勉強したことないなって人は特にオススメ。
内容豊富で情報も新しい
チュートリアル:SQL Tutorial
サクッと一通りの文法をおさらいしたい人にオススメ
チュートリアル:Svelte
個人的オススメ
環境を作らなくてもブラウザ上で試しながら、色んな機能を学べて楽しい。
チュートリアルが手厚いフレームワークはいいですね。
書籍:達人が教えるWebパフォーマンスチューニング
ただ Web アプリを作ってみただけでは満足できなくなった人向け
特に書籍は、環境構築から丁寧にキャッシュなどを活用してアプリを高速化する方法が学べて楽しいです。
こっからはデータ分析・機械学習系
問題集:データサイエンス100本ノック(構造化データ加工編)
データ分析の基礎の基礎をひたすら素振りする感じ
Python、R、SQL の3言語用意されていて、とにかくデータを加工したい人にオススメ。
問題集:言語処理100本ノック
今流行りの、いわゆる大規模言語モデル (LLM) に繋がるまでの技術を一通り触れる骨太な内容です。
データの前処理 ~ 基礎的な分析 ~ Transformer モデルの構築まで、実践的なテキスト処理を学びたい人にオススメ。
チュートリアル:機械学習帳
線形モデル ~ ニューラルネットにクラスタリングまで、基本的な機械学習モデルの使い方とその理論が勉強できます。
たまにこうして、大学の良質な授業資料が無料でアクセスできたりするんですよね。
チュートリアル:データ・マイニング
一つ前で紹介したサイトに比べると、実践寄りの内容
データをあれこれ弄って分析してみたい人にオススメ
★★★★:マニアック過ぎて勉強にはなるけど役に立つかは分からない教材
楽しくて良い教材なんだけど、専門的すぎてどこで役に立つのか分からないやつら
ゲーム:A=B
いくつか機能を追加すると、こんな単純な言語がチューリング完全になったり……
普段のプログラミングとは全然違う筋肉を使ってる感じが楽しいゲームです。
問題集:Type Challenges
普段のコーディングなんて、せいぜい easy レベルで済むでしょと思うほどに、アホみたいな難易度
型機能でソートできるって何?
さいごに
そんな感じで、何も考えずに勉強したい人のためのプログラミング系教材まとめでした。
正直こんだけ挙げてますが、全部やったわけでも、全部覚えてるわけでもないです。
それでも、知識が増えるのは楽しいですし、忘れた頃に必要になって、「あっこれどっかでやったやつ!」ってなるとすごく勉強になるので、忘れたとて一度頭に入れたことは身につくんじゃないかなと思ったり……
みなさんのオススメのプログラミング系教材も教えて下さい!!!ノシ
Discussion