inflearn logo
知識共有
inflearn logo

コンピューティング思考(第1部) - ソフトウェアによる問題解決

読み、書き、計算に加え、AI時代を生きる誰もが必ず備えるべき能力がコンピューティング思考能力です。コンピューティング思考とは、簡単に言えば「プログラマーのように考えること」あるいは「コンピュータ科学者のように考えること」と定義できます。本講義は大学の実際の1学期間の講座をそのまま再現しており、プログラミングに初めて触れる人や、コンピュータを専攻しようとする入門者に不可欠な内容を扱っています。また、本講義を通じて、コンピュータ非専攻者や人文学的背景を持つ人々が、専門のプログラマーと円滑にコミュニケーションをとるための能力を養うことができます。AIバイブコーディングのためにプロンプトを学ぶべき時代においても、コンピューティング思考を通じて、より正確かつ効果的にAIへ指示を出す能力を身につけることができます。

難易度 入門

受講期間 4か月

Algorithm
Algorithm
software-design
software-design
Business Problem Solving
Business Problem Solving
Algorithm
Algorithm
software-design
software-design
Business Problem Solving
Business Problem Solving

受講後に得られること

  • プログラマーやコンピュータ科学者のような考え方を習得できる。

  • 初めてコーディングを始める入門者が、コンピューティング思考に親しむことができる。

  • 様々な分野にコンピューティング思考を取り入れ、問題解決をすることができる。

  • プログラミング言語の文法ではなく、コーディングのための基礎概念を学ぶことができる。

プログラミング(コーディング)を初めて学ぶ前に必ず受講すべき講座

  • 人文系出身で、プログラミング(コーディング)に関する基礎的な教養を身につけたい初心者に適した講義

  • プログラミング分野の背景知識はないが、バイブコーディングに入門しようとしている初心者に必要な講義

  • プログラミング言語の文法を学んだことはあるが、コーディングの分野に踏み込めなかった「コーディング挫折者」にぜひ必要な講義

  • コンピューティング思考(1部)を受講した後にコンピューティング思考(2部)を受講するのがおすすめです!!

大学の講義をそのまま移してきました

コンピューティング思考の講義を必ず受けるべき人は誰だろうか?

  • 本講義は大学の1学期間の講座(1部と2部の両方を含む場合)をそのまま再現しており、プログラマーやコンピュータ科学者のような考え方を学びます。

  • プログラミングを初めて学ぶ人や、コンピュータを専攻しようとする入門者に必ず必要な内容を扱っています。

  • 非専門家や人文学的な背景を持つ人々が、専門のプログラマーと円滑にコミュニケーションをとるための概念を、例を挙げて分かりやすく説明しています。

本講義で参考にした教材

学習内容

セクション (1) 第1章 コンピューテーショナル・シンキング

  • 現代的なコンピュータとソフトウェアの発明に寄与した歴史的な出来事について見ていく。

  • プログラム概念の最初の機械と、プログラム可能な最初のコンピュータについて見ていく。

  • 内蔵プログラムの概念と、プログラムの実行およびデータが処理される過程について理解する。

  • 最初のプログラム可能なアナログコンピュータと最初のデジタルコンピュータについて学ぶ。

  • プログラム内蔵方式の最初のデジタルコンピュータについて見ていく。

  • 現代的なコンピュータの基本構成と特徴について学ぶ。

  • ソフトウェアを通じた問題解決能力である、計算論的思考(コンピュテーショナル・シンキング)の実質的な定義について見ていく。


セクション(2) 第2章 実世界の情報とデータ

  • 情報とデータの関係、アナログとデジタルの違いについて理解する。

  • データサイズに対する測定と、実世界の情報を保存するために必要な容量を定義する。

  • コンピューターシステムでデータをビット列として表現するために、符号化される方法を理解する。

  • 位置記数法を理解し、整数と実数がどのように符号化されるかについて学ぶ。

  • テキスト文字をビット列に符号化するために、整数に符号化する方法について見ていく。

  • アナログ音声をデジタルビット列に符号化するために必要なサンプリング手法を理解する。

  • 色の表現方法を理解し、画像をデジタルビット列に符号化する方法を理解する。

  • デジタル映像を保存したり伝送したりするために、より小さく短いビット列に圧縮する原理を理解する。


セクション(3) 第3章 論理とは何か

  • 正しく理性的な思考のために論理が必要であり、有用であることを理解する。

  • 帰納的論理と演繹的論理を理解し、論理的推論を試みることができる。

  • 自然言語の命題と論理がどのように記号(シンボル)で表現されるかを確認する。

  • 論理値と論理演算子を定義し、真理値表、トートロジー(恒真式)および矛盾を理解する。

  • 論理的否定と含意を通じて、論理的推論を構築することができる。

  • 実世界の問題(検索エンジン、データベースクエリ、デジタル回路、映像合成、ソフトウェア要件定義など)を解決するために、論理がどのように適用されるかについて学ぶ。


