文系社会人から東大情報理工に進学する話(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等で質問いただけると嬉しいです!

勉強につかった資料・その他

自分が勉強で使った資料をここに貼っておきます。

アルゴリズム
定番。ですが今年はここにないアルゴリズムの問題が出ています。

データ構造とアルゴリズム (新・情報 通信システム工学)

データ構造とアルゴリズム (新・情報 通信システム工学)

でかいけどこれもやっていた方が良いかも。
アルゴリズムイントロダクション 第3版 総合版:世界標準MIT教科書

アルゴリズムイントロダクション 第3版 総合版:世界標準MIT教科書

わかりやすい
プログラミングコンテスト攻略のためのアルゴリズムとデータ構造

プログラミングコンテスト攻略のためのアルゴリズムとデータ構造

論理回路
鉄板。ですが過去問の出題形式と問題で若干違う。
(カウンタをD-FFで作るか、JK-FFを使うのか、など)

論理回路入門

論理回路入門

コンピュータアーキテクチャ
鉄板。わかりやすい。今年のアーキテクチャの問題もここにはなかった。

コンピュータアーキテクチャ (電子情報通信レクチャーシリーズ)

コンピュータアーキテクチャ (電子情報通信レクチャーシリーズ)

キャッシュヒット率とかの問題はこっちの演習問題にあった。

コンピュータの構成と設計 第5版 上

コンピュータの構成と設計 第5版 上

コンピュータの構成と設計 第5版 下

コンピュータの構成と設計 第5版 下

機械学習

東京大学工学教程 情報工学 機械学習

東京大学工学教程 情報工学 機械学習

パターン認識と機械学習 上

パターン認識と機械学習 上

パターン認識と機械学習 下 (ベイズ理論による統計的予測)

パターン認識と機械学習 下 (ベイズ理論による統計的予測)

ネットワーク

オペレーティングシステム

オペレーティングシステムの仕組み (情報科学こんせぷつ)

オペレーティングシステムの仕組み (情報科学こんせぷつ)

コンピュータグラフィックス

コンピュータグラフィックス [改訂新版]

コンピュータグラフィックス [改訂新版]

ロボティクス

http://www.eo.u-tokai.ac.jp/eo-suzuki/VL_RT/%E3%83%AD%E3%83%9C%E3%83%83%E3%83%88%E3%81%AE%E9%81%8B%E5%8B%95%E5%AD%A6.pdf

情報理論

情報理論 (ちくま学芸文庫)

情報理論 (ちくま学芸文庫)

離散数学

やさしく学べる離散数学

やさしく学べる離散数学

IT Text 離散数学

IT Text 離散数学

数値計算

工学基礎数値解析とその応用 (新・工科系の数学)

工学基礎数値解析とその応用 (新・工科系の数学)

数学


参考書読んでもわからないところ、高校までの範囲は下記の動画お勧めです。

・高校の全範囲を短い時間でおさらいできる www.youtube.com

・高校の範囲を単元ごとに問題とともにおさらいできる www.youtube.com

・大学の単元をスーパーわかりやすく説明してくれている。雑談系の動画も面白い。 www.youtube.com

ためになるブログ sho-yokoi.hatenablog.com

blog.taketo1024.jp

serihiro.hatenablog.com

(誰でも実装可能)Twitter自動いいね機能作ってみた

どうも、りょすけです。

今日は、Rubyを使ってツイッターの自動いいね機能の作り方を書きたいと思います。
手順は意外と簡単なので、プログラミングをやったことない人にもできるかと思います!

前提:macbookruby 2.3.1

①アプリケーションマネージメントに登録

このURLから普段使っているツイッターのアカウント情報を入力してログインします。
こんな感じの画面が出てくるかと思いますが、内容はてきとうで大丈夫です。 f:id:ryosuke0711993:20180527112140p:plain

パーミッションの変更

Settingタブから「What type of access〜」をRead and Writeに変更します。
プログラミング操作でツイッターの内容に変更を加えられるように許可をしています。 f:id:ryosuke0711993:20180527112159p:plain

APIキー&アクセストークンの取得

Keys and Access Tokens タブから下記の4つの値をコピーします。
・Consumer Key (API Key)
・Consumer Secret (API Secret)
Access Token Secret
Access Token
f:id:ryosuke0711993:20180527112221p:plain

プログラミング画面からツイッターにアクセスするために必要な情報です。
なので他人に漏らさないように注意してください。

④プログラミング

エディタに下記ソースコードを書いて保存します 。
ファイルの名前を(好きな名前).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 + スペースで探せます)
f:id:ryosuke0711993:20180527112249p:plain

