社会人プログラミング勉強法が受験勉強と大差なかった件

データー

おはよう、しゃしゃ。
私はゲームやサウンドノベルを作っている。

ゲームはホラーアドベンチャーであり、
サウンドノベルは文章とイラストと音楽が必要だ。

ホラーゲームを作る際、思い通りにキャラを動かすには、
適切な処理(プログラミング)を行わねばならぬ

さっき調べたところ受験勉強科目にも「プログラミング」が追加されるそうだ。
(一部の大学のみ)

プログラミングを受験科目として選んだ場合、
どうすれば時間内に正解をもらえるのだろうか?

そもそもプログラミングの学習法ってなんだろう?

実際の処理方法を見ていけば適切な学習にもつながる。

 

ゲームプログラミングから学ぶ適切な問題処理法

2か月間悩ませたプログラミングがある。
それぞれの敵に攻撃を与えたのち、敵HPが0になったら消える

大学入試の試験でゲーム処理問題はまず出ないと思うが、
プログラミングくくりだと処理に大差ない。

「教科書」と呼ばれる本や動画を見ながら試行錯誤をこなし完成に至った。

教科書をただ読むだけではだめだ。
「何をしたいのか」をまずはっきりしなければならぬ。

ゴールの設定をきちんと定める。

定めているようで実はあいまいに捉えている。
だからゴールへたどり着かず悩んでしまう。

ゴールを決めたら次はゴールにたどり着くまでの、
大まかな計画を立てていく。

計画とは

  1. 定義+必要な情報
  2. 条件分岐
  3. 条件処理

3つを大まかに定めていく。

計画を立てていけば後は計画通りに処理を行う。

処理を行う際とても重要な視点がある。
プログラミングの言語と役割をきっちりつかんでいるか?

例えばウディタプログラミングだと、
DB読込と可変DB書込はどんな違いがあるか?

受験で使うプログラミング言語の基本、
数学でいうところの定義や定理をつかんでいないと、

「何をどうすればいいか」わからず答えに詰まる。

受験でプログラミングが出た際、パソコンを前に処理を行うのか?
マークシートで処理を行うのか?

現時点の私にはわからないけれど、
言葉の定義及び使い方を知らねばプログラミングで処理できる状態ではない

 

プログラミングの勉強は受験数学+物理と同じ

プログラミングの勉強は基本、数学や物理と同じだ。

  1. プログラミング言語の基本を押さえているか?→聞かれたらすぐ答えらえるか?
  2. ゴールを定めているか?→どんな動きや結果を作りたいのか?
  3. ゴールからスタートまでの過程を捉えているか?→計画を大まかに立てて試行錯誤できるか?

数学や物理の勉強と変わらない。

数学の勉強において、練習問題をひたすら解けばいい。
教科書を大まかに読んだ後はひたすら問題を解く。
ひたすら復習をしていけばいい
……考えがちだ。

数学の応用問題は練習問題をたくさん解けば、
ある程度まで解けられると思うのだけど、
土台に教科書の知識を完璧に入れてなければ無理だ。

練習問題ばかり(プログラミング試行錯誤)をこなすのも大切だが、
ある時点でペンとノートを用いながら、教科書をきっちり読む学習が欠かせない。

教科書を読むとは目で読む行為だけでない。

書いている内容をノートに書き写し、自分だけの教科書を創り上げる行為を示す。

今この記事を読んでいる時期が9月頃なら、
一端練習問題を解くのをやめて、教科書を学びなおしてごらん。

教科書に記載された基本語句を全部書きとる勉強してみるといい。

いかに基本単語や定義、公式までの成り立ちが頭に入らないか。
加えて数式や自然現象の成り立ちがいかに面白いか。

教科書の知識があれば問題を解く際、
必ず教科書の基本を頭に思い浮かべた状態でとく。

もちろん難しい大学(高校)は教科書を読むだけでは解けない問題があるよ。

だけど基本は教科書に書いており、
試験で一番躓く部分も教科書読込不足による知識の欠損だ。

欠損しなければ問題を解く時間に費やせられるが、
欠損があると焦りが生まれ、頭が真っ白になる。

プログラミングも基本、物理や数学対策だと思えば楽だよ。

 

なぜプログラミングに手書きノートが大切なのか?

プログラム学習

プログラミングは基本、パソコンで学ぶ。
パソコンだからこそ手書きでスクリプトを記す。

