こんにちは。
プログラミング教室fullamigo(フラミーゴ)のふじいです。
ハーバード大学プログラミング講座の受講レポートその5です。
過去の記事はこちら。
0. ハーバード大学のプログラミング講座が無料公開されました!
1. ハーバード大学プログラミング講座受講レポ その1 Scratch編
2. ハーバード大学プログラミング講座受講レポ その2 C言語前編
3. ハーバード大学プログラミング講座受講レポ その3 C言語後編
4. ハーバード大学プログラミング講座受講レポ その4 C言語コンパイラ配列編
今回は「Week3 Algorithms」に当たります。
今回も2時間超える動画。。。
内容はだんだん難しくなっているし
先生のテンポも速い!
ついていけなくなっているハーバードの生徒さんもいるようで
「何が分からないのかも分からないんです。
課題もできなかったし。
そちらからの情報がなにか不足しているんじゃないですか?」
と質問している生徒さんがいました。
先生は
「だから講座の最初に
”消火栓から水を飲むようなものだ”
と言ったでしょ。
後で質問に来なさい」
と答えていました。
それだけの情報量ということでしょうね。苦笑。
では講座の内容のレポートです
私自身のメモとどんな内容かざっくり知りたい人向けです。
これを読んだからといって受講の代わりになるものではありません。
受講は無料なので動画を見てくださいね。
今回はアルゴリズムの回です。
アルゴリズムって何だというと
電話帳の検索、Googleの検索、メモリ内の検索
などに使われます。
(日本の子どもたちは”アルゴリズム体操”でみんな知っていますね。)
アルゴリズムの解析では
・ビッグオー
・オメガ
なんかが登場します。
動画では実際の舞台のセットを使って
アルゴリズムを分かりやすく説明してくれています。
今回の講座で登場したのは
・線形検索
・バイナリ検索
・二分探索
・選択ソート
・マージソート
・バブルソート
それぞれ並べ替えるにはどんな手順になるか?
また検索量の上限と下限をビッグオーやオメガで表すとどうなるか?
などなど。
これらの検索をC言語でやるとどうなるか
というサンプルも提示されていました。
C言語で登場したのは
・int mainの戻り値について
・文字列の比較はstrcmpを使う
・データ型を自分で作りたいときはtypedefを使う
・再帰関数の使い方
・配列のサイズは定数を使う
などなどです。
私が一番心に残ったのは
優れたプログラマやコンピュータ技術者の技術の一つは
コードの正確さ、効率的なアルゴリズムをどこまで求めるか
時間を犠牲にして手抜きするのか
という線引きをどこにするかである
ということ。
これはプログラミングするとき常に頭にあることですね。
現実に即した講座で本当に素晴らしいなと思います。
フォーロー大歓迎
公式LINE
レッスンの予約、お問い合わせも可能です。
ブログをチェックする時間のない方は公式LINEの登録をおすすめします。
お友達登録いただいた方に500円OFFクーポンプレゼントしています♪
↓をポチッとしてお友達登録してください。