まず、$マーク以降で下記を入力し、さっきファイルを保存したディレクトリに移動します。

f:id:ryosuke0711993:20180527113340p:plain:h80

次に、$マーク以降に gem install twitterと入力します。
f:id:ryosuke0711993:20180527112306p:plain:h80

こうなったら成功です。
f:id:ryosuke0711993:20180527112320p:plain:h80

次に、ruby (さっき作ったファイル名).rb と入力しエンターを押します。
f:id:ryosuke0711993:20180527112334p:plain

すると、こんな感じでターミナルに表示されているかと思います。
f:id:ryosuke0711993:20180527112400p:plain:h50
これでツイッター画面で自分のお気に入りを確認してみると、いいねされています!!
f:id:ryosuke0711993:20180527115237p:plain:h300

まとめ

まとめると、こんな感じの手順です。
①アプリケーションマネジメントに登録
②アクセス権の変更(ツイッターの内容を操作できるようにする)
APIキー&アクセストークンの取得(プログラムからツイッターにアクセスできるようにする)
④コードをエディタに書く
⑤ターミナルからプログラムの実行
⑥いいねできた!!

今回は、自分のタイムラインから特定のツイートに対していいねする機能の実装をしました。

これを応用すると、自分のタイムライン外のツイートのいいね・自動リプ・自動リツイート・自動ツイート投稿などもできるようになります。

それは今度気が向いたら書こうと思います。。!

Webアプリ実装までに必要なこと

どうも、りょすけです。

今日は実際にWebアプリを実装するまでに必要なプロセスを書きたいと思います。
Webアプリを作るのってプログラミングだけだと思いきや、意外とそれ以外に付随する作業もあるんです。

①開発環境構築
②フォルダ/データベースの作成
③プログラミング
④テスト
⑤本番環境構築

前提:MacbookRubyRuby on RailsAWSでの実装

①環境構築

まずやるのが開発環境の構築です。
プログラミング始めたばかりだとあまりピンと来ないんですが、
要は、言語とかフレームワークとかのインストールのことです。

コマンドラインツール
コマンドラインツールとは、その名の通りコマンドを入力してPCを操作するツールです。
f:id:ryosuke0711993:20180520110452p:plain:w200

こんなやつです。
これを入れてRubyのインストールやローカルサーバーを立ち上げたりします。

Homevbrew/rbenv/ruby-buildのインストール
簡単に言うと、プログラミングが便利になるパッケージをインストールしたりそのバージョンを管理したりするシステムです。
バージョン管理は、アプリケーションによっては同じRuby言語でも違うバージョンで作ったりするので必要になってきたりします。

Ruby/Ruby on Railsのインストール
開発用の言語をインストールします。
デフォルトで入ってないこともあるので、自分で言語を入れる必要があるんですよねー。 f:id:ryosuke0711993:20180520112307p:plain こんな感じでコマンドラインツールから入れていきます。

MySQLインストール
データベースです。
エクセルみたいな表形式のデータ格納ソフトウェアです。
ユーザーのデータや投稿されたツイートなどの保存をしたりします。 f:id:ryosuke0711993:20180520125139p:plain:w200

②フォルダ/データベースの作成

次に、プログラミングをするためのフォルダ作りとデータベースの作成を行います。
プログラミングも実はワードとかエクセルみたいなファイルのまとまりでできています。

実際のチャットアプリのフォルダ:
f:id:ryosuke0711993:20180520114522p:plain:w200

フォルダ作成/データベース作成:
f:id:ryosuke0711993:20180520114905p:plain これを打ち込むだけであらかたのフォルダとデータベースが作成されます。
これがRuby on Railsが便利と言われている所以でもあります。

③プログラミング