大まかでいいからノートにプログラミングの流れを、
簡単に書いておくと考えも広がる
よ。

ノートに書くとき「セルフ変数10」という部分を
「CS10」など自分だけがわかる言葉に変えればいいのだから。

プログラミングだろうとノートに書く作業が大切だ。

もちろんプログラミングだけでなくビジネス、
株や仮想通貨投資、イラスト他すべてに応用がきく。

ノートは書き写すばかりでなく、
書き写しながら気づいた視点や考察を書いておくと、
意外な視点に気づき勉強が面白くなる

パソコンを使うプログラミングだろうとノートは必須。

むしろパソコンを開く時間より、
ノートとにらめっこする時間をとるべきと考えている。

 

プログラミングは独学か塾か

私の場合、ウディタを扱う塾はなかった。
先人のプログラミング処理をもとに独学で仕組みを作り上げた。

ただウディタプログラミングを通し、
スクラッチやパイソンといったプログラミング教科書を読むようになった。

言葉の定義はわからなくても大まかな計算は同じだからさ。

一人でも耐えられる人は独学がいい。
意地っ張りで人の協力を拒む人も独学がいい。

もちろん独学だから情報も自分で仕入れなければならず、
どこにもない場合は絶望に浸る覚悟を持っておこう。

あまりお金をかけずにすむかわりに研究に時間を費やすよ。

最近の塾はネットで学ぶ講座もあるけれど、
宿題をこなすのが面倒でやってられない
(というか宿題も自分で見つける)なら独学がおすすめ

自分でやるより人に教えてもらった方が早いし楽なら塾を。

どちらを選ぼうとも構わない。

私は独学派でありプログラミングの一つ、
ウディタは塾がなかったので独学せざるを得なかった。

基本がわかるようになると応用もきくようになった。

基本を理解した後、アイディアをひらめき、
基本をもとにどうプログラミングを立てていくかになる。

わからないときはネットで調べていけばいいしね。

塾の場合は先生がいるから、
わからない場合は徹底して先生からアドバイスをもらう。

お金を払って教えてもらうのだから、元を取らないと意味がない。

アドバイスをもとに自分で組み立てて生きながら、
きちんとプログラムや基本単語の意味や使い方を学んでいかなければならないよ。

教えてもらっただけでは覚えないからね。
教えてもらた後にきちんと振り返るからこそ覚えるわけだ。

 

発達障害の弟にプログラミング学習をしてもらった

くびしめ

教える対象は子供だろうがおじいちゃんだろうがかまわない。
私は今ゲーム制作をしており弟と一緒にやっている。

弟には基本プログラミングを教えつつ、
わからないところがあれば私が手を出しプログラムを完成させ、
最後に弟へこう述べている。

「弟よ、〇〇するためのプログラミングを教えて」

言葉を通して振り返らせるのだ。

振り返っても忘れる場合があるので、
また自分が作りアドバイスし、弟に振り返らせる。

やっただけでは簡単に忘れる(私も含め)

ゲームはあくまでも「こういう設定をしたい」が目的であり、
忘れてもすでに作成したプログラムを見ればいい
だけだ。

だから基本忘れても問題はないのだけど……再び作るのに時間を要する。

時間が数分ならまだしもプログラミングの場合は最低30分ほどかかってしまう。

30分を思い出すために時間を要するなら、
すでにやり方を体に叩き込んでおけば30分が数分に縮む

結果、次やりたいことへの処理速度が上がるわけだ。

 

プログラミング学習ゴールは三つ

  1. 言葉の定義や役割を体に叩き込む
  2. アイディアを即形にしていく
  3. 思い出す時間を縮める

一番重要なゴールは「アイディアを即形」にするところで、
他の二つはストレス軽減対策につながる。

3つを通し、望むプログラムを作ってほしい。

 

日記:世界観がないとプログラミングはやってらんねーよ
あやのたん

インスタグラム似てイラストを上げています。
上記絵は現在制作中のサウンドノベルから一枚。

後でCGペイントソフトで描き創っていくのです。

現在プログラミングをもとにしたゲームはこちらでプレイできる。

プレイ:469(体験版)

ホラーゲームを作りたいという思いはあったが、
「自分の持つ世界を表現したい」が大きくゲームは手段でしかない。

もちろんプログラミングはゲームを表現するための道具だ。

道具を学ぶのはいい。だけどどんな世界観を表したいのか?
世界観は「お客様はもちろん自分も楽できるソフトを作りたい」でかまわない。

