近頃、プログラム言語系の科目で伸び悩みがあります。パソコンが好きという理由だけで「情報系」を選んでしまいましたが、やっぱり好きですから後悔はないです。
毎日、新たな発見があり成長するのはいいのですが、好きなものの真ん前で曇りがかってる膜を貼られているようでもどかしくなりますね…。
ただ趣味と勉強は交われないということは授業を受けていくうちに分かりますが、好きなものの範囲がピンポイントマッチしなければ知識を苦も無く吸い取るように蓄えていくことは難しいです。
専門学校で数学は必須か?
情報処理系の授業というのは、いろいろな分野の授業があります。「ソフトウェア系」「ネットワーク系」「データベース系」があり企業で少しでも役立ててもらえるように「書類作成」の資格対策の授業があり、重点を置かれる分野は「ソフトウェア系」です。
実は「数学」自体は情報処理系にあまり必要ないですが、プログラム言語を多く学ぶので物事を理論的に考える「数学脳」が学ぶにつれて必須になりますので「高校時代に数学の大学入試を頑張った」という人は専門学校を入学後、差が付けることが可能です。
実は「数学」をよく使う情報系の職種があります。
それは ゲームプログラマ です。
ゲームに関わる業種で、現在のゲームは3Dグラフィック化していてよりリアルに演出するために「空間」や「物理法則」を操り、利用することが必須で数学や物理の公式を考えながら作業します。
実際にゲーム系の学校だと「ゲームプログラマ系」で「ゲーム開発数学」という授業があります。
数学脳を使うプログラミング授業とは?
プログラミングの概念自体、難しいので分かりやすく説明するために「例題」を出します。
例題:「10」を出す式を5つ挙げなさい。
というのがあります。
「10」という答えを出すための式を5つ挙げるということで答えを書くと「1+9」「11-1」「5×2」「4×2+2」「4×4-6」というような感じになります。
この一つの例題にたくさんの答え方があります。その答え方を「アルゴリズム」と言います。答えを出すための手法ともいうのでしょうか。
プログラミングも希望となる結果(答え)を導き出すルーティングは人それぞれで、アイディア要素がありますね。私のクラスの人たちのプログラミングコードを見てみると大体3パターンぐらいで分けられてしまいますが…。
筆者の超えなければいけない数学的思考
前項で述べたような例題よりも実際のプログラミングは複雑化していて、より効率のいい結果の出し方が求められます。
今の私はあまり効率的かつ体系的にプログラムの全体像が見えるかという課題の壁に立たされているのです。
数学的思考の付け方
この本は、数学の思考というより「全体をどう捉えて効率化していくか」を考えていく理論パズル本になります。この本にでてくるパズルを解くことによって全体をとらえる力が高まり、レベルアップをしていくと「文章題」でも瞬間的にプログラムの全体像が見えてきます。
まとめ
数学は必要なくても
数学的思考と数学的想像力は必要です。
パソコンが好きなら「苦」には絶対にならないのですが、授業の難易度は日に日に増していくので無勉強を通せるかと言われたら「通せません」ので気を付けましょう。