こんにちは。倉内です。
ITエンジニアとして働く上で、プログラミングなど開発に関する知識とは別に、コンピュータサイエンスについて学びたいという方もいると思います。
大学で工学系や情報系を専攻した方は授業で学ぶ内容ですが、そうでない場合独学で学ぶのは少しハードルが高い分野でもあります。
特にコンピュータでデータを扱うときの基数変換(10進数から2進数など)や論理演算といった、数学にも関係してくる範囲は苦手意識のある方も多いのではないでしょうか。
そこで今回は、そのあたりの範囲をカバーした、paizaラーニングの新講座「情報処理入門 テクノロジー編」をご紹介します。動画と演習課題で着実に身につけていきましょう!
paizaラーニングの「情報処理入門」講座について
現在、情報処理入門シリーズでは、「テクノロジー編」の他に「マネジメント編」「ストラテジ編」「アセンブラ言語編」を公開中です。
「マネジメント編」はプロジェクトマネジメントやITサービスマネジメントについて、「ストラテジ編」はシステム戦略と企業活動について学ぶことができます。
「ストラテジ編」は以下で詳しく紹介していますので、よければ参考にしてみてください。
また「アセンブラ言語編」では、アセンブラ言語*1を使用してコンピュータの動作原理を学びます。今回紹介する「テクノロジー編」を学習したあとに取り組んでみるとより理解が深まると思います。
ちなみに、いずれも基本情報技術者試験の出題範囲の勉強としても役立ちます。
「情報処理入門 テクノロジー編」について
そもそも「コンピュータサイエンス」って?
コンピュータサイエンスは、一概には言えないくらい広い範囲の分野を指していて、分類もさまざまで、実のところとてもここでは説明しきれません。
たとえば、コンピュータシステムやソフトウェア工学、人工知能、自然言語処理、計算理論やアルゴリズム、コンピュータグラフィックスなど多岐に渡ります。
その中でコンピュータシステムの基礎にフォーカスした講座が「情報処理入門 テクノロジー編」です。コンピュータシステムには、コンピュータを構成するハードウェアやソフトウェアの仕組みについて、加えてネットワークやデータベースなどにも言及する場合もあります。
テクノロジー編で学べること
この講座では、基数、基数の変換、数値の表現、算術演算と精度など、コンピュータで扱う数値表現を学習します。
また、コンピュータの種類と構成、データベース管理システムの目的と代表的な機能、ネットワークアーキテクチャの基本的な考え方と構成、情報セキュリティの目的と考え方についても学習します。
現在、2つのレッスンを公開しており、具体的な内容は以下の通りです。
レッスン01:コンピュータのデータ表現
チャプター詳細
1. コンピュータのデータ表現について学んでいこう
2. 基本的なデータの単位と接頭辞
3. 基数
4. 基数変換
5. 数値表現 - その1
6. 数値表現 - その2
7. 数値表現 - その3
8. 誤差
9. シフト演算
この中から、「基数変換」のチャプターを少し見てみましょう。
10進数から2進数への変換についての説明です。初めて基数変換を学ぶ方も分かりやすいよう、計算方法について詳しく解説しています。
エンジニアはコンピュータサイエンスを学ぶべきか
少し余談にはなりますが、ときどき話題になるテーマでもあるので触れておきたいと思います。
まず、開発系のITエンジニアに必要なコンピュータサイエンスの範囲は、さきほど挙げた中で言うとコンピュータシステムやソフトウェア工学、アルゴリズムあたりでしょうか。
ITエンジニアと言っても業務内容は多様なので一概には言えませんが、たとえば先行開発・研究開発に近いような分野ではそういった知識が必須だったり、逆に手を動かして何かを作り出すことが求められるのであれば実務をする上では必要なかったり、あとは何よりもこれから学ぶには難しいし、忙しくて時間もないし…とさまざまな考え方や意見があると思います。
自身で考えてみる際の材料として、いくつか紹介します。
なぜ、プログラミングではなく「コンピュータサイエンス」なのか|shinya|note
筆者はアメリカで日本とは異なり、コンピュータサイエンス(記事中ではCSという表記も)が重要視されている状況を目の当たりにしたといいます。
ただ、「初心者にCSの重要性を理解してもらうのは簡単ではなく、エンジニアになってはじめてCSの重要性に気づくパターンがほとんど」とも書いています。エンジニアを目指す人全員が必須で学ぶべきものでもないと言ってしまうこともできますが、「コンピュータサイエンスを学習することで、アドバンテージが生まれる」という見方もしています。
もちろんコンピュータサイエンスは、簡単にかつ短時間で身につけられるものではないとしながらも、これから学んでみようと思っている人の背中を押すような内容です。
続いては書籍です。教養としてというタイトルのとおり、本格的な内容の前段としての基礎を学べる1冊となっています。
この第2版は、2022年4月28日に出版されたばかりで、第1版の「ハードウェア」「ソフトウェア」「コミュニケーション」の3部構成から、第2版では「データ」が新設され4部構成となりました。
「学んでみたいけどなかなか手が出せていない…」という方は、この書籍から始めてみてはいかがでしょうか。
開発系のエンジニアにとっては、やはりプログラミングやフレームワークについて学ぶほうが業務への直結はすると思います。ただ、コンピュータサイエンスを学ぶ意欲や機会があるのであれば学んで損はないでしょう。
paizaラーニングでは、PythonやC#、Javaなど主要なプログラミング言語はもちろん、人気の高いWebフレームワークやSQLまで学べる講座も多数公開していますので合わせてご活用ください。講座一覧はこちら
まとめ
コンピュータシステムの基礎を学べる動画講座「情報処理入門 テクノロジー編」をご紹介しました。
特に理系ではない方にとっては、あまり馴染みがなかったり苦手意識があったりする分野でもありますが、きちんと押さえておくとITエンジニアとして仕事をする上で役に立つ場面もあります。
また、本文でも紹介したとおり、基本情報技術者試験の勉強としても活用していただけます。情報処理入門シリーズの他の講座と合わせてぜひ受講してみてください。
「paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。
詳しくはこちら
そしてpaizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。
詳しくはこちら
*1:アセンブリ言語とも。講座では、情報処理技術者試験で利用されているアセンブリ言語のCASLⅡと仮想計算機のCOMETⅡを使う。