inflearn logo
知識共有
inflearn logo

コンピューティング思考 (2部)

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

4名 が受講中です。

難易度 初級

受講期間 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です。

ベンチャー、大企業、政府出資の研究機関、大学での幅広い勤務経験

ネットワーク/セキュリティ/ブロックチェーン/暗号/モバイル通信/ソフトウェア開発/オペレーティングシステム/量子コンピューティング

カリキュラム

全体

24件 ∙ (14時間 12分)

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

受講レビュー

まだ十分な評価を受けていない講座です。
みんなの役に立つ受講レビューを書いてください!

strandkingsの他の講座

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

似ている講座

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

¥7,776