とらりもんHOME  Index  Search  Changes  Login

python入門

このページは, 筑波大学生物資源学類「基礎数学」「実用解析I」の教材を元に作ったページです。(2018年度から開始; 随時改訂中)

概要

 ここでは, 計算機プログラミングとそれに関する数学を学ぶ。機械学習(人工知能; AI)などの最新の情報処理技術を学ぶための基礎づくりである。

 まず, Linuxという基本ソフト(OS)を学ぶ。次に, pythonというプログラミング言語を学ぶ。Linuxとpythonは, AI開発で大変よく使われるからである。最後に, pythonを使った数値計算(関数・行列)を学ぶ。

一般目標 (General Instructive Objectives: GIO): 機械学習(人工知能)を学ぶ準備のために, 計算機(Linux)とプログラミング(python)の初歩的なスキルを得る。

お薦めのテキスト:

  • Linuxについて
    • 奈佐原顕郎「入門者のLinux」講談社ブルーバックス ... 自著で恐縮だが, Linux初心者にはよいと思う。
  • Pythonについて
    • 森巧尚「Python1年生」翔泳社 ... 簡単。プログラミング初心者に良い。
    • 柴田敦「みんなの Python」SBクリエイティブ ... 中くらいの難易度。私はこれが好き。バランスが良い。
    • 柴田望洋 「新・明解Python入門」SBクリエイティブ ... 高い難易度。細かいこともきちんと書いてある。ちゃんと理解したい時に役立つ。

こころがまえ

  • プログラミングはスマートなものではありません。泥臭いものです。初心者はもちろん, 上級者でも, ガンガン間違えるしガンガン失敗します。エラーがガンガン出ます。
  • しかし, エラーがガンガン出るせいで, 自信が無くなっちゃうのでしょうか, 「自分はプログラミングに向いていない」とか言い出す人がいます。
  • そんなにふうに, うまくいかない(エラーが出る)ことにいちいち失望したり凹んではダメです。すんなりとできない自分は駄目だと思っちゃうのは早とちりです。誰がやってもエラーはガンガン出るのです。それが普通なのです。打ってはエラー, 打ってはエラー, の繰り返しです。
  • 諦めずに色々試すうちに工夫を覚えます。エラーがどういうときに出るかわかり始めます。みんなそうやって上達するのです。
  • 受験慣れした人は「間違えることを恐れる」「正解をすぐに欲しがる」「正解は一つに決まると思っている」という傾向がありますが, これらはプログラミングの修得においてマイナスになります。プログラミングはガンガン間違えるし(むしろ間違えずに一発で動くのは奇跡), 正解は一つではないし, 自分でいろいろ試行錯誤して作っていくものです。裏を返せば, プログラミングを学ぶことで受験慣れを卒業するのです。
  • 几帳面さが必要。特に言葉や記号を丁寧に扱おう。言葉や記号を雑に扱っていてはプログラミングはできない。プログラミング言語には記号ひとつひとつに意味があり, ちょっとでも間違えたら動かない。
  • たとえばドットとコンマ, コロンとセミコロン, 大文字と小文字, スペースの有無, スペルの打ち間違い。こういう細かいところでミスを頻発すると疲弊する。
  • 決まった「正解」があると思わない。プログラミングは「ひとつの目的にも多くのアプローチがある」もの。決まりきった答を探すのでなく, 自分で考え出す。
  • 人に聞く。わからなくて煮詰まったときは, 人のアドバイスが劇的に事態を打開することがあります。
  • 人に「答」を教わろうとしない。↑これと矛盾するようですが, あなたの組んだプログラムの正解はあなたが見つけるのです。
  • 丸暗記しないでよい。プログラミングは暗記するものでなく言語です。使って慣れて理解していくもの。
  • 粘り強くやる。粘り強さは決定的に重要です。組んだプログラムが一発で動くことはほとんどありません。動くまで頑張る・粘るのです。
  • ものづくり(とプログラミング)では, 「動く」ことが正義です。「飛べない豚はただの豚」

Linuxの初歩

目標: 計算機OS (Linux)のGUIとCUIを適宜利用し, ディレクトリとファイルを作成・閲覧・編集できるようになる。

レポート課題

メモ: LinuxもPythonもRも, 「オープンソース」です。オープンソースの開発者がどういう人たちで, 何を考えているのか, こちらの記事を読んでみて下さい!!

pythonの初歩

目標: プログラミング言語pythonがどういうものか(オープンソース, オブジェクト指向)基本的な操作(実行環境, スクリプト, 変数, リスト, ループ)を理解し, 自力で扱えるようになる。

レポート課題

おまけ: pythonの魔法のコマンドはhelp()。なんかわからないオブジェクトがあったら, help(なんか)と打つと, それに関する詳細が表示される。

pythonのモジュールと関数

目標: pythonのnumpyモジュールやmatplotlibモジュールを用いて, 数学処理・グラフ描画ができるようになる。

レポート課題

pythonで行列計算・画像

目標: pythonで行列(画像)を扱うスキルを学び, それを用いて, 空間的な数学処理ができるようになる。

レポート課題

pythonで微分・積分・微分方程式

発展課題

Last modified:2022/08/25 22:54:55
Keyword(s):
References:[機械学習入門: レポート課題1] [とらりもんHOME] [SideMenu] [機械学習入門: 概要]