4月17日(金)アルゴリズム基礎研修(1日目)
皆様、こんにちは。
本日から2日間は、「アルゴリズム基礎研修」の単元に入ります!
「アルゴリズム」は処理の手順を漏れなく表現したもので、
プログラミングをする前の「設計」段階で必要となるものです。
これから本格的にプログラミングを行っていきますが、
その前に、「全体でどんな処理を行うか」設計しておくことがとても重要になります。
誰もがわかるアルゴリズムを書けるように、訓練していきましょう。
では、まず講義に入る前に、1分間プレゼンテーションの時間です。
今日の自己紹介プレゼンテーションは2名に担当していただきました。
特に、初めて説明する言葉について、「一言でいうと○○です」と言い換えたり、
「自分の趣味がいかに面白いか」を語ったりするなど、
最後を飾るにふさわしい、論理的で分かりやすいプレゼンテーションでした。
皆さん一人ひとりに発表していただきましたが、
日を追うごとに相乗的にプレゼンテーションスキル、
フィードバックするスキルが上がっているようでしたね。
そして、講義に入ります。
現場に配属されると、まずは既存のシステムの処理や、
プログラムを理解する力が求められますが、
処理の仕組みがきちんと理解できるようになるために、
アルゴリズムの知識は基本の基本になります。
「もし買いたいものが売り切れていたら?」
まずは身近な例から、考えていきました。
処理の「流れ」をかけるように、概念を一つひとつ理解していきましょう。
午後は、「複数の値から最小値をを求めるには、どんな処理をするか」
「繰り返し処理をするには、どんなアルゴリズムにするか」
といった問題を自分で解いて、ブレークアウトセッションで、3人1組になり、
考え方を共有します。
ブレークアウトセッションをいくつか覗いてみました。
それぞれの書いたものを見てみると、同じ問いを見ているにもかかわらず、
一人ひとり書き方が違います。
自分のアルゴリズムを見せ合った後、
「こういう書き方をすると、効率的なアルゴリズムになるのか…新しい!」
「この処理を入れるのを忘れていたな」と、さまざまな発見もあった様子。
お互いにレビューをしあうと、より効率的で簡潔なアルゴリズムのポイントが
わかるのでとても良いですね。
講師も、ブレークアウトセッションを見て回りながら、
気づいた点をフィードバックします。
受講者のなかで、分かりやすいアルゴリズムを書いた人に、
どんな論理になっているかも紹介してもらうシーンもありました。
なかには、理解に苦しみながらも、なんとか書いてみた、という人もいました。
(一年前の自分を思い出します…)
プログラミング言語によって、比較演算子の書き方にもルールがあります。
しっかり覚えておきましょう。
配列、変数の初期化などプログラミングに慣れていない人にとっては、
難しい概念が多いかもしれませんが、着実にエンジニアへの道を歩んでいます。
引き続き、外出自粛の週末を迎えますが、しっかり基本を復習して、
来週から学ぶことになる、難易度の高いアルゴリズムに臨んでいただきたいですね。
今週もお疲れさまでした!