ひと昔、プログラミングといえば、理系のコンピュータ系の学科に所属する学生が学ぶものというイメージがありましたが、大学生に限らず、今や小学生もプログラミングを学ぶ時代になってきました。
本書は、東大1年生向け好評講義テキストを書籍化したとのこと。東大の1年生がどのような内容を学習するのか、またPythonの勉強もかねて読んでみました。
東大と聞くと、難しいことばかりやっていると思っていたのですが、案外、基本的なことからしっかりと積み上げていくんですね。
以前から情報教育に興味があったので、『Pythonによるプログラミング入門 東京大学教養学部テキスト アルゴリズムと情報科学の基礎を学ぶ』を読んでいます。5章まで読み終えましたが、東大といえども基礎・基本を大切にしているんだなと思いました。Pythonは可視化が簡単にできるのがいいですね。
— ⓂⓐⓔⓗⓐⓡⓐⓂⓐⓢⓐⓗⓘⓓⓔ🌫(11℃) (@maehrm) 2021年2月10日
あと、影付きのボックスを見ていると、LaTeXのshadeboxで書かれているんだろうと親近感を味わえるところもいいですね。
— ⓂⓐⓔⓗⓐⓡⓐⓂⓐⓢⓐⓗⓘⓓⓔ🌫(11℃) (@maehrm) 2021年2月10日
練習問題7.5. カントール集合の問題。図7.7と同じようにできました。 pic.twitter.com/UVTaBhJLMx
— ⓂⓐⓔⓗⓐⓡⓐⓂⓐⓢⓐⓗⓘⓓⓔ🌫(11℃) (@maehrm) 2021年2月10日
練習問題7.6. Vicsekフラクタルの問題。フラクタル図形の問題は取り組んでみたくなりますね。図は、n=6のときです。Pythonに慣れないので、ついrange[]などと書いてしまいます。 pic.twitter.com/tqvSrfw7Ed
— ⓂⓐⓔⓗⓐⓡⓐⓂⓐⓢⓐⓗⓘⓓⓔ🌫(11℃) (@maehrm) 2021年2月11日
練習問題8.2. 二分探索を活用して条件を満たす値の個数を求める問題。今まで二分探索を行う際には、leftとかrightを使って区間を表現していましたが、okとかngを使った方がスッキリしますね。https://t.co/coasm1LKpW
— ⓂⓐⓔⓗⓐⓡⓐⓂⓐⓢⓐⓗⓘⓓⓔ🌫(11℃) (@maehrm) 2021年2月12日
練習問題8.3. は、8.2の問題を活用すれば一瞬ですね。ヒストグラムに二分探索が使えるというのは目から鱗でした。
— ⓂⓐⓔⓗⓐⓡⓐⓂⓐⓢⓐⓗⓘⓓⓔ🌫(11℃) (@maehrm) 2021年2月12日
第9章は以前取り組んだ内容でした。このスレッドの最初のツイートとブログの書き出しが同じような文章なのが我ながら面白い。
— ⓂⓐⓔⓗⓐⓡⓐⓂⓐⓢⓐⓗⓘⓓⓔ🌫(11℃) (@maehrm) 2021年2月13日
Gauss-Jordan法(ガウス・ジョルダン法) - Mae向きなブログ https://t.co/2fFFkChgz6
平成18年度秋季の #基本情報 午後問3でも出題されてますね。#情報処理技術者試験https://t.co/oOqLb3N0JU
— ⓂⓐⓔⓗⓐⓡⓐⓂⓐⓢⓐⓗⓘⓓⓔ🌫(11℃) (@maehrm) 2021年2月13日
第10章は、拡散のシミュレーション。以前、読んだ『道具としての微分方程式 偏微分編』のお陰で偏微分に対する苦手意識はだいぶ和らいでいます。 https://t.co/WsU7yTdy0P pic.twitter.com/pu77n4DWix
— ⓂⓐⓔⓗⓐⓡⓐⓂⓐⓢⓐⓗⓘⓓⓔ🌫(11℃) (@maehrm) 2021年2月14日
練習問題10.3. は、長さlの棒におもりを吊るした振り子の問題。なかなか楽しいですね。第10章はこれで終了です。 pic.twitter.com/lv4JDP4FNR
— ⓂⓐⓔⓗⓐⓡⓐⓂⓐⓢⓐⓗⓘⓓⓔ🌫(11℃) (@maehrm) 2021年2月14日
『Pythonによるプログラミング入門 東京大学教養学部テキスト アルゴリズムと情報科学の基礎を学ぶ』の練習問題11.1を考えていてふと思った疑問です。面白い漸化式だなと思うのですが、S(0,m) = m = a_0 だけで良さそうな気がするのですが、m = 0 がなんで必要なんでしょう?
— ⓂⓐⓔⓗⓐⓡⓐⓂⓐⓢⓐⓗⓘⓓⓔ🌫(11℃) (@maehrm) 2021年2月24日
第11章では、最長共通部分列問題 (Longest Common Subsequence)が登場しますね。テキストと並行して以前、取り組んだ内容についても読み返したいと思います。https://t.co/umt9owD91I
— ⓂⓐⓔⓗⓐⓡⓐⓂⓐⓢⓐⓗⓘⓓⓔ🌫(11℃) (@maehrm) 2021年2月25日
p196の漸化式のlcs(n,m)は、テキストの式よりもこちらの方がしっくりきます。もう少し考えてみます。 pic.twitter.com/tjRFChd7KE
— ⓂⓐⓔⓗⓐⓡⓐⓂⓐⓢⓐⓗⓘⓓⓔ🌫(11℃) (@maehrm) 2021年2月25日
「第12章 データを分類する」のk-means法をやってみました。見える化すると理解も深まりますね。 pic.twitter.com/E83T8kGtfs
— ⓂⓐⓔⓗⓐⓡⓐⓂⓐⓢⓐⓗⓘⓓⓔ🌫(11℃) (@maehrm) 2021年3月7日
Pythonによるプログラミング入門 東京大学教養学部テキスト: アルゴリズムと情報科学の基礎を学ぶ
- 作者:森畑 明昌
- 発売日: 2019/09/24
- メディア: 単行本