VTRyo Blog

一歩ずつ前に進むブログ

Aizu Online Judgeのプログラミング入門を完走した

プログラミング入門してきた。

Aizu Online Judgeとは

onlinejudge.u-aizu.ac.jp

オンラインジャッジは、提出されたプログラムの正しさとその効率の自動判定を行うWEBサービスです。 たくさんの問題が収録されており、24時間自由に自分のペースでプログラミングを学ぶことができます。

今回ずっと解いていたのは、コースページの一番最初のところ。

Hello worldから始まって、配列や文字列、数学関数ときて構造体まで一通り学べるようになっている。

ちなみに入門だけで44問ある。

  • 入門
  • 条件分岐
  • 繰り返し処理
  • 計算
  • 構造化プログラムI
  • 配列
  • 構造化プログラムII
  • 文字
  • 文字列
  • 数学関数
  • 構造体とクラス

f:id:vtryo:20211007212100p:plain

なんでプログラミング入門したの

なんでっていうと特別すごい理由はないけれど、「実務でふんわり使っただけで基礎わかってない」という気持ちがあったので、パズルを解く感覚で知りたかった。

しかし入門と侮るなかれ、数学関数は高校数学で習った(はずの内容だが全く覚えていない)ので復習する必要があった。

なお数学アレルギーのある人は、この本で抵抗をなくすと良い。

blog.vtryo.me

数学に関する復習は、コグニカルでかなり賄える。このサイトが学生時代にあれば……(あってもやってなさそう)

cognicull.com

最初はただコードを書くだけ書いて進めていたのだけど、途中から「せっかくだし草生やそ」と思ってGithubに上げだした。人に見せるようなキレイな代物ではないけど、興味があったら覗いてみてね。

自分が数年後に見た時に「うわこの頃のコード汚ね〜」と笑うために残してると言っても良い。

github.com

成果は後になって実感することになりそう

数学パズルみたいな問題が多いとは思うけれど、「配列を駆使するだけで結構データ加工っていけるんだな」とか「こうやって考えれば処理できるのね」とか「このデータ数なら全探索でおk」みたいな、そういうセンスが養われていった。

そもそも1〜2年くらい前まで「配列ってなんですか」みたいなこと言ってたので、こういうのはやっておいて損がない。

これを完走することでパーフェクトプログラミングマンになるとかではもちろんなくて、これを土台にいろいろ考えていこうな!っていうセンスの下地が鍛えられるイメージ。

そう、これは入門なのである

おわりに

Aizu Online Judgeはプログラミング入門コースの他に、アルゴリズムや計算機何学などなどいろんなコースがあるので、時間があるときに進めようと思う