文系社会人から東大情報理工に進学する話(2019冬入試)
約一年ぶりの更新です。
タイトルにある通り、東京大学情報理工学系研究科創造情報学専攻に合格し、今年度から大学院に進学することにしました。
自分のような経歴の人が少ないこともあり、進学のプロセスや院試の勉強を進めるにあたって難儀なことが色々あったので、今後の誰かの参考となるようにそれらのことについて書いておきます。
TL;DR:東大情理院試は勉強過程でCS・数学・プログラミングの知識が身につくのでお勧め
略歴
自分の経歴は MARCH文系卒→IT企業→1年ニート→現在です。
普通に社会人してたら今年度で四年目になります。
会社では営業・マーケティング・ディレクターの仕事をしていました。
ニート期間は4~8月プログラミングスクール、9~2月 院試勉強という感じで過ごしていました。
9月時点での知識はCS関連はゼロ、数学の知識は高校2年レベルも無いくらいでした。
数学については例えば、Σの意味すら知らなかったし、logの意味さえ忘れていました。
プログラミングはRailsでウェブアプリ作れる程度でした。
試験概略・結果
試験は、
・専門科目(コンピュータサイエンス )
・プログラミング(or数学(夏のみ選択可))
・英語(TOEFLibt(orTOEFLitp(夏のみ選択可)))からなります。
また、最近は時流もあってか試験の倍率が上がってきています。
2019冬入試の合格者は14/51でした。
ところが、得点率で言えばそこまで高くは要求されないように思います。
5割前後で合格する人もいたようでした。
要求される知識の幅が広いのでそのくらいに落ち着くのかもしれません。
自分は下記の点数で合格しました。
専門科目 178/300
プログラミング 180/300 (去年の200点から配点が上がった?)
TOEFL 89/120
専門科目
大問3構成で得点率は7割解けたら十分、最低5割って感じかなと思います。
勉強量は、当初過去問を見ても見積もりが難しかったのですが、とりあえず
「とても広い分野の基礎知識を抑えて頭の中で再構成できる程度の知識量」が必要かなと思います。具体的には僕は約2000h程度時間を投下しました。
というのも他の大学院試では、毎年同じような分野から問題が出題されるので割と少ない勉強時間で行けるようなのですが、
創造情報学専攻では、専門科目の特に大問1,2は近年顕著な傾向が掴めないため特定の分野のみ勉強するという事が難しいように感じたので多めに勉強しました。
まぁ、とは言ってもなんとなく出やすい分野に若干偏りもあるような気がします。
また、「自分が出題者だったらどこが出しやすいか?」を想像しながら勉強すると結構絞れる気がします。
例えばアルゴリズムなら、効率の悪いアルゴリズムの処理を追わせた後にそれを改善ができるかを考えさせる問題、
アーキテクチャなら、なぜ3オペランド形式が採用されているのか、などの本質的な問いが出やすい、などが見えてきます。
そういった出題の思想を理解するためにも過去問は早めにやってみると良いかもしれません。
他にも、ILSVRCで深層学習が優勝した翌年(2013)には画像処理の問題が出たり、
アルファGOがバズった年(2016)には強化学習の問題が出たりと、その年のニュースをテーマにした問題が出ているようにも感じました。
参考に自分の勉強した分野を記載します。降順で優先順位って感じです。
・アルゴリズム
・論理回路
・コンピュータアーキテクチャ
・機械学習
・ネットワーク
・オペレーティングシステム
・コンピュータグラフィックス
---頻度の壁-----
・ロボティクス
・情報理論
・離散数学
・数値計算
・(信号処理、形式言語、言語論) *語彙問題のために軽く勉強
■大問1,2
とても範囲が広いので、自分の合格志望度と勘案してどの範囲をどの程度やるのか考えて勉強するのが良いと思います。
そして、当たり前なのですが、専門科目の顔してその内容には普通に数学が入ってきます。
(アルゴリズムの計算量証明、機械学習のパラメータ最適化法、グラフィクスの座標変換など)
なので、全く数学をやってなかったという人は、最低限の微積・確率統計・線形代数(学部2年程度?)は結局必要になるなと感じました。
そしてそれらの理解には、当然指数対数関数・三角関数・ベクトルなどの知識が必要になります。
これらの概念を直感的に理解、再現するのに結構時間を使ったので勉強時間は多くなりました。
本番では、下記の問題が出ました。結構忘れてるので雰囲気のみ参考にしてください。
①ハフマン符号化
⑴:ナイーブに符号化した場合の平均符号長
⑵:⑴の欠点
⑶:⑴の改善方法
⑷:⑶の平均符号長
⑸:⑶のアルゴリズム
⑹:⑸の計算量と証明
⑺⑻:符号化の問題を最適化問題として定式化する?(わからなかった))
②色々な構成でのメモリアクセス速度・キャッシュヒット率
⑴:1階層のメモリアクセス速度
⑵:配列[0]、[8]、[16]と飛び飛びにアクセスする際のキャッシュヒット率
⑶:⑵の平均メモリアクセス速度
⑷:忘れた
⑸:キャッシュを2階層にした時の⑵を100回行った時のキャッシュヒット率)
■大問3(語彙問題)
他の人を参考にwikiで概念をまとめ、自分で再現できるまで覚えました。
具体的には、8行まとめを200個くらい作って覚えました。
他の大問の問題の振れ幅が大きいので、ここで9割程度取っておきたかったのですが本番では事前に覚えたうちの1つしか出ず焦りました。w
(他の3つは字面から予想して書いて、幸運にもあとで調べたら合っていました。)なのであまりお勧めはしません。
本番では下記の用語が出題されました。
サポートベクタマシン
サーバーのスケールアウト
ハッシュ表
ブルートフォース攻撃
ラグランジュの運動方程式
ボリュームレンダリング
ECL(emitter coupled logic)(多分)
プログラミング
1つのテーマに沿ってアルゴリズミックな問題が合計7問程度出ます。7割程度を目標に、でも3割でも合格している人もいるみたい。。?
1日2時間程度、創造情報の過去問を1年分またはAtCoderのABCセットを解いていました。
行列計算・文字列処理・乱数生成・メモ化・コッホ雪片・フィボナッチ数列・幾何など様々な分野から出題されます。
基本的な処理を覚えて過去問練習とAtCoderC問題が7割くらいの確率で解けるようになれば割と解けるようになるかと思います。
本番では無向グラフ問題が出題されました。
「1 0 1 0 1 0 0 0 1」のように1と0からなる数字が無数に並んでいる1次元データを隣接行列に直して色々答える問題です。
⑴連結成分の数
⑵頂点/辺/次数の最大数
⑶⑵の最短経路
⑷別のファイルの頂点/辺/次数の最大数
⑸⑷の最短経路(実装の際に工夫したところを口頭試問で問う)
(テキストファイルが圧縮されているのでそれを復元し)
⑹橋となる辺の数
⑺忘れた
午前のプログラミングパートは全ての回答を回答用紙に記入してそれを提出する形式でした。
午後は、⑸の工夫した点、1次元データをどのようにグラフ処理したか、と最短経路算出にどの程度時間がかかったか聞かれました。
めちゃくちゃシンプル。
終わりに
今回の院試の勉強はそれなりの時間をかけて勉強をしたので、とても身になることが多かったです。
一年前までは数学はlogすら忘れており、プログラムも全く書けず、だったのでできることは増えました。
特に数学は本来は高校3年から積み上げていくものを半年で詰め込んでいるのでまだまだ穴だらけかと思いますが、
それでも応用を視野に入れた数学の勉強はとても楽しかったのでこれからも毎日継続していきたいと考えています。
入って終わり、にならないようにこれまで以上に研究に力を入れて成果を出せるように精進しないと。。
そして、自分の場合は身近に院進している人が少なく得られる情報が少なかったのですが、
ネットで受験記を書いている人やツイッターでの質問に快く答えてくれる人のおかげで適切にやるべきことを整理できて、結果合格できたと思います。
その方々には本当に感謝しています。
最後に、もし今受験を考えている人がいるのであればできる限り力になりたいと思うので、
お気軽にコメントやツイッターのDM等で質問いただけると嬉しいです!
勉強につかった資料・その他
自分が勉強で使った資料をここに貼っておきます。
・アルゴリズム
定番。ですが今年はここにないアルゴリズムの問題が出ています。
- 作者: 五十嵐健夫
- 出版社/メーカー: 数理工学社
- 発売日: 2007/10/01
- メディア: 単行本
- 購入: 14人 クリック: 122回
- この商品を含むブログ (10件) を見る
アルゴリズムイントロダクション 第3版 総合版:世界標準MIT教科書
- 作者: Thomas H. Cormen,Clifford Stein,Ronald L. Rivest,Charles E. Leiserson
- 出版社/メーカー: 近代科学社
- 発売日: 2018/01/09
- メディア: Kindle版
- この商品を含むブログ (4件) を見る
プログラミングコンテスト攻略のためのアルゴリズムとデータ構造
- 作者: 渡部有隆,Ozy(協力),秋葉拓哉(協力)
- 出版社/メーカー: マイナビ
- 発売日: 2015/01/30
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (7件) を見る
・論理回路
鉄板。ですが過去問の出題形式と問題で若干違う。
(カウンタをD-FFで作るか、JK-FFを使うのか、など)
- 作者: 坂井修一
- 出版社/メーカー: 培風館
- 発売日: 2003/10/01
- メディア: 単行本
- 購入: 9人 クリック: 112回
- この商品を含むブログ (3件) を見る
・コンピュータアーキテクチャ
鉄板。わかりやすい。今年のアーキテクチャの問題もここにはなかった。
コンピュータアーキテクチャ (電子情報通信レクチャーシリーズ)
- 作者: 坂井修一,電子情報通信学会,電子通信学会=
- 出版社/メーカー: コロナ社
- 発売日: 2004/03/01
- メディア: 単行本
- 購入: 8人 クリック: 75回
- この商品を含むブログ (2件) を見る
キャッシュヒット率とかの問題はこっちの演習問題にあった。
- 作者: ジョン・L.ヘネシー,デイビッド・A.パターソン,成田光彰
- 出版社/メーカー: 日経BP社
- 発売日: 2014/12/06
- メディア: 単行本
- この商品を含むブログ (2件) を見る
- 作者: デイビッド・A・パターソン,ジョン・L・ヘネシー,成田光彰
- 出版社/メーカー: 日経BP社
- 発売日: 2014/12/06
- メディア: 単行本
- この商品を含むブログ (2件) を見る
・機械学習
- 作者: 中川裕志,東京大学工学教程編纂委員会
- 出版社/メーカー: 丸善出版
- 発売日: 2015/11/01
- メディア: 単行本
- この商品を含むブログを見る
- 作者: C.M.ビショップ,元田浩,栗田多喜夫,樋口知之,松本裕治,村田昇
- 出版社/メーカー: 丸善出版
- 発売日: 2012/04/05
- メディア: 単行本(ソフトカバー)
- 購入: 6人 クリック: 33回
- この商品を含むブログ (20件) を見る
- 作者: C.M.ビショップ,元田浩,栗田多喜夫,樋口知之,松本裕治,村田昇
- 出版社/メーカー: 丸善出版
- 発売日: 2012/02/29
- メディア: 単行本
- 購入: 6人 クリック: 14回
- この商品を含むブログを見る
・ネットワーク
ネットワーク工学―インターネットとディジタル技術の基礎 (新・情報 通信システム工学)
- 作者: 江崎浩
- 出版社/メーカー: 数理工学社
- 発売日: 2007/07/01
- メディア: 単行本
- クリック: 1回
- この商品を含むブログ (1件) を見る
- 作者: 河野健二
- 出版社/メーカー: 朝倉書店
- 発売日: 2007/10/01
- メディア: 単行本
- 購入: 2人 クリック: 19回
- この商品を含むブログ (6件) を見る
・コンピュータグラフィックス
- 出版社/メーカー: 画像情報教育振興協会
- 発売日: 2016/09/20
- メディア: 単行本
- この商品を含むブログを見る
・ロボティクス
・情報理論
- 作者: 甘利俊一
- 出版社/メーカー: 筑摩書房
- 発売日: 2011/04/08
- メディア: 単行本
- 購入: 4人 クリック: 48回
- この商品を含むブログ (11件) を見る
・離散数学
- 作者: 石村園子
- 出版社/メーカー: 共立出版
- 発売日: 2007/09/30
- メディア: 単行本
- 購入: 6人 クリック: 97回
- この商品を含むブログ (8件) を見る
- 作者: 松原良太,大嶌彰昇,藤田慎也,小関健太,中上川友樹,佐久間雅,津垣正男
- 出版社/メーカー: オーム社
- 発売日: 2010/10/21
- メディア: 単行本(ソフトカバー)
- 購入: 9人 クリック: 122回
- この商品を含むブログ (1件) を見る
・数値計算
- 作者: 久保田光一
- 出版社/メーカー: 数理工学社
- 発売日: 2010/08/01
- メディア: 単行本
- 購入: 1人 クリック: 2回
- この商品を含むブログ (1件) を見る
・数学
スバラシク実力がつくと評判の微分積分キャンパス・ゼミ―大学の数学がこんなに分かる!単位なんて楽に取れる!
- 作者: 馬場敬之
- 出版社/メーカー: マセマ
- 発売日: 2018/09/01
- メディア: 単行本
- この商品を含むブログを見る
スバラシク実力がつくと評判の線形代数キャンパス・ゼミ―大学の数学がこんなに分かる!単位なんて楽に取れる!
- 作者: 馬場敬之
- 出版社/メーカー: マセマ
- 発売日: 2017/10/01
- メディア: 単行本
- この商品を含むブログを見る
スバラシク実力がつくと評判の統計学キャンパス・ゼミ―大学の数学がこんなに分かる!単位なんて楽に取れる!
- 作者: 馬場敬之
- 出版社/メーカー: マセマ
- 発売日: 2018/12/01
- メディア: 単行本
- この商品を含むブログを見る
やさしく学ぶ 機械学習を理解するための数学のきほん ~アヤノ&ミオと一緒に学ぶ 機械学習の理論と数学、実装まで~
- 作者: LINE Fukuoka株式会社立石賢吾
- 出版社/メーカー: マイナビ出版
- 発売日: 2017/09/21
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (2件) を見る
参考書読んでもわからないところ、高校までの範囲は下記の動画お勧めです。
・高校の全範囲を短い時間でおさらいできる www.youtube.com
・高校の範囲を単元ごとに問題とともにおさらいできる www.youtube.com
・大学の単元をスーパーわかりやすく説明してくれている。雑談系の動画も面白い。 www.youtube.com
ためになるブログ sho-yokoi.hatenablog.com
(誰でも実装可能)Twitter自動いいね機能作ってみた
どうも、りょすけです。
今日は、Rubyを使ってツイッターの自動いいね機能の作り方を書きたいと思います。
手順は意外と簡単なので、プログラミングをやったことない人にもできるかと思います!
①アプリケーションマネージメントに登録
このURLから普段使っているツイッターのアカウント情報を入力してログインします。
こんな感じの画面が出てくるかと思いますが、内容はてきとうで大丈夫です。
②パーミッションの変更
Settingタブから「What type of access〜」をRead and Writeに変更します。
プログラミング操作でツイッターの内容に変更を加えられるように許可をしています。
③APIキー&アクセストークンの取得
Keys and Access Tokens タブから下記の4つの値をコピーします。
・Consumer Key (API Key)
・Consumer Secret (API Secret)
・Access Token Secret
・Access Token
プログラミング画面からツイッターにアクセスするために必要な情報です。
なので他人に漏らさないように注意してください。
④プログラミング
エディタに下記ソースコードを書いて保存します 。
ファイルの名前を(好きな名前).rbに変更してください。
rbは、Ruby言語を使ったファイルであることを示す拡張子です。
require "twitter" client_streaming = Twitter::Streaming::Client.new do |config| config.consumer_key = "自分で取得したConsumer Keyを入れる" config.consumer_secret = "自分で取得したConsumer Secretを入れる" config.access_token = "自分で取得したAccess Tokenを入れる" config.access_token_secret = "自分で取得したAccess Token Secretを入れる" end client_rest = Twitter::REST::Client.new do |config| config.consumer_key = "自分で取得したConsumer Keyを入れる" config.consumer_secret = "自分で取得したConsumer Secretを入れる" config.access_token = "自分で取得したAccess Tokenを入れる" config.access_token_secret = "自分で取得したAccess Token Secretを入れる" end USERNAME = "ryosuke07117" #自分のユーザー名を入れる @マーク以降の名前 client_streaming.user do |object| case object when Twitter::Tweet if (/あ/ =~ object.text) && (object.user.screen_name != USERNAME) # いいねしたいキーワードを(/あ/)の部分に 入れる puts object.user.screen_name + ':' + object.text client_rest.favorite(object.id) end end end
エディタがない人はこの辺からダウンロードしてみてください。
SublimeTextというエディタです。
https://download.sublimetext.com/Sublime%20Text%20Build%203176.dmg
⑤ターミナルからプログラムを実行
さあ、これで準備ができたのでプログラムを実行してみます。
プログラムの実行は、「ターミナル」というアプリケーションから実行します。
Macにデフォルトでインストールされているものなので探してみてください。(command + スペースで探せます)
まず、$マーク以降で下記を入力し、さっきファイルを保存したディレクトリに移動します。
次に、$マーク以降に gem install twitterと入力します。
こうなったら成功です。
次に、ruby (さっき作ったファイル名).rb と入力しエンターを押します。
すると、こんな感じでターミナルに表示されているかと思います。
これでツイッター画面で自分のお気に入りを確認してみると、いいねされています!!
まとめ
まとめると、こんな感じの手順です。
①アプリケーションマネジメントに登録
②アクセス権の変更(ツイッターの内容を操作できるようにする)
③APIキー&アクセストークンの取得(プログラムからツイッターにアクセスできるようにする)
④コードをエディタに書く
⑤ターミナルからプログラムの実行
⑥いいねできた!!
今回は、自分のタイムラインから特定のツイートに対していいねする機能の実装をしました。
これを応用すると、自分のタイムライン外のツイートのいいね・自動リプ・自動リツイート・自動ツイート投稿などもできるようになります。
それは今度気が向いたら書こうと思います。。!
Webアプリ実装までに必要なこと
どうも、りょすけです。
今日は実際にWebアプリを実装するまでに必要なプロセスを書きたいと思います。
Webアプリを作るのってプログラミングだけだと思いきや、意外とそれ以外に付随する作業もあるんです。
①開発環境構築
②フォルダ/データベースの作成
③プログラミング
④テスト
⑤本番環境構築
前提:Macbook、Ruby、Ruby on Rails、AWSでの実装
①環境構築
まずやるのが開発環境の構築です。
プログラミング始めたばかりだとあまりピンと来ないんですが、
要は、言語とかフレームワークとかのインストールのことです。
⑴コマンドラインツール
コマンドラインツールとは、その名の通りコマンドを入力してPCを操作するツールです。
こんなやつです。
これを入れてRubyのインストールやローカルサーバーを立ち上げたりします。
⑵Homevbrew/rbenv/ruby-buildのインストール
簡単に言うと、プログラミングが便利になるパッケージをインストールしたりそのバージョンを管理したりするシステムです。
バージョン管理は、アプリケーションによっては同じRuby言語でも違うバージョンで作ったりするので必要になってきたりします。
⑶ Ruby/Ruby on Railsのインストール
開発用の言語をインストールします。
デフォルトで入ってないこともあるので、自分で言語を入れる必要があるんですよねー。
こんな感じでコマンドラインツールから入れていきます。
⑷MySQLインストール
データベースです。
エクセルみたいな表形式のデータ格納ソフトウェアです。
ユーザーのデータや投稿されたツイートなどの保存をしたりします。
②フォルダ/データベースの作成
次に、プログラミングをするためのフォルダ作りとデータベースの作成を行います。
プログラミングも実はワードとかエクセルみたいなファイルのまとまりでできています。
実際のチャットアプリのフォルダ:
フォルダ作成/データベース作成:
これを打ち込むだけであらかたのフォルダとデータベースが作成されます。
これがRuby on Railsが便利と言われている所以でもあります。
③プログラミング
はい、メインのプログラミングです。
先ほど作ったフォルダに記載していきます。
色がついているのは、プログラミング用のテキストエディタというものを使っているからです。
種類ごとに色分けされているのでとても見やすいです!!
④テスト
プログラミングが終わったら、テスト用のコードを別に記載してプログラムが想定通りに動いているか確認します。
テスト用にプログラムを丸々別で記載するのでなかなか時間がかかります。
⑤本番環境実装
インターネット上に自分のWebサービスを公開する手順です。
⑴EC2インスタンス生成
AWSの仮想サーバーのことをEC2インスタンスと言います。
AWSのサイトからログインしてEC2を生成、IPアドレスの設定を行います。
⑵アプリサーバーの構築
情報を処理して結果を返したりなど動的コンテンツの生成をするサーバーの設定をします。
有名なものでUnicornというサーバーがあります。Railsとのやりとりをするのもアプリサーバですね。これはファイルへの記述で割と簡単。
⑶webサーバーの構築
HTMLなどの静的コンテンツの処理、アプリサーバーとのやりとりをするのがWebサーバーです。有名なものではnginxというものがあります。これもファイルへの記述で設定します。
サーバーの全体像はこちら:
まとめ
まとめると、全体の実装プロセスは下記のようになります。
①開発環境構築
⑴コマンドラインツール
⑵Homevbrew/rbenv/ruby-buildのインストール
⑶ Ruby/Ruby on Railsのインストール
⑷MySQLインストール
②フォルダ/データベースの作成
コマンドラインから作成していく。
③プログラミング
テキストエディタを使ってプログラミングしていく。
④テスト
テスト用にコードを書いて動作を確認していく。
⑤本番環境構築
⑴EC2インスタンスを生成する
⑵アプリサーバーを設定する
⑶Webサーバーを設定する
今回は細かいところは若干省いて、Webサービスを実際にネット上で公開するための全体概要を書いて見ました。
やって見て痛感したのはやっぱり、やっぱり結構作業が多い 笑
最後までお読みいただきありがとうございます。
細かいところでご質問等あればコメントくださいませ!
プログラミング開始一ヶ月の完成度と道のり
どうも、りょすけです。
今日はプログラミング初心者の自分が学習始めて1ヶ月経過後に
①どの程度のレベルになるか
②何をしてきたか
を書きたいと思います。
①どの程度のレベルになるか
はい、結論簡単なWebサービスなら作れるレベルになります。
⑴チャットサイト
⑵レビュー投稿サイト
⑶簡易ツイートサイト
こんな感じのものはほぼ0から作れるようになります。
見えづらいんですけど、
・ユーザー登録/編集
・グループ作成/編集
・チャット自動更新
・投稿文書編集
・画像投稿機能
とかもついてます。
その他データベース管理・テストとかも簡単なものならできるようになって、ちょうど今はサーバーにアップする部分を学んでいます。
使用言語はこれです。
フロントエンド (見た目部分)
HTML/CSS/Javascript
バックエンド (裏のデータ処理)
Ruby
フレームワーク
Ruby on Rails / JQuery
フレームワークというのは、アプリを簡単に作れるようにしてくれる枠組みです。
個人的には、よくキャラ弁とかである抜き型みたいなものと思ってます。
使えば一定クオリティのものはできる型みたいなものです。
特にRuby on Railsは多くの Web企業で普通に使ってるものらしいから、Rubyでwebサービス作るには必須です。
②何をしてきたか
主にこの2つ使いました。
⑴Progate (オンライン学習サービス) 目安:5時間×14日
⑵TECH::EXPERT (プログラミングスクール) 目安:15時間×14日
⑴Progate (オンライン学習サービス)
プログラミングの手始めには一番おすすめかと思います。
・実際に手を動かしながら画面に出力するまでを体験できる 。
・イラストが多くてめっちゃわかりやすい。
・レベル/ランキング機能があるのでモチベーションを掻き立てられる。
正直、上で紹介したアプリ作りならProgateだけでいけます。
ゲーム性があって楽しいので、わからなくなってつまづいても、ひたすらレベ上げするために答えを写経してるだけでも理解できるようになってきます。笑
目安:2週間〜1ヶ月
⑵TECH::EXPERT (ブートキャンプ型プログラミングスクール)
今やってるのがこっちです。
・カリキュラムに沿ってわからないところをメンターに聞ける。
・実際のサーバーで動かすところまで一気通貫で学べる。
・エンジニアの暗黙知レベルの情報まで知ることができる。
エンジニアとして働くために体系的な知識を学びたい!って人にはおすすめです。
実際エンジニアとして働くためには、そもそもどんな知識を蓄積しなきゃいけないか、がわかりやすくまとまっています。
・綺麗なコードとは?
・チーム開発の進め方
・よくあるエラーと対応方法
・Gitの使い方
とか、初心者からしたら想像が及ばない領域までカバーしてくれてるので大変ありがたいです。
料金は30万くらいなので高いです。
3ヶ月コース/半年コース/オンラインコースまであって、僕は3ヶ月コース通ってます。
周囲の雰囲気的に3ヶ月コースが多いのかな?
目安:3ヶ月〜半年
エンジニアとしてキャリア進めようとしてる人はTECH::EXPERTとかプログラミングスクールに通うことも考えても良いかと思います。
まとめ
1ヶ月の学習結果
簡単なWebアプリなら作れるようになる (チャットサイト/ツイートサイト/レビューサイト)
やってきたこと(現在)
Progate 2週間
TECH::EXPERT 2週間
目標と必要教材
趣味レベルでプログラミングをしたい人は :
Progateだけでもアプリは作れるようになる
エンジニアになるために包括的な知識が欲しい人は:
Progate + TEXH::EXPERTとかのスクール行ってみても良いかも
初回ブログ
どうもりょすけです。
最近生活環境の変化もあり、ブログ始めようと思います。 よろしくお願いします。
■自己紹介
・基本情報:24歳男。中野在住。最近は渋谷に生息。
・最近ハマってること:プログラミング (2018/3開始)
・言語:Ruby、HTML&CSS、Javascript
・経歴:新卒外資のIT企業→ITベンチャー→今(無職)
TECH::EXPERTというプログラミング教室で毎日コード書いてます。
言語はRuby、HTML&CSS、Javascriptです。
いわゆる意識高い系です。
■何を書くか
・プログラミング系の学び
・読書の感想
・日々考えたこと
・ライフハック的なこと
比率的にはプログラミングの学びが多くなりそう。 6 : 1 : 2 : 1とかかな笑
個人的に読書とライフハック的なもの、日々の気づきを書くのが好きなのでぼちぼち見て書きます。
TECH::EXPERTの感想も書ければと思ってます。
■なぜ書くか
アウトプットの場所を作りたかった
要はこれです。具体的には下の2つ。
①言語に落として思考を整理
プログラミング学んでると毎日新しい知識が入ってくるから整理したい。
頭の中でぼんやり思ってることも、言語化する段階で無駄な情報を削ぎ落として意味を明確させないと言葉に落とし込めないから、頭の中が整理されるかなーと思ってます。
悲しいかな、今の技術だと言葉が唯一の思考と情報伝達手段。。
だから、書いてまとめます。
②読み手の人を考える訓練
他者への想像力をもっと鍛えたい。
これはシンプルに、自分のOSスキルとして足りてないと思うから。
人間として他者との関係性の中で生活する上で、どうせなら貢献できる人になりたい。
読み手の人がいる前提で書くブログなら、他者への想像力を鍛えられるかなと思ってます。
■読む価値
分かんないです。読んだ後に考えてみてください。笑
プログラミング初学者が、
・どんなスキル成長過程を経るのか
・どこでつまづくか
・何を考えたか
はわかるかと思います。
継続できるかなー、、分かんないけどとりあえずゆるく書いてきます。
そんな感じで今回はおわりですー。