inflearn logo
知識共有
inflearn logo

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

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

難易度 初級

受講期間 6か月

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

受講後に得られること

  • プログラマーやコンピュータサイエンティストのような考え方を身につけることができる。

  • 初めてコーディングを始める入門者が、コンピューテーショナル・シンキングに親しむことができる。

  • 様々な分野にコンピューテーショナル・シンキングを取り入れ、問題解決を行うことができる。

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

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

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

  • プログラミング分野の背景知識はないが、Vibe Codingに入門しようとしている初心者に必要な講義

  • プログラミング言語の文法を学んだことはあるが、コーディング分野への一歩を踏み出せずに挫折してしまった方に必要な講義

  • コンピューティング思考(2部)を受講する前に、コンピューティング思考(1部)を先に受講することをおすすめします!!

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

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

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

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

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


本講義で参考にした教材

学習内容 📚

セクション(1) 第7章 データの構成

  • 変数名の命名の重要性について理解する。

  • メモリにデータがどのように構成され、保存されるかを理解する。

  • リストが配列としてメモリに保存される際、インデキシング(indexing)がどのように使用されるかを理解する。

  • リストを追加したり削除したりするのに便利な連結リストが実装される際、連結(linking)が使用される方法を理解する。

  • 道路網、電鉄路線、航空路線などでグラフが使用される例を確認します。

  • グラフを数学的に定義し、メモリに実装してみる。

  • ツリーを定義し、ツリーが使用される様々な例を見てみます。

セクション(2) 第8章 データ処理

  • フォン・ノイマン型プログラム内蔵方式コンピュータの構造を理解する。

  • フォン・ノイマン構造がセルベースのスプレッドシートの動作方式と類似していることを理解する。

  • セルベースのスプレッドシートにおける算術演算、計算式、関数などがプログラミングの原理と類似していることを理解する。

  • eメールアドレス、日付表記などの文字列がプログラムで処理される仕組みを理解する。

  • 文字列における多様なパターンと、さまざまなパターン規則について確認する。

  • 多様なパターンを正規表現で表す方法を理解し、それを活用してみる。

セクション(3) 第9章 ソフトウェアの検証と確認

  • コンピューターでエラーが発生する理由について理解する。

  • ソフトウェアの設計および実装が、建築設計および施工と類似していることを理解する。

  • ソフトウェアの正確性検証と建築監理のための手順が類似していることを理解する。

  • ソフトウェアのための要求事項、設計検証および製品確認について理解する。

  • AIバイブコーディングの長所と限界を理解し、レビューと検証が必要であることを理解する。

  • ソフトウェアの検証および確認のためにソフトウェアテストを使用する理由と、テストの限界を理解する。

  • ソフトウェアテストのための文書、シナリオ、テストケース、テストレポートが必要であることを理解する。

  • ソフトウェアテストにおけるブラックボックステストとホワイトボックステストの違いについて理解する。

  • ブラックボックステストとホワイトボックステストの様々な詳細な例を見ていきます。

セクション(4) 第10章 計算の限界

  • コンピュータの性能向上とムーアの法則の物理的限界について理解する。

  • 計算性能は、ストレージ容量と処理速度によって定義できることを理解する。

  • マルチコアプロセッサの性能が向上し続けることが困難な理由を理解する。

  • コンピュータの性能を測定するためにベンチマーキングが使用される例を確認する。

  • アルゴリズムの性能評価方法と、線形探索および二分探索(ソートを含む)の性能差について理解する。

  • アルゴリズムの時間計算量と非実用的(指数時間)アルゴリズムについて理解する。

  • 非実用的な古典的アルゴリズムが、量子コンピュータでは実用的な解法として存在し得ることを理解する。

  • 停止性問題のように、決して解決できない計算不可能なアルゴリズムが存在することを理解する。

  • 人工知能に関連して、チューリングテストとCAPTCHAが測定しようとしているものは何であるかを理解する。

セクション(5) 第11章 同時的行動

  • サッカーのトーナメントにおけるサッカーの試合を実行プログラム、サッカー場の数をCPUの数に例えることができる。

  • サッカー場にそれぞれの試合を割り当てることが、CPUスケジューリングにおける並行性と類似していることを理解する。

  • 一度に多くの皿を回すことが、コンピュータにおける並列性と並行性の概念に似ていることを理解する。

  • ソートネットワークが動作する過程を通じて、並列性を利用した性能改善の方法を理解する。

  • 同時実行を禁止する基本的な制約事項(依存性と競合状態)を理解する。

  • 性能向上のための並行性の潜在能力と、共有リソースがいかに並行性を制約するかについて確認する。

  • 競合状態(TOCTOU)がどのようにエラーを引き起こすかを理解する。

  • デッドロック(deadlock)とライブロック(livelock)の状況を認識し、説明することができる。

セクション(6) 第12章 情報保護

  • セキュリティの構成要素およびサイバー犯罪(マルウェア、なりすまし、フィッシングなど)の一般的な形態について理解する。

  • 認証技術と個人認証がどのように動作するかを理解する。

  • 暗号学的概念(対称鍵暗号、公開鍵暗号、署名、メッセージ認証、証明書など)について理解する。

  • セキュリティ侵害緩和戦略(ファイアウォール、アンチウイルス、ソフトウェアアップデート、バックアップ、ログなど)について理解する。

  • 攻撃緩和戦略(脆弱な接続部の保護、アタックサーフェスの削減、多層防御、区画化など)の基本的なセキュリティ原則を認識し、適用することができる。

  • オープンソースソフトウェアのような開放性が、どのようにセキュリティに寄与するのかを理解する。

受講前のご参考事項

前提知識および注意事項

  • 高校課程のn次関数および指数関数のグラフに関する理解があれば、非常に役立ちます

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

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

こんな方に
おすすめです

学習対象は
誰でしょう?

  • コンピューティング分野の必須概念を習得したい入門者、または非専攻者

  • プログラミングは初めてだが、将来のバイブコーディングに向けて土台を築きたい入門者

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

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

  • 特別な基礎知識は必要ありませんが、コンピューティング思考に対して柔軟な考えを持っている必要があります(コンピューティング思考1の受講が必要)

こんにちは
strandkingsです。

キャリア認証

99

受講生

18

受講レビュー

4.9

講座評価

2

講座

e-mail: strandnero@gmail.com

ベンチャー、サムスン電子、ETRI勤務/ 米国シリコンバレーおよびロンドンIT企業勤務/ 17年間インソウル大学教授(コン工学科)

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

もっと見る

カリキュラム

全体

24件 ∙ (14時間 12分)

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

受講レビュー

全体

8件

5.0

8件の受講レビュー

  • pk30000002371님의 프로필 이미지
    pk30000002371

    受講レビュー 5

    平均評価 5.0

    5

    33% 受講後に作成

    • jucicoola1462님의 프로필 이미지
      jucicoola1462

      受講レビュー 11

      平均評価 5.0

      5

      63% 受講後に作成

      • supee12296306님의 프로필 이미지
        supee12296306

        受講レビュー 3

        平均評価 5.0

        5

        100% 受講後に作成

        • phc93142856님의 프로필 이미지
          phc93142856

          受講レビュー 5

          平均評価 5.0

          5

          33% 受講後に作成

          • jy07533212님의 프로필 이미지
            jy07533212

            受講レビュー 5

            平均評価 5.0

            5

            17% 受講後に作成

            strandkingsの他の講座

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

            似ている講座

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

            新規会員登録で25%OFF

            ¥6,737

            25%

            ¥8,977