강의

멘토링

커뮤니티

NEW
Programming

/

Algorithm & Data Structure

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

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

2名 が受講中です。

難易度 初級

受講期間 6か月

  • strandkings
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)に入門してみたい初心者に必要な講義
  • プログラミング言語の文法を学んだことはあるが、コーディングの世界に踏み出せずに挫折してしまった方に必要な講義
  • thoughtful コンピューティング思考(2部)を受講する前に、コンピューティング思考(1部)を先に受講することをおすすめします!! nhé!!

大学の講義をそのまま移してきました。 Nội dung bài giảng đại học được chuyển tải nguyên vẹn.

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

강의에서 참고한 교재

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

プログラミングに初めて触れる人や、コンピュータを専攻しようとする入門者にとって、必要不可欠な内容を扱っている。

非専門家や文系出身の人々がプロのプログラマーと円滑に意思疎通を図るための概念を、例を挙げて分かりやすく解説している。


学習内容 📚

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

  • 変数名の命名の重要性について理解する。
  • メモリにデータがどのように構成され、保存されるのかを理解する。
  • リストが配列としてメモリに保存される仕組みを理解する。
  • リストの追加や削除に便利な連結リストの実装方法について見ていく。
  • 道路網、地下鉄の路線、航空路線などでグラフが使用される例を見ていく。
  • グラフを数学的に定義し、メモリ上に実装してみる。
  • ツリーを定義し、ツリーが使用される様々な例を見てみる。
  • データを構成するのにインデックス(indexing)がどのように使われるかを理解する。
  • データの構成において、連結(linking)がどのように使われるかを理解する。

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

  • フォン・ノイマン型プログラム内蔵方式コンピュータの構造を理解する。
  • フォン・ノイマン構造がセルベースのスプレッドシートの動作方式と類似していることを理解する。
  • セルベースのスプレッドシートにおける算術演算、計算式、関数などがプログラミングの原理と類似していることを理解する。
  • e-メールアドレス、日付表記などの文字列がプログラムで処理される仕組みを理解する。
  • 文字列における多様なパターンと、様々なパターン規則について見ていく。
  • 様々なパターンを正規表現で表す方法を理解し、それを活用してみる。

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

  • コンピューターでエラーが発生する理由について理解する。
  • ソフトウェアの設計および実装が、建築設計および施工と類似していることを理解する。
  • ソフトウェアの正確性検証と建築監理の手順が類似していることを理解する。
  • ソフトウェアのための要求事項、設計検証および製品確認について理解する。
  • AIバイブコーディングの長所と限界を理解し、レビューと検証が必要であることを理解する。
  • ソフトウェアの検証および妥当性確認のためにソフトウェアテストを行う理由と、テストの限界について理解する。
  • ソフトウェアテストのための文書、シナリオ、テストケース、テストレポートが必要であることを理解する。
  • ソフトウェアテストにおけるブラックボックステストとホワイトボックステストの違いについて理解する。
  • ブラックボックステストとホワイトボックステストの様々な詳細な例を見ていく。

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

  • コンピューターの性能向上とムーアの法則の物理的限界について理解する。
  • thought 計算性能は、ストレージ容量と処理速度によって定義できることを理解する。
  • マルチコアプロセッサが継続しにくい理由を理解する。
  • コンピューターの性能を測定するためにベンチマークが使用される例を確認する。
  • アルゴリズムの性能評価方法と、線形探索および二分探索(ソートを含む)の性能差について理解する。
  • アルゴリズムの時間計算量と非実用的(指数時間)アルゴリズムについて理解する。
  • 非実用的な古典的アルゴリズムが、量子コンピュータにおいては実用的な解法として存在し得ることを理解する。
  • 停止性問題のように、決して解決することのできない計算不可能なアルゴリズムが存在することを理解する。
  • 人工知能に関連して、チューリング・テストとCAPTCHAが何を測定しようとしているのかを理解する。

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

  • サッカートーナメントにおけるサッカーの試合を実行プログラムに、サッカー場の数をCPUの数に例えることができる。
  • サッカースタジアムにそれぞれの試合を割り当てることが、CPUスケジューリングにおける並行性と類似していることを理解する。
  • 一度に多くの皿を回す技術から、コンピュータにおける並列性と並行性の違いを理解する。
  • ソートネットワークが動作する過程を通じて、並行性を利用した性能改善方法を理解する。
  • 並列実行を制限する基本的な制約事項(依存関係と競合状態)を理解する。
  • 性能向上のための並列性の潜在能力と、共有リソースがいかに並列性を制約するかについて考察する。
  • 競合状態(TOCTOU)がどのようにエラーを引き起こすのかを理解する。
  • デッドロック(deadlock)とライブロック(livelock)の状況を認識し、説明できる。

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

  • セキュリティの構成要素およびサイバー犯罪(マルウェア、なりすまし、フィッシングなど)の一般的な形態について理解する。
  • 認証技術と個人認証がどのように動作するのかを理解する。
  • 暗号学的概念(対称鍵暗号、公開鍵暗号、署名、メッセージ認証、証明書など)について理解する。
  • セキュリティ侵害緩和戦略(ファイアウォール、アンチウイルス、ソフトウェアアップデート、バックアップ、ログなど)について理解する。
  • 攻撃緩和戦略(脆弱な箇所の保護、アタックサーフェスの縮小、多層防御、セグメンテーションなど)の基本的なセキュリティ原則を理解し、適用することができる。
  • オープンソースソフトウェアのような開放性が、どのようにセキュリティに寄与するのかを理解する。

受講前の注意事項 📢

前提知識および注意事項

  • 高校課程のn次関数および指数関数のグラフに関する理解があれば、非常に役立ちます。
  • 講義動画の品質(音質・画質)が十分ではないため、今後アップデートされる可能性があります。
  • 不明な点は質問・回答を通じて確認できる。

こんな方に
おすすめです

学習対象は
誰でしょう?

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

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

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

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

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

こんにちは
です。

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

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

カリキュラム

全体

24件 ∙ (14時間 12分)

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

受講レビュー

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

期間限定セール

¥4,190

38%

¥6,809

strandkingsの他の講座

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

似ている講座

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