はい、メインのプログラミングです。
先ほど作ったフォルダに記載していきます。 f:id:ryosuke0711993:20180520115523p:plain:w500

色がついているのは、プログラミング用のテキストエディタというものを使っているからです。
種類ごとに色分けされているのでとても見やすいです!!

www.sublimetext.com

④テスト

プログラミングが終わったら、テスト用のコードを別に記載してプログラムが想定通りに動いているか確認します。
テスト用にプログラムを丸々別で記載するのでなかなか時間がかかります。 f:id:ryosuke0711993:20180520120303p:plain:h300

⑤本番環境実装

インターネット上に自分のWebサービスを公開する手順です。

EC2インスタンス生成
AWSの仮想サーバーのことをEC2インスタンスと言います。
AWSのサイトからログインしてEC2を生成、IPアドレスの設定を行います。 

アプリサーバーの構築
情報を処理して結果を返したりなど動的コンテンツの生成をするサーバーの設定をします。
有名なものでUnicornというサーバーがあります。Railsとのやりとりをするのもアプリサーバですね。これはファイルへの記述で割と簡単。

webサーバーの構築
HTMLなどの静的コンテンツの処理、アプリサーバーとのやりとりをするのがWebサーバーです。有名なものではnginxというものがあります。これもファイルへの記述で設定します。

サーバーの全体像はこちら:
f:id:ryosuke0711993:20180520122416p:plain:w400

まとめ

まとめると、全体の実装プロセスは下記のようになります。

①開発環境構築
コマンドラインツール
⑵Homevbrew/rbenv/ruby-buildのインストール
Ruby/Ruby on Railsのインストール
MySQLインストール
②フォルダ/データベースの作成
コマンドラインから作成していく。
③プログラミング
テキストエディタを使ってプログラミングしていく。
④テスト
テスト用にコードを書いて動作を確認していく。
⑤本番環境構築
⑴EC2インスタンスを生成する
⑵アプリサーバーを設定する
⑶Webサーバーを設定する

今回は細かいところは若干省いて、Webサービスを実際にネット上で公開するための全体概要を書いて見ました。
やって見て痛感したのはやっぱり、やっぱり結構作業が多い 笑

最後までお読みいただきありがとうございます。
細かいところでご質問等あればコメントくださいませ!

プログラミング開始一ヶ月の完成度と道のり

どうも、りょすけです。

今日はプログラミング初心者の自分が学習始めて1ヶ月経過後に

①どの程度のレベルになるか
②何をしてきたか

を書きたいと思います。

①どの程度のレベルになるか

はい、結論簡単なWebサービスなら作れるレベルになります。

⑴チャットサイト
f:id:ryosuke0711993:20180513144230p:plain:w300

⑵レビュー投稿サイト
f:id:ryosuke0711993:20180513144135p:plain:w300

⑶簡易ツイートサイト
f:id:ryosuke0711993:20180513144330p:plain:w300

こんな感じのものはほぼ0から作れるようになります。
見えづらいんですけど、
・ユーザー登録/編集
・グループ作成/編集
・チャット自動更新
・投稿文書編集 ・画像投稿機能

とかもついてます。

その他データベース管理・テストとかも簡単なものならできるようになって、ちょうど今はサーバーにアップする部分を学んでいます。


使用言語はこれです。
フロントエンド (見た目部分)
HTML/CSS/Javascript

バックエンド (裏のデータ処理)
Ruby

フレームワーク
Ruby on Rails / JQuery

フレームワークというのは、アプリを簡単に作れるようにしてくれる枠組みです。
個人的には、よくキャラ弁とかである抜き型みたいなものと思ってます。
使えば一定クオリティのものはできる型みたいなものです。

f:id:ryosuke0711993:20180513111059j:plain:w200

特にRuby on Railsは多くの Web企業で普通に使ってるものらしいから、Rubywebサービス作るには必須です。

②何をしてきたか

主にこの2つ使いました。
⑴Progate (オンライン学習サービス) 目安:5時間×14日
⑵TECH::EXPERT (プログラミングスクール) 目安:15時間×14日


⑴Progate (オンライン学習サービス)
プログラミングの手始めには一番おすすめかと思います。
・実際に手を動かしながら画面に出力するまでを体験できる 。
・イラストが多くてめっちゃわかりやすい。
・レベル/ランキング機能があるのでモチベーションを掻き立てられる。

