Pythonによる「プログラミング的思考」入門

書籍の概要

この本の概要

本書は,Pythonを使用して「プログラミング的思考」を習得するための入門書です。「プログラミング的思考」とは,ある問題を解決するための方法や手順をプログラミングの概念に基づいて考えることで,文部科学省の掲げるプログラミング教育でも重要視されています。本書は,前半でPythonの解説,後半で実際のプログラムを使ったプログラミング的思考の解説という構成で,初心者でもモチベーションを持ちながら学習できるよう,興味が持てる例題を多数用意しています。また,練習問題もあるので,より理解が定着できます。付録で文法解説を載せており,この1冊で,Pythonとプログラミングの考え方の両方をまとめて学ぶことが可能です。

こんな方におすすめ

  • プログラミングを学びたての学生
  • 若手エンジニア

本書のサンプル

本書の一部ページを,PDFで確認することができます。

目次

序章 プログラミング的思考とは

  • 0-1 プログラミング的思考とは
  • 0-2 プログラミング的思考を支える考え方
  • 0-3 プログラミング的思考を身に付けるには
  • 0-4 プログラミング的思考の応用
  • 0-5 データサイエンスとアルゴリズム
  • 0-6 プログラミングとPython

第1章 Python文法の基本

  • 1-1 Pythonとは
  • 1-2 Pythonの実行環境
  • 1-3 Pythonの基本文法
  • 1-4 print関数とf文字列
  • 1-5 演算子
  • 1-6 変数と代入
  • 1-7 変数の値の更新
  • 1-8 input関数
  • 1-9 for in文
  • 1-10 二重ループ
  • 1-11 if else文
  • 1-12 elif文
  • 1-13 while文
  • 1-14 リスト
  • 1-15 2次元リスト
  • 1-16 データ型
  • 1-17 関数
  • 1-18 ユーザー関数
  • 1-19 ローカルとグローバル
  • 1-20 クラス

第2章 Pythonの書法・技法

  • 2-1 プログラミング書法(プログラミング・スタイル)
  • 2-2 プログラミング技法
  • 2-3 言語仕様上の注意点
  • 2-4 ちょっとしたテクニック
  • 2-5 ビット演算子
  • 2-6 文字列処理
  • 2-7 リスト操作
  • 2-8 クラスの活用
  • 2-9 辞書の活用
  • 2-10 ファイル処理
  • 2-11 ライブラリの活用

第3章 Pythonでのグラフィックス

  • 3-1 ColabTurtle(タートルグラフィックス・ライブラリ)
  • 3-2 ポリゴン(多角形)の描画
  • 3-3 渦巻き模様の描画
  • 3-4 文字の描画

第4章 Pythonで学ぶプログラミング的思考

  • 4-1 流れ制御構造(組み合わせ)
  • 4-2 データ化
  • 4-3 抽象化と一般化
  • 4-4 分解とモジュール化
  • 4-5 データ構造とアルゴリズム

第5章 プログラミング的思考の実践①~かんたんなプログラム

  • 5-1 最大値と最小値
  • 5-2 ピタゴラスの定理
  • 5-3 シーザー暗号
  • 5-4 相性占い
  • 5-5 10進数→2進数への変換
  • 5-6 フィボナッチ数列
  • 5-7 干支の算出
  • 5-8 サイコロゲーム
  • 5-9 カレンダー
  • 5-10 幾何学模様

第6章 プログラミング的思考の実践②~再帰的思考

  • 6-1 漸化式と再帰的表現
  • 6-2 再帰の罠
  • 6-3 ハノイの塔
  • 6-4 リカーシブ・グラフィックスI
  • 6-5 リカーシブ・グラフィックスII
  • 6-6 リカーシブ・グラフィックスIII

第7章 プログラミング的思考の実践③~アルゴリズム

  • 7-1 ユークリッドの互除法
  • 7-2 モンテカルロ法
  • 7-3 素数を探す
  • 7-4 テイラー展開
  • 7-5 ソート(並べ換え)
  • 7-6 線形探索(リニアサーチ)
  • 7-7 二分探索(バイナリサーチ)
  • 7-8 自己再編成探索
  • 7-9 ハッシュ
  • 7-10 決定木
  • 7-11 ハノイの塔のシミュレーション
  • 7-12 迷路
  • 7-13 ペイント処理
  • 7-14 3次元座標変換
  • 7-15 回転体モデル
  • 7-16 3次元関数
  • 7-17 21を言ったら負けゲーム
  • 7-18 戦略を持つじゃんけん

第8章 プログラミング的思考の実践④~データサイエンス

  • 8-1 Matplotlib を使ったグラフの作成
  • 8-2 数値計算を効率的に行うNumPy
  • 8-3 Matplotlib を使った3D表示
  • 8-4 3D棒グラフの表示
  • 8-5 3次元座標を元にした立体の表示
  • 8-6 3次元関数の表示
  • 8-7 回転体モデルの表示
  • 8-8 ワイヤーフレームの表示

付録 Python文法

著者プロフィール

河西朝雄(かさいあさお)

山梨大学工学部電子工学科卒(1974年)。長野県岡谷工業高等学校情報技術科教諭,長野県松本工業高等学校電子工業科教諭を経て,現在は「カサイ.ソフトウエアラボ」代表。

主な著書:「入門ソフトウエアシリーズC言語,MS-DOS,BASIC,構造化BASIC,アセンブリ言語,C++」「やさしいホームページの作り方シリーズHTML,JavaScript,HTML機能引きテクニック編,ホームページのすべてが分かる事典,iモード対応HTMLとCGI」「チュートリアル式言語入門VisualBasic.NET」「はじめてのVisualC#.NET」「C言語用語辞典」ほか(以上ナツメ社)

「構造化BASIC」「Javaによるはじめてのアルゴリズム入門」「VisualBasic6.0入門編/中級テクニック編/上級編」「InternetLanguage改定新版シリーズホームページの作成,JavaScript入門」「NewLanguageシリーズ標準VisualC++プログラミング,標準Javaプログラミング」「VB.NET基礎学習Bible」「原理がわかるプログラムの法則」「プログラムの最初の壁」「河西メソッド:C言語プログラム学習の方程式」「基礎から学べるPHP標準コースウエア」「なぞりがきC言語学習ドリル」「JavaScriptではじめるプログラミング超入門」「改定第5版C言語によるはじめてのアルゴリズム入門」「Pythonによるはじめてのアルゴリズム入門」など(以上技術評論社)