今回は、システムエンジニアの基礎、プログラミングの書籍を紹介します!
プログラミングは奥が深いです。求められる要件によって必要なスキルは大きく変わり、効率を突き詰めれば極力ソースコードを削減できる一方で、複数人で行うプロジェクトでは可読性が重要視されます。プログラミングの勉強においても、しっかりとした設計から学んだり、APIの使用法をメインに学んだりなど、やりたい事によって様々です。
今回紹介するのは「アメリカの中学生が学んでいる 14歳からのプログラミング」になります。
この書籍は、本屋で見つけました。タイトルに惹かれ何気なく手にとり、子供騙しの書籍かな?とパラパラと流し読みをしてみたところ、意外と内容の奥が深く、大人が読んでも深いと感じました。
システムエンジニアの仕事を学んでみたい方にオススメです。
概要
この書籍では、コンピュータプログラミング思考を学べます。コンピュータとは何かやシステム開発の流れ、そしてプログラムの基礎(変数や条件文、ループやプロシージャ)を学びます。
それに付随してデータ分析や、READMEの作り方や必要性も学びます。またWeb系の開発や、子供達の間で流行っているScratchの章もあり、幅広く学べるのが特徴です。
オススメのポイント
この本は、プログラミング以外の、エンジニアに必要な要素についても学べます。
初心者向けの書籍は多々ありますが、大抵はプログラミングに重きを置き、ソースコードの書き方の説明が大半です。私が驚いたのは、READMEの作り方についても書かれているところです。製品開発をしている身にとって、READMEは非常に重要なことは重々理解していますが、疎かにされがちなのも事実です。そこからしっかり説明しているのは、非常にすばらしいです。
また、統計・データ解析を学べることもすばらしいです。AIエンジニアを目指すならば、必須のスキルです。
また、14歳からというタイトル通り、非常に、分かりやすいです。図や記述を工夫し、内容説明も噛み砕かれています。そして各章の最後には理解度チェックもあり、復習もバッチリです。
次からは、各章の内容を少し説明します。
コンピューティングシステム
この章では、まずコンピュータとは何かを学べます。
コンピュータ自身がどういったものかや、どうやってコンピュータに指示を出すかなど基礎を知ることができ、誰もが思う素朴な疑問を解消します。
また、コンピュータの歴史やデバッグについても分かりやすく記載されています。デバッグ方法はあっても、デバッグの意義について入門から説明している書籍は珍しいですね。
++コンピュータ科学って何? ++コンピュータって何? ++どうやってコンピュータとやり取りするの?
データ分析
この章では、データの扱い方について学べます。
データの入力と出力や、エンコードとデコードについて記載されています。分かりやすく画像のエンコードの例が書いてあり、理解度チェックでも触れています。
また、インタビューなどで収集した情報をデータとして活用するために、折れ線グラフや棒グラフ、円グラフにまとめることも記載されています。AIもデータが命なので、その重要な基礎を学べて良い感じです。
++情報を保存する ++情報を収集して利用する
ソフトウェアエンジニアリング
この章では、コンピュータシステム開発の流れについて学べます。所謂ウォーターフォール型の開発になります。
課題を洗い出す要件定義、設計、実装、テスト、バグ修正までの流れが記載されています。更にテストの大事なポイントやソースコードに入れるコメント、READMEについても語られています。
また、開発後のフィードバックや、OSSでも良くある共同作業にも触れられています。
++コンピュータシステムを設計する ++テストする ++ドキュメントを作成する ++フィードバックを取り入れる ++共同作業する
アルゴリズムとプログラミング
この章では、プログラミングの概念を学べます。
アルゴリズムとプログラミングの違いやプログラミング言語とは何かを学べたり、フローチャートやバイナリについても学べます。ここだけでも意外に内容が濃く、事前知識のある私からみてもよく説明されていると感じます。
++アルゴリズムを使う ++プログラミング言語 ++コンピュテーショナル思考
プログラミングの基本
この章では、プログラミングの基礎を学べます。
特定の言語で書かれているわけではなく、模擬言語で説明されています。内容は、変数や条件文やループ、イベントについてですが、分かりやすい説明になっています。
また、プロシージャについてまで記載されていて、プログラミングの考え方が身に付きます。
++変数 ++条件文 ++ループ ++イベント ++プロシージャ
Scratchでのプログラミング
この章では、子供達の間で人気のScratchを学べます。
Scratchはグラフィカルなプログラミング言語で、ブロックを置いてプログラムを作ります。またブロックを組み合わせたスクリプトについても説明されています。
この書籍の内容をひと通りやれば、Scratchで動作させられます。子供でも簡単ですね。
++Scratchを始めよう ++基本的なアルゴリズム ++データと演習 ++「制御」ブロックと「イベント」ブロック ++スクリプトを使い回す
Pythonでのプログラミング
この章では、Pythonによるプログラミングの基礎を学べます。そしていつもの”Hello, World!”から始まります。そして基本的な文法を学びつつ、Pythonの便利なところ、リストについても学びます。更には関数についても説明されており、基本的なことは十分な印象です。
C言語からスタートした私は、Pythonの文法はインターネットの情報をかいつまんだりして学んでいましたが、改めて基礎を見直すにはちょうど良いと感じます。
++Pythonを始めよう ++Pythonの変数 ++文字列 ++数値の変数 ++リストと論理式 ++forループ ++whileループと入れ子ループ ++Pythonの条件文 ++関数
ウェブ開発
この章では、ウェブでの開発方法を学べます。
インターネットとは何?でLANやプロトコルについても学べます。また、サイバーセキュリティや、ウェブページの作り方としてHTMLやCSSについても説明されています。こちらも基本的なことは十分に説明されている印象です。
++インターネットって何? ++サイバーセキュリティ ++基本的なウェブページをつくる ++HTMLのテキスト要素 ++リンク要素 ++CSSを使ってスタイルを変更する ++CSSを使って要素のスタイルを変更する
まとめ
以上から、この本はプログラミングをこれから学ぶ方には非常にオススメの書籍です。
プログラミングの基礎だけでなく、付随する事象も学べますし、何より興味関心が湧く内容です。
もし、漠然とプログラミングに興味を持っている方がいたら、まずはこの本からスタートするのが良いと思います。
また、アメリカの中学生が学んでいるシリーズは複数ジャンルであるようです。レビューをみても高評価なので、プログラミング以外も読んでみたいと思います。
アメリカの中学生が学んでいる14歳からの数学
アメリカの中学生が学んでいる14歳からの科学
アメリカの中学生が学んでいる14歳からの世界史
ChatGPTのレビュー
「アメリカの中学生が学んでいる 14歳からのプログラミング」のレビューを書いて。
私は、「アメリカの中学生が学んでいる 14歳からのプログラミング」についてレビューを書きます。
この本は、アメリカの中学生向けに作られたプログラミングの教科書です。初めに、基本的なプログラミングの概念や数学的な内容が解説されます。その後、「Scratch」と呼ばれるビジュアルプログラミングツールを使って、簡単なプログラムの作り方やアルゴリズムの設計方法を学びます。
本書は、初心者向けに丁寧に説明されているため、初めてプログラミングを学ぶ人でも理解しやすく入門できる教科書と言えます。また、「Scratch」は直感的に操作できるため、プログラム初学者でもストレスなく学ぶことができます。
プログラミング教育の必要性が高まる中、こういった教科書が広がっていくことは素晴らしいことだと感じます。プログラミングを学びたい中学生やプログラミング教育に興味を持つ方におすすめできる一冊です。