セクション(4) 第4章 問題解決

  • コンピューティングにおける問題定義の核心となる機能要件について学ぶ。

  • 要求事項に基づき、ソフトウェア開発のための問題定義を行うことができる。

  • 問題定義を原因-結果推論、演繹的推論、帰納的推論などの論理的推論を通じて分析する。

  • 複雑な問題をより小さな問題に分解し、分割統治法を通じて問題を解決することができる。

  • 二分探索を通じて、データの分解と分割統治の概念を理解することができる。

  • 複雑な問題を単純化するために、制御の抽象化を使用することができる。

  • データの抽象化のためにクラス図(class diagram)を使用することができる。

  • 行為の抽象化のために、ユースケース図(use case diagram)を使用することができる。


セクション(5) 5章 アルゴリズム的思考

  • アルゴリズムの由来と、アルゴリズムにおける詳細な動作の順序が重要であることを理解する。

  • プログラム設計段階で必要なアルゴリズムは、論理的な条件文を通じて選択が動作することを理解する。

  • アルゴリズムにおいて、変数はその位置によってメモリ空間になることもあれば、データそのものになることもあるということを理解する。

  • コンピューティングにおける計算状態、イベント、演算の概念を理解する。

  • アルゴリズムにおいて計算状態の変化とは、メモリ内の変数の値が変化する状態を意味する。

  • フローチャート(アクティビティ図)において、変数名の命名、選択、繰り返し命令文がどのように表現されるかを理解する。


  • アルゴリズムにおける複雑な詳細動作は、制御の抽象化を通じてモジュール化することができる。

  • 10個程度の状態を持つ順次アルゴリズムをモデリングしてみることができる。


セクション(6) 第6章 解決策のモデリング

  • アルゴリズムモデリングのためのアクティビティ図と状態遷移図について理解する。

  • 行動、条件、および制御フローが含まれるアクティビティ図を解釈できる。

  • アクティビティ図の3つの制御形式(順次、選択、反復)を理解する。

  • アクティビティ図において、複雑なアクティビティを抽象化するために制御抽象化を使用することができる。

  • 与えられたアルゴリズムに対して、アクティビティ図を作成することができる。

  • コンピューターシステム内の計算状態の変化を示す状態ダイアグラムを解釈できる。

  • システム内部に潜在している変化を理解するために、状態とイベントを認識することができる。

  • シンプルな状態ダイアグラムで全体を表現し、拡張された状態ダイアグラムで詳細な内容を表現することができる。

  • do、entry、exitアクションが含まれる状態遷移図を解釈できる。

受講前のアドバイス

予備知識および注意事項

  • 高校課程の集合と論理、および整数と実数に関する理解があれば、非常に役立ちます。

  • 初期の講義動画の品質(音質・画質)が優れていないため、今後アップデートされる可能性があります。

  • 不明な点は質問/回答を通じて確認できます。


こんな方に
おすすめです

学習対象は
誰でしょう?

  • コンピューティング分野に関する必須概念を習得したい入門者または非専門家

  • プログラミングに初めて触れるものの、将来的にバイブコーディング(Vibe Coding)のための土台を築きたい入門者

  • ビジネスシナリオを具現化するプログラマーと円滑なコミュニケーションを望む非専門家

前提知識、
必要でしょうか?

  • 特別な基礎知識は必要なく、コンピューティング思考に対して柔軟な考えを持っている必要があります。

こんにちは
strandkingsです。

キャリア認証

97

受講生

18

受講レビュー

4.9

講座評価

2

講座

e-mail: strandnero@gmail.com

ベンチャー、大企業、政府出資研究所、大学での幅広い勤務経験 / シリコンバレーおよびロンドンのIT企業での経験

インターネット通信/移動通信網/モバイルコンピューティング/コンピュータセキュリティ/ネットワークセキュリティ/システムソフトウェア/オペレーティングシステム/量子コンピューティング/量子通信

もっと見る

カリキュラム

全体

24件 ∙ (9時間 1分)

講座掲載日: 
最終更新日: 

受講レビュー

全体

10件

4.9

10件の受講レビュー

  • jy07533212님의 프로필 이미지
    jy07533212

    受講レビュー 5

    平均評価 5.0

    5

    17% 受講後に作成

    • inchon11236063님의 프로필 이미지
      inchon11236063

      受講レビュー 1

      平均評価 5.0

      5

      33% 受講後に作成

      • jucicoola1462님의 프로필 이미지
        jucicoola1462

        受講レビュー 5

        平均評価 5.0

        5

        33% 受講後に作成

        • pk30000002371님의 프로필 이미지
          pk30000002371

          受講レビュー 5

          平均評価 5.0

          5

          33% 受講後に作成

          • phc93142856님의 프로필 이미지
            phc93142856

            受講レビュー 5

            平均評価 5.0

            5

            33% 受講後に作成

            strandkingsの他の講座

            知識共有者の他の講座を見てみましょう!

            似ている講座

            同じ分野の他の講座を見てみましょう!

            新規会員登録で25%OFF

            ¥6,700

            25%

            ¥8,940