강의

멘토링

커뮤니티

NEW
Programming

/

Algorithm & Data Structure

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

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

8名 が受講中です。

難易度 入門

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

受講後に得られること

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

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

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

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

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

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

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

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

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

大学の講義をそのまま再現しました

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

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

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

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

本講義で参考にした教材

学習内容

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

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

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

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

  • 最初の‌アナログコンピュータと最初のデジタルコンピュータについて学ぶ。

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

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

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


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

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

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

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

  • 位取り記数法を理解し、整数と実数がどのように符号化されるかについて確認する。

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

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

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

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


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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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


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

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


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

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

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

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

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

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

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

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

  • 単純な状態遷移図で全体を表現し、拡張された状態遷移図で詳細な内容を表現することができる。

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

受講前のアドバイス

事前知識および注意事項

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

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

  • thoughtful Preserving the formal/concise tone of the original Korean text.不明な点は質問・回答を通じて確認できる。


こんな方に
おすすめです

学習対象は
誰でしょう?

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

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

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

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

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

こんにちは
です。

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

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

カリキュラム

全体

24件 ∙ (9時間 0分)

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

受講レビュー

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

¥6,830

strandkingsの他の講座

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

似ている講座

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