コンピュータサイエンスを学ぶことにしました

Uncategorized

コンピュータサイエンスを学ぶことにしました

Reactと、React周りのツール(NodeやMongoDBなど)勉強を開始して三か月が経ちました。

できることが増えていく喜びと、新しいことを学べる刺激を感じながら今まで過ごしてきました。

しかし最近その喜びが少しずつ減っていってるように感じてきました。

技術者として自分のことを称するにはまだまだ学ぶべきことは多くあり、悩むには早い気もしますが、

今学んでいることは果たして10年後も生きていることなのかとふっと疑問に思い、
コードをググってコピペしてきたり、似たツールの学習に時間をさくごとに、その疑問が大きく膨らんでいきました。

なによりプログラミングでどの瞬間が自分にとって一番楽しいかといったら、コードを書くこと自体というよりは、問題を見つけ解決した瞬間です。

プログラミングはあくまでも手段。

もちろん手段となるツールに慣れることは大事なのですが、もっと基礎体力的なものをつけておきたいなと。

そんなモヤモヤしていた時にこの記事を見つけました。

コンピュータサイエンスってなんだろう

コンピュータサイエンスへの10の誤解

そこで印象的だった部分を抜粋します。

コンピュータサイエンスを学ぶことにしました

Reactと、React周りのツール(NodeやMongoDBなど)勉強を開始して三か月が経ちました。

できることが増えていく喜びと、新しいことを学べる刺激を感じながら今まで過ごしてきました。

しかし最近その喜びが少しずつ減っていってるように感じてきました。

技術者として自分のことを称するにはまだまだ学ぶべきことは多くあり、悩むには早い気もしますが、

今学んでいることは果たして10年後も生きていることなのかとふっと疑問に思い、
コードをググってコピペしてきたり、似たツールの学習に時間をさくごとに、その疑問が大きく膨らんでいきました。

なによりプログラミングでどの瞬間が自分にとって一番楽しいかといったら、コードを書くこと自体というよりは、問題を見つけ解決した瞬間です。

プログラミングはあくまでも手段。

もちろん手段となるツールに慣れることは大事なのですが、もっと基礎体力的なものをつけておきたいなと。

そんなモヤモヤしていた時にこの記事を見つけました。

コンピュータサイエンスってなんだろう

コンピュータサイエンスへの10の誤解

そこで印象的だった部分を抜粋します。

コンピュータサイエンス。それは、
・社会や自然界の事象を「情報の動き」として表現し、その特徴を探る
・実現したい事象を、「実現すべき情報の動き」として表現し、それを実際に実現する仕組みを作る
という大きく2つの活動から構成されていると言えるでしょう。

プログラミング教育への関心が高まっていますが、プログラミングとコンピュータサイエンスは全く別物です。というか、プログラミングはコンピュータサイエンスの中の小さな一部に過ぎません。

アプリやソフトウェアを作るスキルはもちろん大事ですし、それらをうまく作れるようになるには訓練と研鑽が必要です。多様な開発ツールやプログラミング言語、ミドルウェアやクラウドサービスなどを組み合わせて、新しいアプリを作ることは社会にとっても個人にとっても大事なスキルです。

しかしそれは、料理を作る人が料理研究をしているとは言えないように、アプリを作るからといってそれはコンピュータサイエンスではありません。

ただ、「アプリを作る」「ソフトウェアを作る」という作業自体を「情報の流れ」として捉えて研究する「ソフトウェア工学」は、コンピュータサイエンスの重要な構成要素の一つです。

プログラミングはまさに、「コンピュータを動かす情報」を作りだす活動で、コンピュータサイエンスの必須スキル、とても大事なスキルです。

自分なり解釈すると、「コンピュータサイエンスでは森羅万象を情報としてとらえて、その情報に対して行う処理の指示書を作る行為がプログラミング」

自分で言っていて混乱しましたが、プログラミングと言う武器をうまく使おうと思ったら、敵や武器の特徴を知っておくことは大事で、
コンピュータサイエンスではそういったことが学べる分野なんだと思いました。

まさに今自分が学びたいと思っていた内容です。

肝心な内容の中身はアルゴリズムや電気・回路など難しそうなものが並びますが、その中でもなじみやすそうなプログラミング言語のCやPythonも含まれていました。

まずはPythonから入って、後は興味がおもむくままに学習していきます。

プログラミング教育への関心が高まっていますが、プログラミングとコンピュータサイエンスは全く別物です。というか、プログラミングはコンピュータサイエンスの中の小さな一部に過ぎません。

アプリやソフトウェアを作るスキルはもちろん大事ですし、それらをうまく作れるようになるには訓練と研鑽が必要です。多様な開発ツールやプログラミング言語、ミドルウェアやクラウドサービスなどを組み合わせて、新しいアプリを作ることは社会にとっても個人にとっても大事なスキルです。

しかしそれは、料理を作る人が料理研究をしているとは言えないように、アプリを作るからといってそれはコンピュータサイエンスではありません。

ただ、「アプリを作る」「ソフトウェアを作る」という作業自体を「情報の流れ」として捉えて研究する「ソフトウェア工学」は、コンピュータサイエンスの重要な構成要素の一つです。

プログラミングはまさに、「コンピュータを動かす情報」を作りだす活動で、コンピュータサイエンスの必須スキル、とても大事なスキルです。

自分なり解釈すると、「コンピュータサイエンスでは森羅万象を情報としてとらえて、その情報に対して行う処理の指示書を作る行為がプログラミング」

自分で言っていて混乱しましたが、プログラミングと言う武器をうまく使おうと思ったら、敵や武器の特徴を知っておくことは大事で、
コンピュータサイエンスではそういったことが学べる分野なんだと思いました。

まさに今自分が学びたいと思っていた内容です。

肝心な内容の中身はアルゴリズムや電気・回路など難しそうなものが並びますが、その中でもなじみやすそうなプログラミング言語のCやPythonも含まれていました。

まずはPythonから入って、後は興味がおもむくままに学習していきます。

コメント

タイトルとURLをコピーしました