見出し画像

000 アルゴリズム的思考が身につく!プログラミングコンテストAtCoder入門

#004_001_000  アルゴリズム的思考が身につく!プログラミングコンテストAtCoder入門(2022)

■目次

監修者のことば
まえがき
本書の進め方
第1章 AtCoderとは
第2章 AtCoderの始め方
第3章 初級編~ここからスタート!~
第4章 中級編~典型を徹底マスター~
第5章 計算量
第6章 上級編~本格的なアルゴリズムの世界へ~
レベルアップのためのガイドブック
あとがき
コラム

■著者について

●大槻 兼資:1988年生まれ。2014年東京大学大学院情報理工学系研究科修士課程修了。修士(情報理工学)。現在、株式会社NTTデータ数理システム顧問、株式会社アルゴ式執行役員(共同創業)。アルゴリズムをはじめとしたコンピュータサイエンスの諸分野の啓蒙活動に従事。

■監修者のことば

 AtCoder株式会社代表取締役高橋直大氏から著者である大槻兼資氏がこれまでアルゴリズムに関する教育コンテンツに大きく貢献してきたことに触れている。高橋氏が評価する本書のポイントは以下の通り;
①初心者が挫折しないための丁寧なポイント説明
②競技プログラミングを始めるうえで知っておきたい知識の丁寧な説明
③AtCoderで実際に実行して正否を確かめることが可能な練習問題の掲載

 また本書をすすめたい読者層にも触れている;
①競技プログラミングやAtCoderに関心のある人
②学校やプログラミング言語入門でプログラミング学習に触れた人
③②の次のステップとして何をすればいいか分からない人

■まえがき 

■本書の対象読者

・AtCoderでアルゴリズムを学びたい人
・AtCoderのコンテストに参加したい人
・多少のプログラミング経験者

■本書の元となった記事

■本書の進め方

■本書の構成

◆各章の構成
中心となるのは以下の3章。
3章:初級編
5章:中級編
6章:上級編

トピックの概説例題解説練習問題
トピックに慣れ、柔軟な思考を要する応用問題への適用を想定している。

◆本書で使用する言語
①AtCoderで使用可能な言語

C++
Python3
RRust
Kotlin
Swift
等様々な言語が可能
②本書
C++
Python3

◆本書を読むのに必要な予備知識
 
多少のプログラミング経験があって、これからAtCoderへ参入しようとしている人を対象としているがAtCoderについてほとんど知らない人も、最終的にはAtCoderを楽しめるようになることを目指している。
 プログラミング経験がない人も問題を順に解くことでムリなく言語の文法に慣れていけると想定されている。

◆プログラミング環境の準備
 プログラミング環境は読者の好みに応じて構築できるが、オンラインエディタ「コードテキスト」がAtCoderで用意されているので、プログラミングを初めて学ぶ人や環境の構築が難しいと感じる人にはプログラムの動作を実際に確認できるので活用するとよい。具体的な使い方は2.3節に記載。

■総評

 本書の目的はAtCoder初心者の手引書的な役割がある。注意点は、AtCoderが指定された問題を解決するためのアルゴリズムを考え、求められた結果を出すプログラムを構築し、提出することで処理時間と構築したプログラムの正否によって順位やランクを競う競技であること。アイデアを出したり、製品を作成するのではなく、あくまで手順というアルゴリズムにこだわった内容である。
 読み始めて感じたのは、42TokyoのPiscineを検討している方はC言語の書籍を1冊終えた後にこの1冊をやるのも良いと思った。プログラミングの初学者にとって与えられた問題の意味を読解できない理由にこの問題→アルゴリズムの構築→プログラミングの思考回路が出来ていないことが1つ挙げられるだろう。少なくとも私はそう実感した。Piscineを通した後に読んだからなお理解しやすいと感じたのかもしれないが、求められる過程は同様なので武器(C言語)を手にしたら、戦い方(アルゴリズム)を構築する練習をするとますますプログラマーの世界に浸れるだろう。
 まだ序盤だが読みやすさを感じさせるほど著者がこれまでにQiitaで投稿し続けてきたこれまでの功績がうかがえる。

この記事が気に入ったらサポートをしてみませんか?