例えばATMへわざわざ足を運ばなくても、
スマホ一つでATMから現金を引き下ろせる世界観があればいいなあ~

なら目的は「スマホで現金を落とし、その場に現金が届く」
プログラミングを作ればいいわけだ。

芸術のゴールは商売であり、商売のゴールは芸術へとつながる

どんな芸術作品を作ろうとも最後は商売へ行きつくし、
どんな分野で商売しようと最後は商品が芸術品へと変わる。

階段でいう「行ったり来たり」の関係だ。

だからこそ問う。どんな世界観を表現したいのか?
表現がないとプログラミングの勉強はきついと考えているよ。

きついというか途中で「やらなくていいか」ってあきらめる。
別にあきらめてもいろんな道があるから歩めばいいのだけどね。

プログラミングの勉強をあきらめ徹底して商売人になったのち、
たくさんあるお金を使ってプログラマーを雇い、
自分の世界観を作っていく方法もある
のだからさ。

ちょっとまって

実際のプログラミング解説はこちら。

独学プログラミング?ウディタARPG(コモンイベント)講座1:装備装着

後プログラミング学習を単なる受験とみなせばこちらの本が役に立つ。

E判定からの大逆転勉強法/限界突破勉強法の考えが役に立った

がんばってね。

お願い

めがびちゃんからお知らせ♪

お知らせ

megabe-0へ訪問した"本当"の理由

まさか記事の書き形一つでこうなるとは…

お願い1

Writer軽い自己紹介

ティラノスクリプトや小説家になろう、ピクシブ他で物語を書きながら、 「私が気になった事件」の裏側を作家の視点で書いているおっさん。

プロフィール画像は自画像でなく、Megabe-0ブログのマスコット、めがびちゃん。

 

雷が苦手で、光を見ると頭が固まる(元から固い)。 月初めは墓参りと神社参拝を行い、賽銭箱へ1万円を入れた際、とても気持ちがすっきりした。

 

■ 簡単な自分史 ■

0歳:釧路のある病院で生まれる。暇さえあれば母乳を吸って、ご飯を4膳食べても体重が落ちるほど、母のダイエットにものすごく貢献したらしい

 

3歳:行方不明になり、全裸で海を泳ごうとしたところ、いとこのお姉さんに発見され、この世へ留まる

 

8歳:自分のお金でおもちゃのカードを初めて買い、経済を知る。なぜか父親に怒られ、家出するがすぐに見つかる。

 

12歳:学校で給食委員長になる。委員長として初めて全校生徒の前にて演説する際、原稿用紙を忘れてアドリブで笑いを誘いながらも何とかやり過ごし、多くの生徒に名前と顔を覚えてもらう。また、運動会の騎馬戦では変なアドリブを行い、多くの笑いを誘った。

 

18歳:初めて好きな人ができたけれど、告白が恥ずかしくてついにできず、別れたことを今でも根に持っている(妻となる人にははっきり言えてよかった)

 

21歳:大学在学中、アルバイトを始める。人手不足かつとても忙しい日々を過ごしながら「どうせなら自分から楽しいことをしていきたいなあ⇒起業って選択肢があるのか」働き方の選択肢を見つける

 

27歳:自分で作った会社がうまくいかず、一度たたんで都落ち。実家でとことん自分を責める日が続く。「何をやっても駄目だな、お前は」など。自分を責めても自殺ができず、体中から毒素があふれ出て苦しい日々を送る。寝るのも怖かった日々。

 

28歳:「このままじゃいけない」決心を決め、小学校からの勉強をやり直す。高校の勉強で躓きながらも、学び直すうちに「自分は何もわかっていなかったんだなあ」大切な教えに気づかされる。 加えて、小説やイラストなど「今までの自分が手を出さなかった分野」に手を伸ばしてみた。

 

29歳:「定義」と「自己肯定」こそが生き方を決めると気づかされ、不安な日々が起きても、心が強くなったと感じる。でも子供の誘惑にはめっぽう弱くなる。

 

35歳:人生初の交通事故(物損)に出会う。冬道の運転で車を上下に大回転(スピンではない)を体型氏、何とか命を取り留め、なぜ生きているのかわからない状態に陥る。

自分の生き方はすべて自分が握っている。わずかな瞬間にしか現れない「自分の真実」を表に引きずり出し、ピンチからチャンスを生み出す発想や視点をブログやメルマガ他で提供中。