正直、上で紹介したアプリ作りならProgateだけでいけます。


prog-8.com

ゲーム性があって楽しいので、わからなくなってつまづいても、ひたすらレベ上げするために答えを写経してるだけでも理解できるようになってきます。笑

目安:2週間〜1ヶ月


⑵TECH::EXPERT (ブートキャンプ型プログラミングスクール)
今やってるのがこっちです。
・カリキュラムに沿ってわからないところをメンターに聞ける。
・実際のサーバーで動かすところまで一気通貫で学べる。
・エンジニアの暗黙知レベルの情報まで知ることができる。 

エンジニアとして働くために体系的な知識を学びたい!って人にはおすすめです。  

実際エンジニアとして働くためには、そもそもどんな知識を蓄積しなきゃいけないか、がわかりやすくまとまっています。
・綺麗なコードとは?
・チーム開発の進め方
・よくあるエラーと対応方法
・Gitの使い方

とか、初心者からしたら想像が及ばない領域までカバーしてくれてるので大変ありがたいです。

料金は30万くらいなので高いです。
3ヶ月コース/半年コース/オンラインコースまであって、僕は3ヶ月コース通ってます。
周囲の雰囲気的に3ヶ月コースが多いのかな?


tech-camp.in

目安:3ヶ月〜半年

エンジニアとしてキャリア進めようとしてる人はTECH::EXPERTとかプログラミングスクールに通うことも考えても良いかと思います。

まとめ

1ヶ月の学習結果

簡単なWebアプリなら作れるようになる (チャットサイト/ツイートサイト/レビューサイト)

やってきたこと(現在)

Progate 2週間
TECH::EXPERT 2週間

目標と必要教材

趣味レベルでプログラミングをしたい人は :
Progateだけでもアプリは作れるようになる

エンジニアになるために包括的な知識が欲しい人は:
Progate + TEXH::EXPERTとかのスクール行ってみても良いかも

初回ブログ

どうもりょすけです。

最近生活環境の変化もあり、ブログ始めようと思います。 よろしくお願いします。

■自己紹介

・基本情報:24歳男。中野在住。最近は渋谷に生息。
・最近ハマってること:プログラミング (2018/3開始)
・言語:Ruby、HTML&CSSJavascript
・経歴:新卒外資のIT企業→ITベンチャー→今(無職)

TECH::EXPERTというプログラミング教室で毎日コード書いてます。
言語はRuby、HTML&CSSJavascriptです。
いわゆる意識高い系です。

■何を書くか

・プログラミング系の学び
・読書の感想
・日々考えたこと
ライフハック的なこと

比率的にはプログラミングの学びが多くなりそう。 6 : 1 : 2 : 1とかかな笑
個人的に読書とライフハック的なもの、日々の気づきを書くのが好きなのでぼちぼち見て書きます。

TECH::EXPERTの感想も書ければと思ってます。

■なぜ書くか

アウトプットの場所を作りたかった

要はこれです。具体的には下の2つ。

①言語に落として思考を整理
プログラミング学んでると毎日新しい知識が入ってくるから整理したい。
頭の中でぼんやり思ってることも、言語化する段階で無駄な情報を削ぎ落として意味を明確させないと言葉に落とし込めないから、頭の中が整理されるかなーと思ってます。
悲しいかな、今の技術だと言葉が唯一の思考と情報伝達手段。。
だから、書いてまとめます。

②読み手の人を考える訓練
他者への想像力をもっと鍛えたい。
これはシンプルに、自分のOSスキルとして足りてないと思うから。
人間として他者との関係性の中で生活する上で、どうせなら貢献できる人になりたい。
読み手の人がいる前提で書くブログなら、他者への想像力を鍛えられるかなと思ってます。

■読む価値

分かんないです。読んだ後に考えてみてください。笑

プログラミング初学者が、
・どんなスキル成長過程を経るのか
・どこでつまづくか
・何を考えたか

はわかるかと思います。



継続できるかなー、、分かんないけどとりあえずゆるく書いてきます。
そんな感じで今回はおわりですー。