このテキストは授業でPythonを使うために作成されたものです。一般的なPythonの入門書やマニュアルではなく、授業の目的にあわせて、オンラインもしくは対面での授業での説明及び補助資料とセットになって利用されることを前提としています。尚、このドキュメントの中で特に断りなくPythonといっている場合、それは暗黙のうちに Python 3 を意味しています。
コンピューターシステムは、大きくわけるとハードウェアとソフトウェアから成り立っています。「コンピューター。ソフトなければただの箱。」という言葉を聞いたことがあるかも知れませんが、ハードウェアをどう動かすかはソフトウェアに任されています。
今日の生活の中で周りを見渡してみると、多くのソフトウェアに依存して生活しているのがわかります。デスクトップコンピュータ、ラップトップコンピュータのように見た目でわかりやすいコンピュータ上で動いているソフトウェアだけではなく、スマートフォンでWebサイトの情報をみるのはWebブラウザアプリケーションですし、通話するのも通話アプリケーションを使っていることになります。もちろんインターネットは、無数ともいえる多数のコンピュータを接続しているわけですから、そこにはさらに多くのソフトウェアが動いています。
そのソフトウェアとは何かを理解するということは、この住んでいる世界を構成する、しかもかなり重要な部分を構成しているものを理解するということにほかなりません。しかし、ソフトウェアという形のないものを言葉だけで理解するのは至難の技です。
もし音楽というものを聞いたことがない人がいて、その人に音楽とは何かを言葉で説明するのは至難の技でしょう。音楽を聞かせて、そして実際に奏でる方法を教えてあげれば、そして奏でられるようになれば、少なくとも言葉で説明するだけより音楽とは何かを理解できるでしょう。たとえ頭で理解できなくても指で、手で、身体で音楽を感じることが出来るはずです。
実際にプログラムを組んでみると、コンピュータというものが自分の思い通りに動かせることに、密かな興奮を覚えるでしょう。そして、その反面、時として極めて繊細で、カンマ1つ打ち間違えるだけで、まったく違う動きをしてしまう怖さも知ることになるでしょう。そのようなことを肌感覚で感じるようになれば、ソフトウェアに支えられているこの社会の見え方が違ってくるのではないでしょうか。