レベルエンター山本大のブログ

面白いプログラミング教育を若い人たちに

コンピュテーショナルシンキングについての学習ルート

最近ずっと僕が取り憑かれているコンピュテーショナルシンキングとは、コンピュータサイエンティストの思考法という解釈がしっくり来ます。

Google for Educationでも重要な指針として認められている考え方です。

 

edu.google.com

 

主なコンセプトは、以下です。(Google for Educationより)

抽象化

主要なアイデアを定義するために関連情報を特定して抽出する

アルゴリズム設計

類似の問題を解決するため、またはタスクを実行するための一連の命令を作成する

自動化

コンピュータや機械に繰り返しの作業をさせる

データ分析

パターンを見つけたり洞察を深めたりしてデータを理解する

データ収集

情報の収集

データ表現

適切なグラフ、図表、言葉、または画像でデータを描き、整理する

分解

データ、プロセス、または問題を小さく管理しやすい部分に分割する

並列化

より大きなタスクからより効率的に共通の目標に到達するための小規模なタスクの同時処理

パターンの一般化

予測された結果をテストするために、モデル、ルール、原則、または観察パターンの理論を作成する

パターン認識

データのパターン、傾向、規則性を見出す

シミュレーション

実世界のプロセスを模倣するモデルをつくる

 

プログラミングというよりも、システム設計の分野で使われている考え方とした方が良いかもしれません。

 

 

 今後は、システム設計の学習方法について考えます。