プログラミングに興味を持ち始めたばかりの頃、何から始めたら良いのかわからず、ただ手探りで進めていた。かつて3回ほど挫折し、諦めようかと思っていた。
「毎日少しずつ努力することが大きな変化を生む」
こういう絵空事はよく聞く。これは本当にそれは真実なのだろうか?この記事では、100日間のチャレンジの結果と、それが私にもたらした変化を公開する。
「100日チャレンジ」企画について
10月28日、私はこの企画、「100日チャレンジ」を行った。
この企画のルールは以下の通り
・毎日プログラムを書くこと
・作ったゲームやツールをX(https://x.com/Luna_SE_Jp)に投稿すること。
・投稿は毎日(休日、祝日、年末年始含む)行い、100日間連続で行うこと。
なお、途中までは画像で投稿しているが、Day15より動画で投稿している。
始めた時の学習者の状態
10月27日時点での私の状況はこのような感じだった。
学習者の企画以前の能力
・Pythonを100時間程度使っていた。
・ChatGPTをプログラミング以外の領域で800時間使っていた。
企画を始める上での動機
・1月に学会発表(NWS研究会)が決まっていた。
・6月の学会の継続研究を進める上で、プログラミング能力が必要だと感じていた。(結果的にこれ自体が継続研究となった。)
Pythonのスキルが上がれば、「何か」が変わるかもしれない、という希望が私の中であった。そのため、学習過程自体を企画にして周りに見てもらおうと思い、SNSで企画を始めた。
ところで、「ChatGPTをプログラミング以外の領域で800時間使っていた。」と書いてあるけど、何に使っていたの?
レポートや宿題をサボるために、採点者にChatGPTを検知されないような文章を書く方法を探していたよ。
1本目の投稿
day1はオセロを作った。仕様は以下の通り。
・環境:Colaboratory
・言語:python
・ライブラリ:matplotlib
・1枚ずつ画像を出力することで、ゲームができるようになっている。
なんで1枚ずつ出力させているの?画像を更新できないの?
Web上の環境だから、融通が効かないんだよね。ただ、day4からは出すものに困ってローカルを使っているよ。
100本目の投稿
day100は、day1との比較のため、再度オセロを作った。
・環境:ローカル
・言語:Python
・ライブラリ:Pygame
・オブジェクト指向、デザインパターン、様々な設計技術など、ソフトウェア工学を用いている。
背景や石の反転が動いてる!
反転処理綺麗だよね!(ソフトウェア工学と線形代数を組み合わせた、950時間の努力の結晶)
結果
私は100日間、950時間かけて、100個のゲームやツールを作成した。さらに、ソフトウェア工学をも学習することができた。
※この企画は元々研究等でプログラミング能力が必要だと思って始めたが、途中からこれ自体が研究として扱われるようになった。
その後、国際学会での発表、某SIerへの就職(教授推薦)、招待講演など、様々な活動でここで得た知識を活用している。
コメント