学生に最初に覚えてもらう開発言語を TypeScript にして良かったこと

この記事でお伝えすること

  • 授業で C 言語と Java を触った学生に、TypeScript で web アプリ開発を行ってもらいました
  • 学んでもらう言語を TypeScript を選択したことで、技術のキャッチアップを手早く済ませることができました。さらに開発の中で出てくる新しい概念の学習を容易にしました。
  • さらに TypeScript が使えるということでインターンに参加できる学生が増え、より深く開発について学ぶ機会に触れることができるようになりました。

背景

こんにちは omochi です。ひょんなことから、参加者にペアメンターが付く学生向けのハッカソンを実施しました。

そこでは、今まで授業でしかプログラミングに触れてこなかった学生に、一律で TypeScript を使ってもらう意思決定をしました。

その結果、自分が考えた web アプリのデモをフロントエンドの実装中心に作成できる能力が養われ、そのままメンターのいた企業でインターンを開始した学生もいました。

作品例 1: https://x.com/hacks_penguin/status/1630463396046082048?s=20

作品例 2: https://twitter.com/hacks_penguin/status/1630467096785334272/photo/1

この記事では特に、技術選定の理由と、具体的にどう作用したのかを述べていきたいと思います。

対象学生

  • 情報系の学生 学年問わず
  • 授業で C 言語と Java を触っている
  • 基本的なアルゴリズムとデータ構造や、オブジェクト指向を授業で習っている

学生の抱える課題

  • 個人開発をしないと、web 開発の企業へ就職しにくい
  • せっかくソフトウェア構築の知見を授業で手に入れるのに、メーカーや大手 SIre へはいけるが、web 系のシステムエンジニアには新卒でなりにくい
  • 学校の授業でいろんなこと学んだけど、結局これはどう使っていいかわからない

あったらいいな、こんな言語

  • C や Java で学習したことが結構使える
  • この言語だけ押さえておけばインターンや就活乗り切れる
    • ここで学んだことの延長線上を、インターン先や、いろんなコミュニティで活かせる

TypeScript がぴったり

静的型付けが、JavaScript の扱いにくさを和らげてくれている

エコシステムがかなり初心者に優しい

  • react+UI ライブラリ
    • 学習コストが高い CSS のプロパティや HTML タグを抽象化してくれる
  • npm による環境構築の楽さ
    • 自分で過去学習のために入れていた前のバージョンと競合して環境が壊れることがない
  • react+vercel
    • デプロイも容易にできるので、デモを人に見せたいと思って localhost の URL を送る悲劇に遭わずに済む

かなり流行っている

  • インターンなど行っている学生は大体使える
  • いろんな企業にお声がけした時に、大体使える人がいる
  • 人がいるということは、参加者全員に一人一人メンターをつけて、まる二日ペアプロしてもらうハッカソンを開ける

補足: ハッカソンの結果

それまで授業以外でほとんど開発してこなかった学生たちですが、 3 日のインプット勉強会と、2 日のペアメンターハッカソンで、全員自分のアイデアをデモとして動かせる成果物を作成しました。 数名はペアとなったメンターの企業でそのままインターンが決まりました。