🐣

中学生にAtCoderでプログラミングを教える記録 2回目 〜 AtCoder自体の説明

2022/08/11に公開

この記事の内容

ソフトウェアエンジニアが中学生の子にプログラミングを教えていく様子を記録する。この記事は2回目。コードを書く前にAtCoderとは何だという説明をした。

【前回の記事】
1回目は子の特性からのAtCoder選定への流れと、事前の環境設定の回。

3行で

  1. AtCoderでは毎週、コンテストが実施される。土曜21時。キミは初心者向けのコンテストに参加すればいい。
  2. コンテストに参加すると問題が出される。参加者は制限時間内にコードを書いて提出する。提出したものは採点される。いい点数を取るとランクが上がっていく。
  3. 急にコンテストに参加すると玉砕一択。まず過去問を解くことから始めよう。

AtCoderの紹介

AtCoderのサイトを見せながら説明をした。理解のため、端的に。

AtCoderで行われていること

  1. プログラミングをテーマに、毎週コンテストが行われる。問題が出題され、求められるコードを書いて提出する。得点がつき、順位が張り出され、ランクが決まっていく。各ランクの人数の割合や、実力の目安などを話した。

https://chokudai.hatenablog.com/entry/2019/02/11/155904

  1. 参加者の大半は情報系の大学生か、プロのソフトウェアエンジニアである。趣味のプログラマの人もいるし、中高生もいなくはないが、多くはない(と思う)。
  2. コンテストはレベルによって初心者向け、中級者向け、上級者向けがある。
    1. 初心者向け ABC…AtCoder Beginners Contest
    2. 中級者向け ARC…AtCoder Regular Contest
    3. 上級者向け AGC…AtCoder Grand Contest

これからどうアプローチしていくか

  1. 最初に挑戦するコンテストは初級者向けの ABC になるだろう。
  2. だが、突然参加してもやり方も分からないから、過去のコンテストの問題を解くことから始めよう。
  3. 各コンテストはA〜Fの6問あり、簡単なものから並んでいる。
  4. まずABCの各回のA問題だけを解いていき、慣れたら少しずつB問題にも挑戦しよう。

構築した環境を見せる

AtCoder のサイトから過去のコンテストをひとつ選び、それのA問題をVSCodeを使って取得、そこからコーディング・デバッグ・テスト・提出までの流れをデモっぽくやってみせた。

デモの間、やってみせながら、「これと同じ操作してみて」と言って、Macの操作やコマンドラインの入力などを教えた。また、Pythonのコードを見せながら口頭で説明した。

🖥 コマンドライン

  • cd = change directory = 自分がいまいるディレクトリ(フォルダ)を変更する
  • ls = list = ディレクトリの中身に何があるか表示する
  • pwd = print working directory = いまいるディレクトリを表示する

🍏 Macの操作

  • アプリを起動する…トラックパッドを4本指でつまむとアプリ一覧が表示される
  • 今動いてるアプリは?…Command(⌘)+TAB(→|)で一覧が表示される。切り替えられる

🐟 VSCode

  • ここでコードを書いて、ステップ実行ができます、ということを理解

🐍 Python

  • 入力された文字列を1行取ってくる…input()
  • 文字列を空白で区切って配列にする…'文字列'.split()
  • 配列の要素全部に同じ関数を適用する…map(int, 配列)
  • それを変数に代入する… X, Y = map(int, 配列)

いずれも「いま覚えようとしなくていい」と言ってある。今後、何度もやることばかりだ。何度かやっているうちに、覚えようとしなくても覚えるだろう。

初回レクチャーはこれで終わり。まだ1行もコードを書いていないが、遅すぎると思うくらいのスピードでいいのだ。少しずつだ。

【次の記事】
初めてAtCoderの課題の解答のコードを書いてみる中学生の回。

Discussion